September 23, 2025
The EIP-7503 is an Ethereum Improvement Proposal that uses zero-knowledge ‘wormholes,’ enabling ETH to be secretly burned at one address and re-minted at another.
How it works
You burn your digital asset by sending it to an unspendable address, and later proving it with a zk proof that the
token exists at an address from which it can never be spent.
Once the proof is verified, the protocol authorizes the minting of an equivalent amount of ETH to a newly designated account.
The contract enforces 1:1 conservation: the amount burned = the amount minted.
So you’re not inflating supply, you’re just relocating coins through a cryptographic wormhole.

The EIP-7503 also adds a new transaction type :
WormholeTxType { proof, nullifier, recipient }
Its payload contains a special field, proof, which is the zero-knowledge proof that you really burned ETH at an unspendable address. If the proof verifies, the transaction mints the same amount of ETH to the destination you specify (recipient).
What is an 'unspendable address'?
It's simply a public address without a private key. A spendable address is generated by taking the Keccak-256 hash of a Secp256k1 public key and then keeping the last 20 bytes :
Spendable: ∃ priv → address = Keccak256(pubkey(priv))[..20]
An unspendable address is just an address that was never generated through the private-key → public-key → Keccak pipeline. In other words, there is no Secp256k1 private key that would ever hash down to it.
Unspendable: ∄ priv → Keccak256(pubkey(priv))[..20] = address
How do you prove it? (Proof-of-Burn scheme)
- You pick a random value (r) and compute :
address=hash(r)[..20]
the hash function should not be Keccak because its already the one that ethereum uses to generate addresses
- You send ETH to that address, and also provide (r) as a proof of how you generated the random address
So its another privacy protocol like Tornado Cash?
No, Tornado Cash is a "mixer"; a smart contract application deployed on Ethereum.
With EIP-7503, the burn-remint mechanism is natively implemented in ethereum itself, meaning that no one can ever censure it.