Docs · Pools
Core blocks
The Hook Blocks in the reel program, what a creator sets on each, and the ranges the program accepts.
How a block sits on a pool
Each per-pool block is a bit in PoolParams.blocks with its settings beside it. PoolInit validates the whole set against the bounds below and the caps further down, then freezes it. Bits 14 to 21 are advisory blocks: a pool carries at most one. Bit 22, the minimum fee, is set by the program, not by the creator.
Block fees take the protocol share first: the share s is chosen at launch between 20% and 50%, and the rest goes to the block's destination. The base LP fee and the advisory surcharges are LP-only and pay no share.
Pool terms
| Key | Setting | Min | Default | Max | Rule |
|---|---|---|---|---|---|
base_fee_pips | Base LP fee | 0.01% | 0.3% | 10% | Counted once in the 600,000-pip LP-fee room (PROGRAM.md §5a). |
protocol_share_bps | Protocol share | 20% | 20% | 50% | — |
Every per-pool block
| Bit | Block | What it does | Status |
|---|---|---|---|
| 0 | Anti-Snipe | Caps and taxes early buys while the launch guard lasts. Sells never pay it. | In the program |
| 1 | Dynamic fees | The fee rises with how far a swap pushes the price. Pushing it back is free. | In the program |
| 2 | Auto Burn | Burns a set share of every buy's tokens in the same swap. | In the program |
| 3 | LP Rewards | An extra fee on buys, kept by the LPs whose liquidity filled them. | In the program |
| 4 | Creator royalty | A share of LP Rewards on every buy, paid to a recipient fixed at launch. | In the program |
| 5 | Swap Cut | A fixed cut of every buy and sell for the pool's liquidity owner. | In the program |
| 6 | Exit Clock | Sells pay a fee that falls the longer the tokens were held. | In the program |
| 7 | Holder Pot | Sandwich Guard's charges fill a pot paid to holders by tokens × time held. | In the program |
| 8 | Storm Fee | The fee rises when price turns choppy and eases as it calms, within fixed bounds. | In the program |
| 9 | Wallet Cap | While the guard lasts, no wallet buys more than a set share of the supply. | In the program |
| 10 | Buy/Sell Block | Pauses buys and locks sells for a set time after launch. Charges nothing. | In the program |
| 11 | Sandwich Guard | A swap that moves price back toward where its window opened pays that move. | In the program |
| 12 | King of the Pool | Each round's biggest single buy takes a prize from a pot recapture fills. | In the program |
| 13 | Arb recapture | The pool keeps most of the price-gap profit instead of outside bots. | Partial |
| 14 | Market Guard | Swaps that stray from a live Pyth price pay the pool's LPs a surcharge. | In the program |
| 15 | Market-hours fee | A fee that follows the US stock market's sessions. | In the program |
| 16 | Managed fee | A surcharge reel's keeper moves as price moves, inside a cap you fix at launch. | In the program |
| 17 | Agent gate | Only registered agents can buy, sell or add liquidity. Removing is never gated. | In the program |
| 18 | Zap Relay source | Routes a cut of every buy to a zap vault that buys another pool. | Partial |
| 19 | Zap Relay target | A pool only its feeder zap vaults may buy; anyone may sell. | Partial |
| 20 | Swap Reward Mint | Pays traders a reward token for each swap, funded by a slice of the trade. | In the program |
| 21 | Usage fee | Every swap pays a market block's builder, its backers, reel and a reserve. | In the program |
| 22 | Minimum fee | A small fee to reel on a new token's pool that pays reel nothing else. | In the program |
Settings of the most used blocks
Generated from the catalog. Every other block's settings are on its catalog page.
Anti-Snipe
| Key | Setting | Min | Default | Max | Rule |
|---|---|---|---|---|---|
guard_secs | Guard length | 12 s | 10 min | 1,200,000 s (13d 21h) | A pool-level setting (§5a) that Wallet Cap and Buy/Sell Block share. |
snipe_cap | Buy cap per slot | 0 (off) | Named at launch | — | — |
snipe_tax_pips | Snipe tax | 0% | 10% | 60% | At most 600,000 − the base fee. |
snipe_floor_pips | Tax floor | 0% | 0% | See rule | Below the Snipe tax. |
snipe_decay_secs | Tax decay | 0 s | 5 min | See rule | At most 3,600 s, or the guard length if longer. |
snipe_curve | Decay curve | Linear | Linear | Step | — |
Dynamic fees
| Key | Setting | Min | Default | Max | Rule |
|---|---|---|---|---|---|
dyn_max_pips | Fee ceiling | See rule | 2.3% | 60% | From the base fee + 1 up to 600,000; it includes the base fee. |
dyn_sens | Sensitivity | 1 | 5 | 10 | — |
dyn_window_secs | Step every | 12 s | 30 s | 5 min | — |
dyn_reset_secs | Reset after | 30 s | 2 min | 30 min | At least twice the step. |
dyn_carry_bps | Gap kept per step | 0% | 75% | 95% | — |
dyn_move_bps | Counted move | 0.5% | 2% | 20% | — |
dyn_divisor | Liquidity divisor | 2 | 100 | 10,000 | — |
Auto Burn
| Key | Setting | Min | Default | Max | Rule |
|---|---|---|---|---|---|
burn_bps | Burn share | 0.01% | 1% | 10% | LP Rewards + Auto Burn ≤ 1,000 bps. |
LP Rewards
| Key | Setting | Min | Default | Max | Rule |
|---|---|---|---|---|---|
lp_bps | LP fee on buys | 0.01% | 2% | 10% | LP Rewards + Auto Burn ≤ 1,000 bps. |
Creator royalty
| Key | Setting | Min | Default | Max | Rule |
|---|---|---|---|---|---|
royalty_bps | Royalty | 0.01% | 10% | 10% | — |
Caps PoolInit checks
Each cap is checked with every block at its maximum, and the swap clamps again at run time.
- LP fees: base fee, Snipe tax, dynamic ceiling, Storm Fee to LPs, LP Rewards and the advisory LP surcharge together ≤ 600,000 pips (60%).
- Quote takes: Auto Burn, the larger Swap Cut side, usage fee, reward slice, zap cut and minimum fee together ≤ 350,000 pips (35%).
- LP Rewards plus Auto Burn ≤ 1,000 bps (10%).
- Sell-side charges: Swap Cut sell, Exit Clock top, Storm ceiling and Sandwich maximum together ≤ 200,000 pips (20%).
- Royalty ≤ 10% of LP Rewards after the protocol share.
- At most one advisory block.
A set that breaks a cap fails with FeeRoomExceeded; a bad combination fails with BlockConflict; a setting out of bounds fails with InvalidParams.
Rules between blocks
- Dynamic fees can’t share a pool with Storm Fee.
- Creator royalty needs LP Rewards.
- Holder Pot needs Sandwich Guard.
- Storm Fee can’t share a pool with Dynamic fees.
- King of the Pool needs Arb recapture.
- Arb recapture can’t share a pool with Zap Relay target.
- Zap Relay target can’t share a pool with Arb recapture, Dev buy and lock.