Every burn is exactly 0.05% of supply. Every burn resets a 10-minute timer. The hook quietly fattens the pot on every swap. When the clock hits zero, whoever burned last walks away with 80% of it.
Call BurnGame.burn(). The contract pulls exactly 500,000 BURN — 0.05% of total supply — from your wallet and sends it to 0x…dEaD. Total supply is unchanged; dead-wallet balance only grows.
You are now the address-of-record. The timer resets to 10:00. If no one burns again before it hits zero, the pot is yours.
Every swap in the V4 pool pays a 1% hook fee on top of the 0.3% LP fee. The hook converts it to ETH inside the same transaction and routes it straight into the prize pool.
When the timer hits zero, the leader claims 80% of the pot. The remaining 20% rolls into the next round's pot. A new round opens immediately — same rules, fresh clock.
A native ETH / BURN pool on Uniswap V4, fee 0.3%, ownership renounced, hook permissions limited to afterSwap. Everything visible on-chain.
| time | burner | amount | lasted | status | tx |
|---|---|---|---|---|---|
| 03:13 ago | burnpilled.base0xBAE5…41fF | 500,000BURN | leading | ★ leader | 0x9c4a…f201 |
| 07:42 ago | degenmom.eth0x7d1c…aA39 | 500,000BURN | 04:29 | overtaken | 0x12fe…b9c4 |
| 12:11 ago | 0xVitalik.base0xd8aB…7c52 | 500,000BURN | 04:29 | overtaken | 0x77ab…0d3e |
| 14:38 ago | —0x2f44…91Ce | 500,000BURN | 02:27 | overtaken | 0xa033…ff19 |
| 19:02 ago | timewaster.eth0xc711…30Bd | 500,000BURN | 04:24 | overtaken | 0x0e88…bb27 |
| 23:31 ago | basedfren.base0x4901…2eFa | 500,000BURN | 04:29 | overtaken | 0x55cd…0042 |
| 28:00 ago | —0xfa3B…71eD | 500,000BURN | 04:29 | overtaken | 0xbe22…1199 |
| 32:29 ago | incinerate.base0x9c44…aB7C | 500,000BURN | 04:29 | overtaken | 0x4427…ccd1 |
| 36:58 ago | —0x3b09…f1A2 | 500,000BURN | 04:29 | overtaken | 0xeeac…02ff |
| 41:27 ago | phoenix.base0x8e7d…cd60 | 500,000BURN | 04:29 | overtaken | 0x6633…74cb |
0x…dEaD. balanceOf(0xdEaD) is the canonical burn counter — every block explorer, every analytics dashboard, every chart treats it as supply destruction. We chose this path over ERC20._burn so accounting stays public, indexable, and provable on Basescan in one query — no internal state assumptions required.afterSwap permission — it can't observe price before swaps and can't reorder. The internal BURN→ETH swap when the unspecified side lands in BURN happens atomically in the same transaction; slippage is bounded by the pool's own liquidity, and the worst case is a smaller pot contribution, never a drain. The pot itself is held in BurnGame, not in the hook.0xdEaD grows. Whales can burn — but they pay the same price as everyone else, and they don't get the timer cheaper.BurnGame.settleRound() as a forwarding op.0x…dEaD do not come back.