Devnet β Mainnet
SportsPerp has been live on Solana devnet since early 2026. Mainnet is targeted before June 12, 2026 β the kickoff of the 2026 FIFA World Cup. This page documents whatβs done, what remains, and the order of operations.
Current state (as of 2026-05)
| Component | Status |
|---|---|
| On-chain program | Deployed β 30 instructions, ~710 KB, 7 PDA types, 47 error codes, 13 #[event] structs |
| Markets live | 68 (20 teams + 48 players) |
| OBV engine | Running β 5-min crank + live overlay on the partnerβs live event feed + Python obv-engine sidecar (XGBoost PV-GF/PV-GA) |
| Oracle pusher | Deployed (single-source; multi-source 2-of-N built, not deployed) |
| Trigger keeper + funding crank | Deployed |
| Liquidation bot | Deployed |
| Monitoring | Deployed β Telegram alert webhook (NanoClaw) not yet wired; alerts queue to disk on Hetzner until configured |
| Trade-history indexer | Live since 2026-05-11 (decoder wired; Anchor EventParser + BorshCoder against the regenerated IDL). Exposed publicly at https://api.sportsperp.xyz/indexer/* via Caddy handle_path; frontend Trade History panel ships on /portfolio |
| LiveβREST ID bridge | Phase 2 verified β V2 cutover applied on Hetzner 2026-05-10 (ENABLE_REALTIME_OBV_V2=true, SHADOW_REALTIME_OBV=false); Phase 3 verification timer fires every 15 min Sat/Sun 10β22 UTC |
| Insurance fund | Live β 20 K USDC, 50 K max exposure, 10 K target |
| Liquidity pool | Live β singleton global pool (replaces per-market vaults) |
| SDK | Published β @sportsperp/sdk@0.1.0 |
| Frontend | Deployed on Vercel β app.sportsperp.xyz (Caddy reverse proxy at api.sportsperp.xyz) |
| Self-audit | Complete β 17 findings (1 Critical + 5 High, all fixed), plus Apr 2026 fix sweep (S4-01 LimitOpen expiry + 5 additional + 2 bonus) |
| External audit | Pending β engagement with two Solana-specialist firms targeted before mainnet |
Detail on every item: PRD.md Β§14 Roadmap.
What βmainnet-readyβ means
Nine gates must close before mainnet:
1. External security audit (engagement pending)
Two Solana-specialist audit firms will be engaged before mainnet β names published here once engagement letters are signed. Scope: full on-chain program, oracle pipeline, SDK math parity, liquidation cascade. The mainnet date is gated on a clean final report, with remediation + re-review windows ahead of deploy.
2. Multi-source oracle deployed
oracle-pusher/multi-oracle.mjs (588 lines, built) replaces the single-source admin oracle with 2-of-N weighted-median consensus. Remaining work: second Hetzner node, second Helius key, configuration testing, deploy cutover. ~1 day of engineering, β¬4.50/month infrastructure.
3. Admin keys β multi-sig + timelock
Today the admin keypair is a single key. For mainnet, admin operations (update_market_params, pause_market, configure_insurance, etc.) move behind a 3-of-5 multi-sig with a 48-hour timelock on parameter-changing instructions. The upgrade authority moves to the same multi-sig.
4. Switchboard PullFeed integration
For additional oracle resilience on mainnet, the 2-of-N consensus will include Switchboard TEE-backed feeds as a third leg. This adds hardware-level attestation to the existing off-chain sources.
5. Insurance fund mainnet seeding
The 20K USDC devnet fund will scale to a mainnet-appropriate size, seeded from protocol treasury. Target: $250Kβ$500K at launch, sufficient to absorb normal Layer 2 flow without ADL risk during the initial low-liquidity window.
6. Mainnet USDC + roster migration
All 68 markets will be re-initialized on mainnet with the mainnet USDC mint (EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v). Insurance fund, oracle feeds, all PDAs β fresh. Devnet state does not carry over by design: mainnet is a clean slate for real capital.
7. Points program go-live
Points Program wires up at the same moment as mainnet. First trading activity earns points.
8. Frontend mainnet cutover
The frontend auto-switches when it detects the mainnet program ID. Users connect their Phantom / Solflare / Backpack wallets, approve mainnet USDC, trade.
9. Operational runbooks
Every admin operation (emergency pause, market initialization, sunset, insurance top-up) has a runbook. The on-call rotation is established. Telegram alerts point to the oncall channel.
Target sequencing
Now (2026-04) ββββββββββββββββββββββββββββββββββββββββββ
β β
ββ External audit engagement (in flight) β
ββ Multi-source oracle 2nd deploy β 4-6
ββ Admin CLI + operational tooling β weeks
ββ Multi-sig + timelock setup β
ββ Switchboard PullFeed integration β
β β
βββΊ 2026-05 (late May): Audit report received ββββββββ€
β β
ββ Remediation window (high-sev findings) β 1-2
ββ Re-review of fixes β weeks
β β
βββΊ 2026-06 (early June): Mainnet deploy βββββββββ€
β β
ββ Insurance fund seeded ($250Kβ$500K) β 1
ββ All 68 markets reinitialized β week
ββ Points program activates β
ββ Frontend mainnet cutover β
β β
βββΊ 2026-06-12: World Cup kickoff βββββββββββββThe window is tight but feasible. The biggest schedule risks are external-audit findings requiring structural changes (have mitigations drafted for likely scenarios) and multi-source oracle coordination (one-day implementation, but requires operational setup on a second VPS).
What ships later
These are post-mainnet additions, not mainnet blockers:
- Limit order book (currently trigger orders only)
- Cross-market portfolio margin
- Sub-accounts (multiple positions per trader per market)
- Mobile app (PWA today; native iOS/Android later)
- Keeper economic incentives tuning β live reward data will inform rebalancing
- Admin CLI consolidation
- Live match processor systemd hardening β deployed but needs extended stress testing under matchday load
What deliberately doesnβt ship
A few features weβve ruled out for v1, each for a specific reason:
- More leagues / sports. La Liga, Bundesliga, or NFL markets could launch, but doubling the market count before mainnet tests of EPL at scale would dilute focus. See Expansion.
- Token launch at mainnet. $SPERP launches post-mainnet. See $SPERP β Overview for the rationale.
- Non-USDC collateral. SOL, other stablecoins, LP tokens are plausible; none are v1.
- Leveraged staking or yield wrappers on $SPERP. Post-TGE conversation at earliest.
Discipline on the βnoβ list is what makes the timeline credible.
Devnet continues
Devnet stays live throughout mainnet. Itβs the canonical testing environment for SDK consumers, keeper development, and any protocol changes. Mainnet does not replace devnet β they coexist.
Further reading
- World Cup 2026 β why the launch date matters.
- Expansion β what ships after mainnet.
- Security β Audits β the audit process and status.
- PRD Β§14 Roadmap β canonical phase tracker.