Skip to content
Frank Poncelet

ethereum · wallets · post-quantum

The Vault did speak

13 Nov 2026

In 2021 I came across a diagram on Twitter: Secure your portfolio, a layered structure. Three boxes. A hot wallet for minting, which the diagram tells you to expect to lose. A cold one for the things you mean to sell. And a vault that does transfers in and out and nothing else. I retweeted it many times, crediting @vlozano_eth.

The 2021 diagram by @vlozano_eth, Secure your portfolio, layered structure. A hot burn wallet for minting leads to the question: will you sell your asset? Yes goes to a cold Ledger that deals only with trusted marketplaces. No, the long-term hodl, goes to a vault, a second Ledger that only does transfers in and out. Between cold and vault: in/out only.

I have used that setup ever since. I never got compromised. Many did try tho...

Scammed the scammer

A woman reached out to me on Twitter (now X). A typical broker scam. I convinced her to send me some gas money so I could connect my vault to her platform... I did not. Reflecting on it, why the hell would you send me gas money? There were several ETH in my hot wallet at the time. I was on to her scam from the second message she sent.

As far as I can tell from my transaction history, this is the transfer: 0.018315 ETH on 23 February 2022, five weeks after my V1 wrapper went live. It came out of an exchange's wallet, according to Etherscan. She did send it to my hot wallet, not even my vault.

She paid for an attempt to make the vault break its one and only rule.

How the vault stays quiet

A vault that never connects is easy to draw in a diagram. Using one day to day is a lot harder, because airdrop claims, allowlists, ApeFest, token-gated logins and many more will all ask for the wallet that holds the asset.

Using delegate.xyz is how you fix that. The vault names a hot wallet in an on-chain registry, and from there on the hot wallet claims and proves on the vault's behalf. The delegate "cannot touch anything within the vault". Several of my wallets are delegated to my hot wallet.

The original diagram calls the hot wallet a burn wallet. My public one is not really that. franknft.eth carries my name, and my agent is also linked to it (see the ERC-8004 piece). Bunker mode called it public by design. What still holds from that first diagram: keep nothing important in it.

For the wallets that do need to sign approvals there is Revoke.cash. It is a hygiene tool allowing you to easily remove unused approvals. Its FAQ has the line a cold wallet needs: with approvals nobody has to steal your keys, so "hardware wallets offer no extra protection against approval exploits". Your vault should not have any approvals.

The split itself got an interesting test two days after Bunker mode went live. On 29 October Binance lost about 6.3 billion dollars by its own estimate, in what Reuters called possibly the largest financial heist ever. By Bitquery's on-chain count, every drain came from hot wallets. Binance says it found no evidence of a leaked private key: by its account the attacker got into an internal service that could submit withdrawals. So the layers did not stop the theft. They kept it to the hot layer. Bitquery also found that when a Binance wallet sent 200 million USDT to the compromised hot wallet 78 minutes after the main drain, the money was moved on 72 seconds later. A once compromised address stays compromised. "Burn wallet" was maybe the right name for that one after all. Cold is no guarantee either. In February 2025 Bybit lost about 1.5 billion dollars from a cold wallet, after its signers approved a transfer that a tampered interface had changed.

The vault did speak

A delegation is a transaction. My vault has signed: the delegation, and several outs.

Receiving crypto or an NFT only shows your address, and an address is the last 20 bytes of the Keccak-256 hash of the public key, not the key itself. The first signature gives the whole key away, and it stays on chain for good. By that test my vault stands on the same side as my hot wallet.

Vitalik Buterin drew the same line for multisigs on 8 October: gather the confirmations off chain, and the signers' signatures stay out of public view.

The 2021 diagram was drawn against websites and contracts. It had no box for a key that has to stay unseen.

The fourth box

Diagram of four wallet layers. A hot wallet leads to the question: will you sell it? Yes goes to a cold wallet, no goes to the vault. Cold and vault exchange transfers only, and the vault delegates to the hot wallet. Hot, cold and vault each send into a bunker that never signs and has one exit, once, with everything. Based on the design by @vlozano_eth.

The bunker lives next to the vault. The vault is in/out. The bunker is in only, and it takes deposits from anywhere: the hot wallet, the cold one, the vault. It has no delegation and it has never signed anything.

The new diagram says "hardware signer". You only need one, because one signer can generate several addresses. Justin Drake's bunker mode post also allows for it: the fresh address is "possibly generated from the same seed phrase".

There is a condition. BIP-32, the standard these addresses are derived under, says an extended public key is enough to rebuild the public key of every non-hardened address below it, and that the same key plus one of their private keys gives up the rest. So the bunker does belong in an account of its own, on a hardened path, and that account's extended public key should never have been handed to an app.

What the bunker costs

Whatever sits in the bunker cannot claim an airdrop or prove what it holds. Delegating it would take a signature... and the registry would then draw a public line from the bunker to a hot wallet.

The best way out is everything at once, to a fresh address. The new diagram has a box for that: exit once, with everything. That is a migration, and migrations are where money goes missing. Buterin's reply to Drake said unused addresses are a good idea if they come easy, then warned about migrations: in his words, he has "lost more money in botched migrations than I have lost in all hacks combined".

On 9 November a wallet funded in Ethereum's genesis block made its first outgoing transfer in more than a decade: a 0.05 ETH test payment. Within minutes, addresses built to look like that payment's recipient were dusting the wallet, Coininsider reported. The 2,154.94 ETH still arrived where it was meant to. That wallet was a bunker by accident, and that is what leaving one looks like. An exit is watched from its first signature, and here the test payment was that signature. For about 38 minutes the key was on chain with the rest of the balance still behind it. A test payment from the bunker would break the rule on the diagram: exit once, with everything. Check the destination in full on the hardware signer's screen, every character, and never copy it from the transaction history. Then send once. If you want a rehearsal, run it from a throwaway address.

One signer is also one recovery phrase. The layers limit what each wallet signs. They do nothing against a leaked seed phrase.

So why bother, when my own line in Bunker mode was that the risk is not for today? Because getting in costs one transfer. The exit is the step I want to take once, and calmly.

The proper exit is still being built. On 11 November Ethlabs proposed pulling Ethereum's post-quantum target forward to 2027. The Block also reported it the next day.

Where I land

The vault did speak. Back in 2021 that was the right call: it spoke to a registry but never to a website, and nobody got in. But a key cannot take back what it has signed, and the quantum threat reads those signatures.

The bunker did not speak (yet)...