What is an arena?
An arena is a fixed-duration competition on a single Meteora pool. Anyone can enter by paying a small SOL buy-in. While the arena is live, LP Agent re-scores every entrant’s position every 60 seconds. When the arena ends, the top three split the on-chain pot 50 / 30 / 20.
Every arena has a theme accent (emerald, orange, sky, violet), a pot tier (typically 0.025 SOL), and a duration (24 hours by default). The home page lists every active arena ranked by TVL.
Entering
- Pick an arena from the home grid or the featured banner.
- Connect Phantom or Solflare on devnet. The Connect button lives in the top right.
- Click Enter the arena. Sign the
enter_arenainstruction — your buy-in is locked into the on-chain prize vault. - Open a real Meteora position via Zap-In. The AI Coach can suggest a bin range based on recent volatility.
Scoring
Your score is your dpr_native— realized + unrealized PnL denominated in the pool’s native quote token, summed across all your open positions in the arena pool. The scoring oracle pulls this from LP Agent’s /lp-positions/{owner} endpoint every 60 seconds.
The leaderboard you see on the arena page is the leaderboard the contract will settle on. There is no off-chain re-ranking or admin override.
Settlement
When the arena’s end_ts passes, the scoring service builds a final-standings payload, signs it with the Ed25519 oracle key, and submits a single transaction containing two instructions: Ed25519Program::sigverify followed by lp_arena::settle_arena. Once landed, ranks 1–3 can claim their share with a single claim_payout call.
Fees
The Anchor program takes a 2% protocol fee on the pot before the 50 / 30 / 20 split. So if four entrants pay 0.025 SOL each (pot = 0.1 SOL), the distributable pot is 0.098 SOL — and ranks 1, 2, 3 receive 0.049, 0.0294, and 0.0196 SOL respectively. LP Agent and Meteora take their normal fees on the underlying liquidity position; LP Arena does not touch them.
Safety gates
The 30-second safety watcher checks LP Agent’s organic score, top-holder concentration, and mint-freeze flag against the arena’s SafetyGate. If a pool degrades mid-arena (e.g. the dev rugs the pool, or top-holder concentration spikes), the watcher calls cancel_arena and every entrant gets a full refund.
Refunds & cancellation
You can’t voluntarily exit an arena before it settles — that’s the point. But if a safety gate trips, or the arena fails to reach a minimum entrant count, the program switches to cancelled state and every entrant calls claim_refund to recover their full buy-in. No fee is taken on cancellation.
Wallets & networks
We’re on Solana devnet for the bounty. Phantom and Solflare are wired via wallet-adapter; Privy email login is deferred. You can grab devnet SOL from faucet.solana.com ↗. Mainnet ships in a later phase, after one full settled season on devnet.