🚧 SportsPerp is currently live on devnet. Mainnet target: before Jun 12, 2026 (World Cup kickoff).
RoadmapDevnet β†’ Mainnet

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-06)

ComponentStatus
On-chain programDeployed β€” 38 base instructions (41 with devnet migration), ~940 KB, 8 PDA types, 59 error codes, 23 #[event] structs
Markets live68 (20 teams + 48 players)
OBV engineRunning β€” 5-min crank + live overlay on the partner’s live event feed + Python obv-engine sidecar (XGBoost PV-GF/PV-GA)
Oracle pusherDeployed β€” 2-of-N multi-source consensus (multi-oracle.mjs) live on devnet; mainnet cutover with a fully independent second feed still pending
Trigger keeper + funding crankDeployed
Liquidation botDeployed
MonitoringDeployed β€” health, on-chain, and solvency checks running; operator alert delivery is being finalized ahead of mainnet
Trade-history indexerLive since 2026-05-11 (decoder wired; Anchor EventParser + BorshCoder against the regenerated IDL). Exposed publicly at https://api.sportsperp.xyz/indexer/* via the reverse proxy; frontend Trade History panel ships on /portfolio
Live↔REST ID bridgeVerified in production β€” V2 translation active; mappings validated by a periodic verification job during matchdays
Insurance fundLive β€” 20 K USDC, 50 K max exposure, 10 K target
Liquidity poolLive β€” singleton global pool (replaces per-market vaults)
SDKPublished β€” @sportsperp/sdk@0.2.0 on npm; 0.3.0 (B5 + SP-007 + SP-013 surface) staged on master, not yet published
FrontendDeployed on managed hosting β€” www.sportsperp.xyz (apex sportsperp.xyz β†’ www; reverse proxy at api.sportsperp.xyz)
Self-auditComplete β€” 17 findings (1 Critical + 5 High, all fixed), plus Apr 2026 fix sweep (S4-01 LimitOpen expiry + 5 additional + 2 bonus)
External auditPending β€” engagement with two Solana-specialist firms targeted before mainnet

Detail on every item is tracked in the internal product roadmap (PRD Β§14).

What β€œmainnet-ready” means

Eight gates must close before mainnet (Switchboard PullFeeds is deferred post-launch β€” see β€œShips later” below):

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

A multi-source consensus pusher is deployed and live on devnet, replacing the single-source oracle with 2-of-N weighted-median consensus (24h soak-validated 2026-06-04). What remains is for mainnet: a fully independent second data feed β€” today both consensus legs are SportsPerp-derived β€” and the mainnet program deploy.

3. Admin keys β†’ multi-sig + timelock

The hot oracle_authority key β€” which gates update_oracle and pause_market β€” was already separated from the admin in the B5 devnet cutover, so the key that publishes prices and can halt a market can no longer move funds. The admin keypair is still a single key today. For mainnet, admin operations (update_market_params, configure_insurance, unpause_market, treasury withdrawals, 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. 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.

5. 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.

6. Points program go-live

Points Program wires up at the same moment as mainnet. First trading activity earns points.

7. 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.

8. 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.

Ships later (post-launch, not a mainnet gate)

Switchboard PullFeed integration. An optional TEE-backed third source layered on top of the 2-of-N consensus for hardware-attested redundancy. The mainnet oracle authority is the SportsPerp multi-source 2-of-N consensus (gate 2 above), not Switchboard. Adding it is a dedicated build/audit project β€” the Switchboard on-demand crate plus on-chain feed-account handling β€” sequenced after a genuinely independent second data source lands.

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                         β”‚
  β”‚                                                     β”‚
  └─► 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 the remaining multi-source-oracle work for mainnet β€” a fully independent second data feed plus the cutover onto mainnet infrastructure (the 2-of-N pusher itself is already live on devnet).

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 operational hardening β€” extended stress testing under sustained 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