Uniswap v4 hook — Ethereum mainnet
it buys itself.
Every swap in the pool routes a few basis points into a treasury. When the treasury crosses its threshold, the hook buys $FLY on its own pool and burns it — same transaction, same block. Nobody presses anything.
The pitch, in one line
1559, but for your pool.
Ethereum
Burns a fraction of every transaction. No vote, no treasurer, no announcement. It happens because the protocol cannot do anything else.
Fly
Burns a fraction of every swap. Same logic, same inevitability, one pool instead of a chain. The supply only moves in one direction.
This framing would mean nothing on an L2, where the burn is a rounding error and the sequencer is a company. Mainnet is not a deployment choice here. It is the argument.

The gauge
watch it fill.
Basis points accrue as a delta inside the PoolManager — no ERC-20 transfer, just a balance write. On mainnet gas that is close to free, which is the only reason this design works. The expensive part happens once, at the crossing.
waiting for the crossing
The mechanism
one transaction carries all of it.
Triggering a buyback on every swap would be ruinous at mainnet gas. So it does not. Forty-nine swaps out of fifty pay a balance write and nothing else. The fiftieth pays for the buyback and the burn, and gets paid back for it.
tx 0x9f3c1a…7b04 status success ├─ PoolManager.unlock() │ └─ FlyHook.afterSwap(key, params, delta) │ ├─ take(currency0, 12 bps) treasury 0.3412 → 0.3617 ETH │ │ ← every swap pays this │ └─ threshold crossed ────────────────────────────────── │ ├─ swap(ETH → FLY, 0.3617 ETH) │ ├─ FLY.transfer(0x…dEaD, 4,182,559) burn │ └─ FLY.transfer(msg.sender, 61,240) cranker rebate │ └─ settle() one block, no callback
Read the full specification — permissions, parameters, gas targets, and the two questions the design has not answered yet.
The cranker
somebody has to be there.
Whoever’s swap tips the treasury over pays the real gas for the buyback — and takes a $FLY rebate worth more than the surcharge. That is the whole incentive.
No registration. No whitelist. No priority lane worth building a bot for, because you cannot know in advance which swap will be the one. You just have to be there on the right block.
What it costs you
A crank costs roughly 140k extra gas and pays a rebate sized to cover it with room left over. If it ever stops being worth it, the threshold is the only thing that moves — and it moves by rule, not by vote.

What you have to take on faith
nothing.
no team wallet
The hook holds the treasury as a delta in the PoolManager. There is no address with a claim on it, including ours.
no multisig
Nothing to sign, nothing to pause, nothing to migrate. The parameters are fixed at deployment and the deployment is the last privileged action.
no keeper
The buyback fires inside the swap that triggers it, or it does not fire. There is no off-chain process to trust, bribe, or wait for.

