How to test a seed phrase backup without risking the coins
A dry-run recovery, step by step: what to check, what never to type into a computer, and how to know the backup restores the same wallet.
Published 9 min read
In short
A seed phrase backup is only proven when it has restored the wallet once. The safe test is a recovery on a hardware wallet that is wiped or set aside for the purpose, followed by a comparison of the first receiving address or the wallet fingerprint with what you already have.
The words must never be typed into a phone, a computer or a website during the test. If a passphrase is part of the setup, it has to be tested too, because under BIP39 a wrong passphrase silently opens a different, empty wallet instead of showing an error.
Most bitcoin that is lost is not stolen. It sits behind a seed phrase that was written down with a misspelled word, stored in the wrong order, split across two papers that no longer match, or protected by a passphrase its owner no longer remembers. None of these faults shows up while the original device keeps working. They appear on the day the device breaks, and by then nothing can be done.
A recovery test moves that day forward to a moment of your choosing, when the original device still works and every mistake can be fixed by writing a new backup.
What exactly does a seed phrase back up?
A seed phrase under BIP39 is a list of 12, 15, 18, 21 or 24 words taken from a fixed list of 2048. The words encode between 128 and 256 bits of random data plus a short checksum. The wallet runs the words, together with an optional passphrase, through 2048 rounds of PBKDF2 with HMAC-SHA512 to produce a 512-bit seed. Every key the wallet will ever use is derived from that seed by the method in BIP32.
Two consequences matter for testing:
- The words are the whole wallet. Anyone who has them, and the passphrase if one is set, can rebuild every key. A test must therefore never put the words where someone else could read them.
- The words and the passphrase together decide which wallet you get. BIP39 says plainly that every passphrase produces a valid seed. There is no “wrong passphrase” error: a typo simply leads to another wallet, which will be empty.
The seed phrase does not store your balance or your transaction history. Those live on the blockchain; the restored wallet finds them again by deriving the same addresses and looking them up.
What can go wrong with a backup that looks fine?
| Fault | How it happens | Caught by the checksum? | Caught by an address comparison? |
|---|---|---|---|
| A misspelled word | Handwriting, a similar word, autocorrect on a draft | Often: the first four letters of each BIP39 word are unique, and most wallets refuse a word not on the list | Yes |
| A wrong but valid word | Copying “able” as “table” | Sometimes not: a 12-word phrase has 4 checksum bits | Yes |
| Two words swapped | Writing in columns and reading across rows | Sometimes not | Yes |
| Missing or wrong passphrase | Forgotten capital letter, trailing space | No: every passphrase is valid by design | Yes |
| Wrong account or script type | Restoring into a wallet that derives a different path | Not a backup fault, but looks like one | Yes, once the right path is chosen |
| Incomplete Shamir shares | Too few SLIP-39 shares, or shares from two different sets | SLIP-39 detects up to three wrong words per share | Yes |
The checksum is a safety net, not a test. For a 12-word phrase the checksum is 4 bits long (128 bits of entropy divided by 32), so roughly one wrong-but-valid word in sixteen still passes. For 24 words it is 8 bits. Only a restored wallet that shows the expected address proves the backup.
How do I run the test safely?
You need the backup itself, a hardware wallet and about twenty minutes in a private room. Do not photograph the words and do not read them aloud near a phone or a smart speaker.
- Write down what you will compare against. From the wallet you use today, note the first receiving address of the main account, or the wallet’s master key fingerprint if your software shows one. Both are public information; the fingerprint is eight hexadecimal characters derived from the master key under BIP32.
- Choose a device for the test. The cleanest option is a second hardware wallet, or the same one after you have confirmed that the backup you are about to test is the only copy you would need anyway. Some devices offer a “check backup” mode that compares the words against the stored seed without wiping; your device’s manual says whether it has one.
- Enter the words on the device itself. Use the device’s own screen and buttons. Never type the words into wallet software on a computer or phone for this test.
- Enter the passphrase exactly as you would in an emergency. If you have one, type it from the written record, not from memory. Case matters and so do spaces.
- Compare. Open the restored wallet and look at its first receiving address or its fingerprint. If it matches your note, the backup works. If the device opens an empty wallet with an unfamiliar address, something differs: a word, the order, or the passphrase.
- Reset if you used a spare device. Wipe the test device afterwards, so the seed does not live in two places by accident.
If the addresses do not match, check the obvious first. Is the wallet software deriving the same kind of addresses? A wallet using BIP84 native SegWit addresses (starting with bc1q) and one using legacy addresses (starting with 1) will show different first addresses from the same seed. The derivation path has to match before the comparison means anything.
Should I check the address or the fingerprint?
Either works; they test the same thing from two ends.
- The first receiving address is what most people already have in their history, so it needs no extra tools. It depends on the derivation path and address type, so it only matches if the test wallet uses the same ones.
- The master key fingerprint is defined in BIP32 as the first 32 bits of the hash of the master public key. It does not depend on the path. If two devices show the same fingerprint, they hold the same seed and passphrase.
- An xpub for an account also works, but it reveals every address of that account to whoever sees it. Compare it on screen; do not paste it into websites.
What about passphrases and Shamir backups?
A passphrase turns one seed into many wallets. Trezor’s documentation describes it the same way BIP39 does: each passphrase opens its own hidden wallet, mistyping it creates a new hidden wallet, and the passphrase is not stored anywhere, so funds behind it cannot be recovered without it. The test is the same as for the words: restore with the written passphrase and compare the address.
Shamir backups under SLIP-39 split a secret into 20- or 33-word shares, of which a set number is needed to recover. The standard is not compatible with BIP39, so a SLIP-39 share cannot be restored in a BIP39-only wallet. Each share ends with three checksum words that detect any error affecting up to three words. The test is to recover from exactly the minimum number of shares, using a different combination of shares each time you test, so that every share is proven at least once.
What if the test fails?
A failed test is the good outcome of a bad backup: you found the fault while the original wallet still works. Work through it in order.
- Rule out the software first. Make sure the test wallet uses the same address type and derivation path as the original. A different path is the most common reason for a “wrong” address from a correct backup.
- Check the passphrase. Try it exactly as written, then consider case, spaces and keyboard layout. If no written passphrase exists but one was used, the backup is incomplete.
- Check the words against the list. Every BIP39 word is on the 2048-word list and is identified by its first four letters. A word that is not on the list, or two words that share a prefix with a list word, point to the error.
- Do not try combinations on an online computer. Recovery tools that guess words or order exist, but running them means typing the backup into a computer. If you still control the original wallet, the safer fix is simpler.
- Make a new backup from the working wallet, or move the funds to a newly created wallet with a fresh seed phrase, and test that one before relying on it. Then destroy the faulty copy securely.
When should the test be repeated?
A backup is a copy, and every copy is a new chance for a mistake. Test again:
- right after creating the wallet;
- after copying the words to a metal plate or a second location;
- after changing or adding a passphrase;
- after splitting the backup into Shamir shares or changing who holds them;
- after any long gap, to confirm the backup is still where you think it is and still legible.
A test that passes once and is never repeated becomes stale in the same way the original backup would have.
What should never happen during a test?
- No typing of words into internet-connected devices, including “offline” mode on a phone that has been online before.
- No photographs, scans or cloud notes of the words, even temporary ones.
- No help from strangers. No support desk of any wallet maker needs your seed phrase. Anyone asking for it, by chat, email or phone, is attempting theft; see how pig butchering scams work for the most common script.
- No moving of funds to “test” the backup. Sending coins to the restored wallet proves nothing that the address comparison does not already prove, and it adds fees and new transactions to your history.
A clean result is boring: the same address, the same fingerprint, a wiped spare device and the backup back in its place. That is the outcome to aim for, and it is worth repeating on a schedule.
Questions
- Can I test my seed phrase by typing it into a wallet app on my phone?
- You can, but you should not. A phone or computer is exactly where malware looks for seed phrases, and once the words have been typed there you have to treat them as exposed. Test on a hardware wallet that never connects the words to the internet.
- My wallet accepted the words. Does that prove the backup is right?
- Not on its own. The last word of a BIP39 phrase carries a short checksum, so many mistakes are rejected, but a 12-word phrase has only 4 checksum bits and some errors still pass. The proof is that the restored wallet shows the same first receiving address or fingerprint as the original.
- What happens if I get the passphrase wrong during the test?
- Nothing visible goes wrong. Under BIP39 every passphrase produces a valid wallet, so a typo opens a different, empty one. That is why the test compares an address: an empty wallet with an unfamiliar address means the passphrase or the words do not match.
- How often should a backup be tested?
- At least once right after it is made, and again whenever it is copied, moved to metal, split into shares or changed in any way. Each copy is a new chance for a transcription error.