/ docs

How it works,
including the parts
that do not

Quench is a launchpad on Robinhood Chain. A token is a fixed billion units behind one immutable Uniswap v4 hook, and everything the hook will ever do is decided by the transaction that opens the pool.

The token

Every launch mints exactly 1,000,000,000 units with 18 decimals. Supply is not a field, cannot be minted afterwards, and the token contract has no owner. Name and ticker are stored on it and cannot be changed.

A ticker here is held to 35 characters. That is our rule, not the chain’s — the contract accepts any string, and a longer one would simply break the columns on this site.

There is no logo field and no upload. A token’s mark is drawn from its address, so it exists the moment the token does and depends on nothing we host.

Two ways to launch

Instant. You commit ETH and choose an opening price. The launchpad mints the supply, opens a full-range position with your ETH and as many tokens as that price implies, refunds any ETH that did not bind, and burns every token that did not fit. The pool is live in the same block, and the hook starts its clock there.

Bonding curve. 800,000,000 tokens — 80% of supply — sell in ten tranches of 80,000,000, each priced 1.7× the one before. There is no pool and no hook while the curve is selling; the curve is the market. When the last tranche sells out, the curve opens the pool itself at the tenth price with everything it raised, and the remaining 200,000,000 tokens become the pool’s side of the position.

A curve charges 1% on each trade. The five blocks do not run on a curve at all — they are hook code, and there is no hook until the pool exists.

The five blocks

Up to five rules run inside a swap. A block is off when its parameters are zero, which is why a token’s rules can be read from the chain before anyone trades it. All five apply to exact-input buys only.

/ 01 Anti-snipebeforeSwap, while the window is open

For the first N blocks after the pool opens, a buy larger than the cap reverts with BuyExceedsGuardCap, and every buy pays the surcharge on top of whatever fee Surge computed. The clock starts when the pool opens, which for a curve launch is graduation, not launch.

guardBlocks
0–7,200 blocks
maxBuyBps
1–10,000 bps of the in-range reserve
snipeTaxPips
0–50,000 pips (0–5%)
/ 02 Surge feesbeforeSwap, every buy

The LP fee rises linearly with how deep the trade bites into the in-range reserve, from the floor at nothing to the ceiling at a buy the size of the whole reserve. No oracle and no keeper: it is arithmetic on the reserve at the moment of the swap. Sensitivity scales how quickly it climbs — at 10,000 the ceiling is reached at 100% depth.

baseFeePips
0–100,000 pips (0–10%)
maxFeePips
at or above baseFeePips, up to 100,000
surgeSens
0–65,535
/ 03 Auto burnafterSwap, once the output is known

The hook claims a share of the buyer’s output and sends it straight to 0x…dEaD in the same swap. The pool’s reserves are untouched — what shrinks is only what the buyer receives. This is the one block that runs after the swap, because it works on an output the swap has not produced yet.

burnBps
0–1,000 bps (0–10%) of the tokens bought
burnTriggerWei
the smallest buy that fires it
/ 04 LP rewardsbeforeSwap, out of the input

A share of the ETH is donated to whoever holds in-range liquidity before the swap sees it. The ETH never leaves the pool: the hook takes a credit and donate spends it, so the two net to zero and the value lands in the LPs’ fee growth.

lpBps
0–1,000 bps, shared with the pot
/ 05 Nth-buy potbeforeSwap, out of the input

A share of each buy accumulates in the pot vault, and every Nth qualifying buy takes the whole pot. The counter advances at most once per block — without that, N−1 dust buys and one real buy in a single block would win it every time. The counter is public, and the pot will be raced.

potBps
0–1,000 bps, shared with LP rewards
potEveryN
2–1,000 qualifying buys
potMinBuyWei
the smallest buy that counts

Where the money goes

The pool’s own LP fee accrues to the position the launchpad holds. Anyone can call claimFees for a token; the ETH side splits between the creator and the protocol at the share fixed at launch, and if the launch used a blueprint, its author’s royalty comes out of the creator’s half. The token side of the fee is burned rather than paid out.

A creator’s share is capped at 80% and a blueprint royalty at 20%. Both are set at launch and neither can be changed afterwards.

LP rewards and the pot are not fees: they come out of the buyer’s input before the swap, and together they cannot exceed 10% of a buy.

Blueprints

A blueprint is a published config anyone can launch against. When a launch names one, the launchpad uses the blueprint’s config verbatim and ignores whatever else the caller passed — so what a blueprint says is what the pool runs.

A blueprint cannot be edited or withdrawn. Its author earns a royalty on the fees of every token launched from it, and being listed is not an endorsement of anything: it means somebody paid gas. The registry shows every one with the exact settings it saved.

Limits the contract enforces

These are checks in BlockHook._validate and Launchpad, not house style. A config that breaks one reverts with the error named beside it, and the builder applies the same nine checks before you spend gas finding out.

max fee above 100,000 pipsBadFeeBounds
base fee above the max feeBadFeeBounds
lpBps + potBps above 1,000EthCutTooLarge
snipe surcharge above 50,000 pipsSnipeTaxTooLarge
burn above 1,000 bpsBurnTooLarge
guard longer than 7,200 blocksGuardTooLong
N below 2 or above 1,000BadPotEveryN
a guard window with no capBadMaxBuyBps
a burn with no minimum buyBurnNeedsTrigger
a pool over the launchpad's ETH capPoolTooLarge
a creator share above 80%CreatorFeeTooHigh
a blueprint royalty above 20%RoyaltyTooHigh

What Quench does not claim

  • No audit. There are tests, invariants and a differential check between the contracts and this site’s arithmetic. None of that is an audit and none of it is a guarantee.
  • No MEV protection. The pot is won on a public counter, not a random one. Ordering is whatever the sequencer does.
  • Buys only. Sells and exact-output buys pay the LP fee and nothing else — no burn, no pot, no donation.
  • Immutable cuts both ways. A config that turns out to be wrong stays wrong. Nobody can fix it, us included.
  • No source verification yet. The explorer’s submission API sits behind a challenge that refuses automated uploads, so the bytecode at the hook’s address is not yet matched to source there.

How every figure on this site is computed, and why some of them are a dash, is in the methodology.