3

If I have a deterministic wallet which previously held bitcoin but is now empty and is no longer needed, what information should I keep? I think there are three options:

  1. keep nothing
  2. keep the master public key only
  3. keep the seed phrase

I can think of some implications of the options:

  • If I don't keep the seed phrase, any funds accidentally sent to an address associated with the wallet will be lost forever. This becomes even more likely if the master public key is kept, as new addresses can still be generated for the wallet.
  • If I keep anything at all there is a potential privacy leak waiting to happen if the details I kept fall into anyone else's hands, so over time I'm stuck with an increasing quantity of mostly useless information to keep secure.
  • If I may need to prove the wallet was mine later on (e.g. to a tax authority claiming I sold coins when I was really just moving them around between my own wallets):
    • I probably need the seed phrase to show this unambiguously.
    • Having just the master public key might provide convincing if not bulletproof evidence the wallet was mine.
    • Pointing to a chain of transactions terminating in non-empty wallets I still control might prove what's necessary without needing any information about the old wallet at all.

What are the best practices here? Does it make a difference how much bitcoin was held in the wallet and how long for? Compare, for example, a cold storage wallet which is being retired vs a wallet created with a negligible amount of bitcoin to play around with a new piece of software.

2 Answers 2

3

First off, you should consider if you actually need to abandon your current seed phrase. Reasons for that include:

  1. Your seed phrase has been compromised. In this case you need to move your funds to a safe wallet as quickly as you can before someone steals them.
  2. Your master public key has been leaked. This means any past and future transactions done using this seed phrase will not be private anymore. (Wallets using hardened derivation do not permit a master public key, some permit account-level extended public keys which only generate addresses for a single account. If an extended public key leaks then you can usually just stop using that one account.)
  3. You are moving to a higher-security solution (e.g. from a software wallet to an air-gapped hardware wallet) and thus need to also replace your seed phrase that was previously generated in a less secure environment.
  4. You are moving to a wallet or backup system that is incompatible with the previous seed phrase (e.g. from a single BIP39 seed phrase to a 2-of-3 Shamir backup).
  5. You've sold all your bitcoin and have no plans of coming back.

If you've determined that you will not be using this seed phrase going forward, then I would argue you should either keep the seed phrase or keep nothing at all. Keeping just the master public key will not protect you from any dangers compared to keeping the seed phrase, as the knowledge of either is now (with the wallet empty) merely a privacy leak and does not conclusively prove ownership. And as you've mentioned, keeping just the public key increases risk of accidentally burning funds.

So here are some reasons that come to mind to keep the seed phrase:

  1. One or more of the associated addresses is or was at some point publicly available (like a public donation address). Even if it has been taken down, it's still possible that someone has saved it or reposted it elsewhere and in case it receives some coins you will want to be able to spend them.
  2. You want to keep a backup of all transactions that have happened in the wallet. Again, this is mostly just for you, as a seed phrase does not conclusively prove ownership (especially for an empty wallet).
  3. There are local laws and regulations that might at some point require you to submit a non-conclusive proof of ownership for that wallet. (Some countries currently require such "proofs" for withdrawal addresses.)

Personally I would hold on to any retired seed phrase unless it was only used to play around with a few sats. The storage requirements for a seed phrase of an empty wallet are much lower than for an actively used wallet, and you are probably safe keeping them all in one place, so it shouldn't take much effort.

2

You bring up issues I had not considered.

Which lead me to conclude the Seed Recovery phrase (mnemonic + passphrase if used) should be retained.

If non-standard derivation paths, big address gaps etc were used (bad idea) then also keep notes of those to save the efforts required to recover. Also dates and wallet client(s) version#s.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.