Sandwich Guard
A swap that moves price back toward where its window opened pays that move.
Where it runs
Fee
Sets or adds to what the swap pays.
Status on reel
In the program
In the reel program: bit 11 of PoolParams.blocks, frozen at PoolInit (PROGRAM.md §5).
Set by
You, at launch
Frozen in PoolParams at PoolInit; nobody can change it after.
What it does
A few slots share one opening price. A swap that moves price back toward that opening pays the size of the move, up to a maximum, so the back half of a sandwich inside one window pays for it. Swaps moving further the same way pay nothing, and nothing is charged during the launch guard.
How it works on reel
The window is sandwich_slots slots, with the open price snapshotted at its first swap. A swap moving toward the open pays (p0 − clamp(p1, open))/p0 in pips, capped at sandwich_max_pips. Destination 5, the default, sends all of it to the protocol; 1 (owner) and 3 (King of the Pool pot) split off the protocol share first.
Settings · 3
| Setting | Min | Default | Max | What it does |
|---|---|---|---|---|
Window sandwich_slots | 1 slot | 1 slot | 4 slots | Slots that share one opening price. |
Most per swap sandwich_max_pips | 5% | 10% | 15% | The largest charge one swap can pay.Grid 1% |
Paid to sandwich_to | Liquidity owner | Protocol (100%) | Protocol (100%) | Protocol takes all of it; the others get it after reel's share. The Holder Pot (new reel tokens) streams it to holders.5 Protocol (100%) · 1 Liquidity owner · 2 Holder Pot · 3 King of the Pool pot |
Fees and who's paid
Paid to
reel (100%, the default), or the liquidity owner, the Holder Pot or the King of the Pool pot after reel's share.
Protocol share
reel's protocol share s (20–50%, fixed at launch) comes off each charge first.
Requires and can't be combined with
Requires
No other block.
Can't be combined with
Nothing: it sits beside any block.
Worked example
A front-run lifts price 2% in a slot, the victim buys, and the back-run sell in the same slot moves price 2% back toward the open: it pays about 2% of its quote, up to the 10% maximum.
Solana notes
Windows are 1 to 4 Solana slots of about 0.4 s. hookr pays a new token's Holder Pot by default; reel defaults to the protocol, and pays the Holder Pot when a new token's pool runs it (sandwich_to = 2).
On hookr: Core block · Live
Other blocks in Protection and access
Anti-Snipe
BEFORECaps and taxes early buys while the launch guard lasts. Sells never pay it.
Buy/Sell Block
BEFOREPauses buys and locks sells for a set time after launch. Charges nothing.
Wallet Cap
BEFOREWhile the guard lasts, no wallet buys more than a set share of the supply.
Exit Clock
FEESells pay a fee that falls the longer the tokens were held.
Market Guard
ADVISORYSwaps that stray from a live Pyth price pay the pool's LPs a surcharge.
Agent gate
ADVISORYOnly registered agents can buy, sell or add liquidity. Removing is never gated.
Canonical Venue Token
LAUNCHA new token that moves only between wallets and reel's own vaults.
Recovery reserve
OUTSIDEA public fund that repays LPs or traders after a reviewed incident.