the mechanics · plain english
how it works
what counts as "gone forever", and how a read-only node watches it happen.
burn — tokens sent to a dead address
A burn address is an Ethereum address nobody has the private key to — like 0x…dEaD or the null address 0x…0000. Because no key exists, anything sent there can never be moved again. Sending an ERC-20 token to one of these addresses permanently removes it from circulation.
We scan every Transfer log and flag any transfer whose destination is a known burn address.
lost — ETH sent to a burn address
Same idea, but for the chain's native coin. If someone sends plain ETH to a dead address, it's gone the same way tokens are — no recovery, no undo. We catch these by inspecting every transaction in each new block and checking whether its destination is a burn address with a positive value.
missing — tokens sent to their own contract
The classic copy-paste mistake: sending a token back to its own contract address instead of to a wallet. The tokens don't get burned — they get stuck inside the contract, where nothing can ever call them back out. Effectively lost forever. We flag a transfer whenever the recipient equals the token's own contract.
the watchtower under the hood
- Reads blocks from the official Robinhood RPC with automatic failover to a public fallback.
- Scans logs for
Transferevents into burn addresses and the self-contract pattern. - Decodes tokens on demand — symbol, name, and decimals are fetched and cached.
- Discovers every coin and LP-pool token that has ever been burned, not just the well-known ones.
- Prices ETH/WETH via CoinGecko and assumes USDG is $1 (stablecoin peg). Everything else is shown unpriced.
- Never writes. The node has no keys and signs nothing — it only reads public chain state.