/ quench

Build the hook.
Then quench it.

Stack up to five swap rules, launch a fixed-supply token behind them, and the rules set at the moment the pool opens. There is no owner, no upgrade path and no pause. Not even us.

/ compose5 of 5 armed · 0x28CC

on a 0.1 ETH buy into 10 ETH

fee
1.347%guard open
taken out
0.003000 ETH3%
burned
5%of the output
gas
~120,807
Open in the builder

Computed here, by the same arithmetic the hook runs. Nothing is deployed and nothing is read from the chain.

head block
51813159
rules in the hook
5
supply per token
1.00B
gas, all five rules
+37,529
immutable since block
50,723,079

/ the five blocks

Rules that run inside the swap

Each block is a branch in one immutable Uniswap v4 hook. A block is off when its parameters are zero, so what a token does is readable from the chain before anyone trades it. The numbers are names — Auto Burn is 03 and runs last, because it works on an output the swap has not produced yet.

/ the trade every card below is reading
/ 01 Anti-snipebeforeSwap · while the window is open

Caps each buy at a share of the in-range reserve and adds a surcharge, for a fixed number of blocks after the pool opens.

pool opensblock 300 · cap lifts600
cap on a buy
0.5000 ETH
this buy
allowed
surcharge
+1%
/ 02 Surge feesbeforeSwap · every buy

The LP fee rises with how deep the trade bites into liquidity. No oracle, no keeper — it is arithmetic on the reserve.

0.3% at nothingflat at 5% past 100%
at this depth
0.347%
floor
0.3%
ceiling
5%, reached at 100% depth
/ 03 Auto burnafterSwap · once the output is known

A share of the tokens bought goes to the dead address inside the same swap. The pool's reserves are untouched; only the buyer receives less.

burned 5%you keep 95%
on this buy
5% of the tokens out
where
0x…dEaD, inside the same swap
the pool's reserves
untouched — only your output shrinks
/ 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.

to LPs 2%to the pot 1%to the swap 97%
to in-range LPs
0.002000 ETH
to the pot
0.001000 ETH
reaches the swap
0.097000 ETH
/ 05 Nth-buy potbeforeSwap · out of the input

A share of each qualifying buy accumulates, and every Nth buy takes it. The counter advances at most once per block and is public.

No launched token has the pot armed, so there is no counter to show. This card fills itself from the vault when one does — it is not illustrated.

/ the path

From an argument to a rule

Six stages, and only the first two are yours. After the transaction that opens the pool, nothing you or we do changes what the hook charges.

Compose01

Nothing on chain yet. The config is a struct in your browser.

Launch02

The launchpad stages the config and initializes the pool in one transaction. This is the last moment it can be changed.

Pool opens03

The hook records the block. Anti-snipe starts counting from here, not from the launch.

Guard window04

Buys are capped against the in-range reserve and pay the surcharge. Surge is loudest here, because a thin new pool is easy to move.

Window closes05

The cap and the surcharge stop. Surge, burn, LP rewards and the pot carry on for as long as the pool exists.

Set06

Nothing further happens to the rules. There is no function that would change them and no address that could call one.

/ why robinhood chain

Rules this fine need cheap blocks

Blocks are about 0.1s

An anti-snipe window measured in blocks is measured in seconds here, not minutes. A 300-block guard is half a minute — long enough to matter to a bot, short enough not to punish a person.

Gas is nearly free

The whole system — router, launchpad, hook, vault, curve — cost 0.00283 ETH to deploy. The five blocks add tens of thousands of gas to a buy, which is a rounding error here and would be a design constraint on mainnet.

Logs answer fast

A filtered query over a day of blocks comes back in under half a second, with no range limit. That is why this site has no indexer and no database: every figure on it is read from the chain when you ask for it.

/ check it yourself

The claim and the way to test it

/ there is no owner

Not “the owner has renounced” and not “the keys are in a multisig”. The source has no owner, no admin, no pause, no proxy and no upgrade path, because no such function was written. Run this against the source the addresses beside it were compiled from:

grep -rniE 'owner|upgrade|proxy|delegatecall|selfdestruct|pause|admin' src/

It prints nothing. That is the claim.

The hook has exactly one non-view function of its own — stageConfig — and it reverts for every caller but the launchpad. It writes to transient storage that is cleared when it is read, inside the transaction that opens the pool. After that transaction there is no path to the config at all.

/ the addresses

Source verification on the explorer is still pending — its API sits behind a challenge that refuses automated submissions, so it has to be uploaded by hand. Until it is, the addresses are checkable and the bytecode is not.

/ what quench does not claim
  • The contracts have not been audited. They have tests, a differential check against this site’s own arithmetic, and no audit. Those are not the same thing.
  • The pot is raced. It is won on a public counter, not a random one. Anyone reading the chain can see which buy takes it and bid to be that buy.
  • The hook charges on exact-input 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. There is no one to appeal to, which is the point and also the risk.

None of this is financial advice, and none of it is a prediction.