Skip to content
Solana
BEFOREIn the programBit 0

Anti-Snipe

Caps and taxes early buys while the launch guard lasts. Sells never pay it.

Where it runs

Before

Checks a swap before it fills: guards, caps, windows.

Status on reel

In the program

In the reel program: bit 0 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

For a set time after open, the launch guard, buys pay a Snipe tax on top of the base fee, decaying from its starting rate to a floor along a curve. The launch also has a per-slot buy budget that grows as the tax falls, so every slot that fills its budget pays the same tax. While the guard lasts, exact-out buys are refused, only the launch position can add liquidity, and no launch principal can be withdrawn.

How it works on reel

The guard is [open_ts, guard_end) in unix seconds. Buys pay the decaying Snipe tax as an LP fee, with the protocol share split off. The buy cap is one budget per slot for the whole launch: cap_now = snipe_cap·tax0/tax_now (none once the tax reaches 0), and each buy uses A·10⁶/cap_now ppm of the slot's budget of 10⁶ (BuyCapExceeded past it). Exact-out buys fail with ExactOutDuringGuard; adds by anyone but the launch position fail with GuardAddRefused.

Settings · 6

SettingMinDefaultMaxWhat it does
Guard length
guard_secs
12 s10 min1,200,000 s (13d 21h)The launch guard runs this long from open: buys pay the Snipe tax, the per-slot buy cap applies, exact-out buys are refused, only the launch position adds and principal stays locked.A pool-level setting (§5a) that Wallet Cap and Buy/Sell Block share.
Buy cap per slot
snipe_cap
0 (off)At launch—Quote atoms the whole launch may buy in one slot at the starting tax. It grows as the tax falls and lifts at 0. 0 = uncapped. The SDK sizes it at 0.5% of the pool's quote depth at open.
Snipe tax
snipe_tax_pips
0%10%60%An extra LP fee on guarded buys, decaying to the floor. Sells never pay it.At most 600,000 − the base fee.
Tax floor
snipe_floor_pips
0%0%See ruleWhere the tax settles for the rest of the guard.Below the Snipe tax.
Tax decay
snipe_decay_secs
0 s5 minSee ruleTime from open for the tax to fall to its floor. 0 = a flat tax for the whole guard.At most 3,600 s, or the guard length if longer.
Decay curve
snipe_curve
LinearLinearStepLinear falls in a straight line; front-loaded halves what is left every eighth of the decay; step holds the tax in eight equal steps.0 Linear · 1 Front-loaded · 2 Step

Fees and who's paid

Paid to

LPs in range (the launch position while the guard lasts), 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 1 SOL buy at open with a 10% tax, a 0.3% base fee and a 20% share: the tax is 0.1 SOL, 0.02 SOL to reel and 0.08 SOL to LPs (the launch position while the guard lasts), plus the 0.003 SOL base fee.

Solana notes

Seconds, not 12 s parent blocks (hookr's 50-block default is 600 s here). The buy cap is one per-slot budget for the whole launch rather than a cap per pool per block.

On hookr: Core block · Live

Other blocks in Protection and access