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 Transfer events 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.