lp-arena
help · rules

How LP Arena works.

A short field manual. Read this once and you’ll know exactly what an arena is, how scoring lands you in the top three, and what happens to your SOL when the bell rings.

01

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.

02

Entering

  1. Pick an arena from the home grid or the featured banner.
  2. Connect Phantom or Solflare on devnet. The Connect button lives in the top right.
  3. Click Enter the arena. Sign the enter_arena instruction — your buy-in is locked into the on-chain prize vault.
  4. Open a real Meteora position via Zap-In. The AI Coach can suggest a bin range based on recent volatility.
03

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.

04

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.

05

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.

06

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.

07

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.

08

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.