What enters never leaves

TypeUniswap v4 hook
PropertyTotal supply, non-increasing
Admin keysNone
StatusNot deployed

Two percent of every swap is taken in KERR and burned in the same transaction. Not moved to a dead wallet — burned, so the supply figure itself falls, at every trade, in one direction.

scroll
§ 1

Three things that are true at every block.

  • iEvery swap takes two percent, in KERR, and burns it.
  • iiTotal supply falls by that exact amount, the same block.
  • iiiNothing in this system can put a single token back.

Read them, then keep scrolling. They do not survive the passage.

The second line is the one to check. Most burns send tokens to a dead address, which relocates a balance and leaves totalSupply() exactly where it was. This one calls burn, so the supply figure moves — and you can watch it move, block by block, without asking us anything.

§ 2

Every swap takes something out of the supply.

One mark per swap. Watch the slice separate at the hook and keep going — nothing in the diagram sends it back.

a swap crossing the pool the hook, unavoidable the slice, taken in KERR burned, supply down

Because the hook's address is written into the PoolKey, the PoolManager has to call it on every swap. A trade that skips the hook is not a trade on this pool — it is a trade somewhere else.

There is no reserve, no redemption and no floor. The hook holds nothing between transactions, so there is no pot for anyone to drain — including us. What it removes is simply gone.

Read the mechanism in full Documentation →
§ 3

Where this actually is.

Kept by hand. Nothing moves to done until it is done.

Done

Mechanism, parameters and failure modes specified in full.

Done

This page and the documentation.

Now

Hook implementation and fork tests against the live PoolManager.

Not yet

Salt mining, pool initialisation, verified source on the explorer.