Everyone pays 5% on every trade. Only verified humans can claim any of it back. Not a slogan bolted onto a tax token — the mechanism itself.
The whole idea in one line
A whale gets one share. A bot running five hundred wallets gets one share, because it has one credential at best.
Each epoch's dividend pot splits equally per verified human — not pro rata to holdings. Capital stops being the thing that earns.
A scanner sees one flat rate with no per-address logic anywhere in the hook. The fee never has to discriminate — the payout does.
A copycat faked this with a tx.origin check that stops exactly zero bots. Personhood is proven at the claim, or not at all.
Where the 5% goes
Flat and symmetric — a buy and a sell pay the same. FEE_BPS = 500 is a constant, and both splits are immutable. Move the slider to price any trade.
Withdrawable by the owner. The only share that funds the project.
Buys and burns everything it touches. No owner, no withdraw.
Split equally among verified humans. Verified only, forever.
Why bots cannot game it
The pot never looks at balances. Add humans, hand the bot a thousand wallets, make the whale richer — the arithmetic does not move.
The surface area
Small enough to read in an afternoon. The token itself has no transfer logic, no mint and no owner — every moving part lives in the hook, and every bar below is deployed bytecode size.
58 tests, all against a mainnet fork
Not a testnet, not a mock router. Every number below came out of a fork of Ethereum mainnet with real Uniswap v4 state.
Plus 9 stateful invariants over 720 randomised calls each:
Liquidity is never trapped
0x20CC
Not "will not block you" — cannot be asked. The permission is missing from the address itself, and the address is mined, not configured.
You get your position back, not your value back. After a crash it is mostly tokens — ordinary AMM behaviour, unrelated to the hook.
What the owner controls
Read the right-hand column first. It is the one that decides whether any of this is worth holding.
four powers, all bounded
no setter is written anywhere
The rescue's exact scope. Once a fee reaches its destination it can never be taken. The only window is the gap before it gets there, and that window is always visible on-chain as exactly pending(). Set sweepThreshold to 0 and it closes entirely.
The one trust assumption, not hidden
That somebody holds curator. It is the single discretionary role in the system, and three things bound what it can do.
Being dropped from a later roster cannot take away what you already earned. Old epochs stay claimable.
It can add an epoch and nothing else. No path from the roster to a balance.
The roster can be sealed permanently. Once frozen, no future epoch can ever be added.
World ID's Ethereum mainnet deployment is dormant — no events in roughly a month, since the project moved to World Chain. On-chain verification is not viable today, so the roster has to be committed as a merkle root. Said here in plain language rather than left for someone else to find.
What is left
The order matters: two of these are free now and impossible after the salt is mined.
Which sources count as proof of a person. The contract is source-agnostic, so this is published policy, not code — and it gets published before anything is deployed.
Today the fee cannot be lowered at all. It can be made lowerable-but-never-raisable — a strictly one-way ratchet down.
Set the owner and the ops sink, publish the deployed addresses, mine 0x20CC, then produce the Etherscan verification files so every claim on this page can be checked against bytecode.