This address is the single burn destination for the entire MfT reactor network. It is hardcoded as a constant in the Unrugable factory, every SporeReactor, and the private reactors. Tokens transferred here are removed from circulation permanently.
We use one dedicated address instead of 0xdEaD so that total burns are trivially auditable: for any network token, balanceOf(0xfd78...3a4B) equals everything the network has ever removed from circulation — no event indexing, no contract list required, nothing can be missed.
1. The address is a contract with immutable code. It is an EIP-1167 minimal proxy. Its full runtime bytecode (45 bytes) is:
0x363d3d373d3d3d363d739f36ee33fd56c7d9a78facd3249c580b1ca464a2 5af43d82803e903d91602b57fd5bf3
Minimal proxies have no upgrade mechanism. This code can never change. Verify with an eth_getCode call against any Base RPC.
2. The logic it delegates to is an NFT contract — with no ERC-20 functions at all. The proxy delegates to 0x9f36ee33fd56c7d9a78facd3249c580b1ca464a2, an ERC-1155 NFT contract named "Meme For Trees" — the original MfT NFT contract. A contract can only move ERC-20 tokens by exposing a function that calls the token contract. This one exposes none:
| Capability | Present in function table? |
|---|---|
| ERC-20 transfer / transferFrom out | No |
| sweep / rescue / withdrawToken | No |
| Arbitrary call / execute | No |
| Upgrade / setImplementation | No |
| ERC-1155 ops on its own NFT IDs | Yes (irrelevant to ERC-20 balances) |
| Owner functions (metadata, royalties) | Yes (cannot touch ERC-20 balances) |
The complete 4-byte selector inventory of the implementation is published below so anyone can repeat the analysis.
3. The address has never sent a token. Every ERC-20 transfer involving this address in its entire history is inbound. Check the token transfer history on BaseScan — there are no outgoing transfers and never can be.
curl -s https://mainnet.base.org -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"eth_getCode","params":["0xfd780B0aE569e15e514B819ecFDF46f804953a4B","latest"]}' — compare to the bytecode above.balanceOf(0xfd780B0aE569e15e514B819ecFDF46f804953a4B) on the token contract, or use the BaseScan token view.balanceOf calls — raw data at api/reactor-map.json.All function selectors present in the implementation's dispatch table (extracted from on-chain bytecode at 0x9f36...64a2):
01ffc9a7 supportsInterface 04634d8d setDefaultRoyalty 06fdde03 name 0e89341c uri 2a55205a royaltyInfo 4e1273f4 balanceOfBatch 55f804b3 setBaseURI 6c0360eb baseURI 715018a6 renounceOwnership 8da5cb5b owner 938e3d7b setContractURI 95d89b41 symbol a22cb465 setApprovalForAll e8a3d485 contractURI e985e9c5 isApprovedForAll f242432a safeTransferFrom (ERC-1155) f2fde38b transferOwnership f5298aca burn (ERC-1155) f6eb127a burnBatch fee81cf4 ownershipHandoverExpiresAt f04e283e completeOwnershipHandover 25692962 requestOwnershipHandover 098144d4 getTransferValidator a9fc664e setTransferValidator 0d705df6 getTransferValidationFunction d7533f02 (1155-C config) 2eb2c2d6 (1155-C config) 362925c2 (mint config) 37da577c (mint config) 54d1f13d (mint config) 869f7594 (supply view) 9d7f4ebf (mint config) a4830114 (mint) bd85b039 totalSupply(uint256) c6ab67a3 (config view) 099b6bfa (mint config)
Because this is a custom burn address (chosen for auditability), some third-party trackers that only recognize 0xdEaD will not automatically subtract these balances from circulating supply. Where listings allow declared burn addresses (e.g. CoinGecko, CoinMarketCap), this address is declared. This page is the canonical reference.