Skip to content
Solana
BEFOREIn the programBit 10

Buy/Sell Block

Pauses buys and locks sells for a set time after launch. Charges nothing.

Where it runs

Before

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

Status on reel

In the program

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

Two windows from open: buys are refused until the buy pause ends, and sells (and liquidity adds other than the launch position) until the sell lock ends. Nobody owns them and they can't be shortened or lengthened. The dev buy is exempt.

How it works on reel

Swap refuses buys before open + buy_pause_secs (BuysPaused) and sells before open + sell_lock_secs (SellsLocked); other adds are refused during the sell lock. On a hooked new token reel-hook also refuses transfers to off-curve owners, other venues' vaults, while the sell lock lasts, so the lock holds everywhere. Every new token's pools also pause buys for their first 12 s. The windows need a guard of the longer window + 84 s; with guard_secs at 0 on a new token, PoolInit switches exactly that on.

Settings · 3

SettingMinDefaultMaxWhat it does
Guard length
guard_secs
0 s0 s1,200,000 s (13d 21h)0, or 12 s to 1,200,000 s. At 0 on a new token PoolInit switches a guard on: the longer window + 84 s. Without Anti-Snipe the guard charges no tax and has no buy cap, but still refuses exact-out buys and locks launch principal.Shared with Anti-Snipe, which sets 600 s.
Buy pause
buy_pause_secs
0 s0 s1 hBuys are refused until open + this. The dev buy is exempt.
Sell lock
sell_lock_secs
0 s0 s1 minSells, and adds other than the launch position, are refused until open + this.Not both windows 0.

Fees and who's paid

Paid to

Nobody: it charges nothing.

Protocol share

reel takes no share of it.

Requires and can't be combined with

Requires

No other block.

  • Not both windows 0
  • A guard of at least the longer window + 84 s: set by PoolInit on a new token, by you otherwise

Can't be combined with

Nothing: it sits beside any block.

Worked example

Sell lock 60 s, no buy pause: anyone can buy from second 12; nobody can sell, or move the token to another venue, until second 60. PoolInit sets a guard of 60 + 84 = 144 s.

Solana notes

Seconds, not 12 s blocks: buy pause up to 3,600 s (hookr 300 blocks), sell lock up to 60 s (hookr 5 blocks). hookr's legacy same-block round-trip check is not in reel; Sandwich Guard does that job.

On hookr: Core block (Launch Windows) · Live

Other blocks in Protection and access