/ methodology

Where every
number comes from

There is no database behind this site and no indexer. Every figure is read from Robinhood Chain when you ask for it, either from contract storage or from event logs since block 50723079, where the launchpad was deployed.

Price of a graduated token

slot0 of its pool, read through extsload and converted to wei per whole token. v4 has no getter; the storage slot is keccak256(poolId ++ 6) and slot0 is the first word.

ETH is currency0, so the pool quotes tokens per ETH — the inverse of the price shown. This was once implemented backwards and every check passed, because the fixture opened at exactly 1:1.

Price of a token still on its curve

The tranche it is currently selling from: p0 × 1.7^i, taken from the curve's own table.

FDV

That price times the whole billion. It is an ETH figure and never a dollar one — there is no oracle here and we do not pretend to one.

In-range ETH reserve

liquidity × 2^96 ÷ sqrtPriceX96, the same expression BlockMath uses. Both values come from the pool's storage, one slot apart.

Curve progress and target

Tokens sold against the 800,000,000 on the curve. The sellout target is p0 × 80,000,000 × Σ1.7^i, reimplemented here and asserted against the contract's own totalRaiseAtFullSellout to the wei.

Tokens burned by a rule

The hook's AutoBurned events for that pool, summed.

Deliberately not the balance at 0x…dEaD. An instant launch burns whatever supply did not fit the opening position, and that is a consequence of the price, not the Auto Burn block doing something. The two are shown separately.

Pot balance

The vault's own balanceOf for that pool. The site-wide total is the vault's ETH balance.

ETH donated to LPs

The pool manager's Donate events with the hook as sender. Every donate on a Quench pool comes from the hook; nothing else has a reason to call it.

Activity feed

Five log queries per read — the hook, the launchpad, every curve at once, and the pool manager for graduated pools.

A swap's direction comes from the sign of amount0. v4 emits the swapper's delta, not the pool's, so a buy shows it negative. Read the other way round, every buy is labelled a sell.

Ages in seconds, minutes and hours

A block delta divided by the measured rate of about ten blocks a second.

An approximation, and marked as one. The block rate is measured, not promised, and nothing here depends on it being exact.

Gas a hook stack costs

Measured in test/unit/BlockGas.t.sol: a 0.1 ETH buy against a 10 ETH pool, second buy so the storage is warm.

The marginal costs do not add up to the whole, because the blocks share work. A full stack is quoted from its own measurement rather than from the sum.

What a buy would cost

ts/src/simulate.ts, which mirrors BlockMath.sol statement for statement and is checked against it on the same 2,000 vectors.