Skip to content
Solana
FEEIn the programBit 11

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

SettingMinDefaultMaxWhat it does
Window
sandwich_slots
1 slot1 slot4 slotsSlots 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 ownerProtocol (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