seedrecover.py is BTCRecover’s seed phrase recovery tool. It takes your best guess at a seed — one with missing words, typos, or wrong words — and systematically searches for the correct version. It runs automatically through multiple search phases and handles BIP39, SLIP39, and Electrum v1/v2 seeds.
Supported seed types
| Seed type | Notes |
|---|---|
| BIP39 | 12 or 24 words. Used by Ledger, Trezor, Keepkey, Coldcard, and most software wallets. Default when --wallet-type bip39 is used. |
| SLIP39 | Shamir’s Secret Sharing shares used by Trezor T. Can also recover damaged shares with --slip39. |
| Electrum v1 | Legacy 12-word seeds used by early Electrum releases. |
| Electrum v2 | Modern Electrum seeds (v2.x+), including Segwit variants. |
What you need before starting
You need a good estimate of your seed and one of the following (in order of preference):- Your Electrum wallet file (for Electrum v1/v2 wallets only)
- Your master public key (xpub / ypub / zpub)
- A receiving address generated by the wallet, plus a rough count of how many addresses you created before it
- An address database — see Address database if you have none of the above
If you have neither an address nor an xpub, an address database is required. Building or downloading one takes more setup, but the actual seed search runs at roughly the same speed regardless.
Fully supported wallets
Hardware wallets
- Ledger Nano X and S
- Trezor One and T
- Keepkey
- Safepal
- Coldcard
- Bitbox02
- Keystone
- Cobo Vault
- Ellipal
- CoolWallet S (requires converting seed numbers to BIP39 words; use
--force-p2shfor Bitcoin and Litecoin)
Software wallets
- Electrum (v1 and v2 seeds, including Electrum-LTC and Electron-Cash forks)
- Coinomi
- Wasabi
- Edge Wallet
- Mycelium
- Exodus
- Trust Wallet
- Metamask (including Binance Chain Wallet and other clones)
Automatic search phases
When you runseedrecover.py without overriding the search depth, it automatically runs through four phases. Each phase finds a larger fraction of possible errors at the cost of more search time.
| Phase | Description |
|---|---|
| 1 | Single typo |
| 2 | Two typos, including one completely wrong BIP39 word |
| 3 | Three typos, including one completely wrong BIP39 word |
| 4 | Two typos, both of which could be completely wrong words |
GUI walkthrough
On most systems you can runseedrecover.py without a terminal by double-clicking it. On macOS, first rename the file to seedrecover.command.
Open your wallet file (Electrum only)
If you have an Electrum wallet file, open it now. All remaining steps will be skipped. Otherwise click Cancel to continue.
Select your wallet type
Choose the wallet software or coin type that generated your seed. If unsure, BIP39 covers most hardware and modern software wallets.
Enter your master public key
If you have your xpub (or ypub/zpub), enter it here. Otherwise click Cancel.
Enter receiving addresses
Enter as many of your wallet’s receiving addresses as you can find, separated by spaces. Earlier addresses are better. Only use addresses from your first account.
Set the address generation limit
Enter how many addresses to generate per seed candidate. If your entered addresses were all within the first 10 you ever created, use
10. More addresses means a slower but safer search.Basic CLI examples
Recover a Bitcoin native SegWit address with one missing word:Explore further
BIP39 seed descrambling
Recover a seed when you have all the words but don’t know the order
Derivation paths and altcoins
Choose the right wallet type and derivation path for your coin
Address database
Recover seeds without a known address or xpub