Skip to content
Solana

Docs · Pools

reel pools

What a reel pool is, what it can carry, and the page that covers each piece.

One pool, one market

This deployment is configured with the reel program at Ajvhesd3q6yJFgnBL6vppAJDF7gP6nmksA8WkrTM4vcJ. reel and reel-hook were reviewed and verified end to end on Solana mainnet; their upgrade authority is the reel treasury, BA9VJD2ux2XtQ1diiurBR9pmgqtb33ivs6H8fmSgNPXr. reel-vaults, the periphery program, is verified on mainnet module by module, and its upgrade authority moves to the treasury when that finishes.

A reel pool is one constant-product market between a base token and a quote token, over the full price range. Its curve is rb · eq = k, where rb is the base reserve and eq is the quote reserve plus a virtual quote. The virtual quote lets a launch open with tokens only, at a chosen price; it scales with shares, so adding or removing liquidity doesn't move the price, and it can never be withdrawn. A sell can never pay out more quote than the pool really holds.

The curve reads tracked reserves, not vault balances, so tokens sent straight to a vault change nothing. A pool may also have a deposit cap, a per-pool setting the admin can set or clear.

Fees live outside the reserves

LP fees don't sit in the reserves. They add to a fee-growth counter per share, and each position keeps a checkpoint. When a position's shares change, or its owner collects, the program settles shares × Δgrowth. So a position collects fees without touching its principal, and a locked position keeps earning.

When a pool opens, the first MIN_SHARES (1,000) are locked forever and belong to no position. LPs’ shares of arbitrage recapture and King of the Pool releases are streamed into fee growth over release_secs; any add restarts that window, so liquidity added just in time only gets what streams after it joins.

What is frozen when a pool opens

PoolInit writes the pool's PoolParams: the base LP fee, the protocol share, the bitmask of Hook Blocks and every block setting, plus the keys the blocks name (royalty recipient, payee, oracle, sibling pool, advisory accounts). It also copies the integrator rate from the root or the listing. Nobody can change these afterwards, the admin included.

Two things can move after opening, both disclosed: the admin can change a pool's deposit cap, which only gates new deposits, and the fee keeper can move a Managed fee inside the cap the pool froze. See the admin model.

What a pool can carry

PieceIn one linePage
Core blocksThe per-pool blocks, their bits and boundsCore blocks
Launch-day blocksWhat each block does on day one and what it costs a swapLaunch-day blocks
King of the PoolThe biggest buy of each round takes a prize from the potKing of the Pool
Wallet CapNo wallet buys more than a share of supply during the guardWallet Cap
Multi-pool launchOne token in up to 8 pools, one per quoteMulti-pool launch
Dev buy and lockThe creator's first buy, inside the launchDev buy and lock
Launch lockLiquidity held for a beneficiary until a date, or for goodLaunch lock
Fees and recaptureThe protocol share, integrators, referrers and the recapture splitFees
Minimum feeWhat a pool pays when no block pays the protocolMinimum fee
Saved hooksA named, versioned set of blocks on chainSaved hooks
Owned rootsA namespace of your own for poolsOwned roots
LP Time-Lock BoostExtra rewards for locked positions (coming)LP Time-Lock Boost
ReferralsRef codes paid from the protocol's cutReferrals
ProgramsCreator rewards for traders and LPs (funded campaigns: opens Nov 12)Programs
SDKThe TypeScript clientSDK

Where the money goes

Charges that aren't LP fees accrue in ten buckets on the pool, each with one fixed recipient. BucketCollect is permissionless: anyone can send it, and the program only pays the bucket's own recipient.

#BucketPaid to
0PROTOCOLthe treasury's token account
1INTEGRATORthe pool's integrator
2OWNERthe liquidity owner: the launch owner, or the lock beneficiary while locked
3ROYALTYthe royalty recipient's claim ledger
4POTthe King of the Pool pot (not collectable)
5HOLDER_POTthe Holder Pot (paid out to holders by reel-vaults' HolderPay, live)
6USAGEa Hook Blocks Market block's split
7REWARD_CREATORthe pool's payee
8ZAPthe zap vault named at launch
9PAYEEthe pool's payee