Skip to main content
seedrecover.py recovers seed phrases (mnemonics) where you have lost words, made transcription errors, or need to descramble a reordered seed. It also handles SLIP39 share recovery and Electrum v1/v2 seeds.
Recovery without a known address requires an Address Database. There is no significant performance penalty for using an AddressDB — it just takes extra setup time.
BIP39 is the most widely used seed standard. seedrecover.py searches across all common derivation paths automatically.
CoinWallet type flag
Avalanche--wallet-type avalanche
Bitcoin--wallet-type bip39 (default)
Bitcoin Cash--wallet-type bch
Cardano (Shelley era)--wallet-type cardano
Cosmos / Atom (and chains: Nym, GravityBridge, etc.)--wallet-type cosmos
Dash--wallet-type dash
DigiByte--wallet-type digibyte
Dogecoin--wallet-type dogecoin
Elrond / MultiversX--wallet-type elrond
Ethereum--wallet-type ethereum
Ethereum Validator (EIP-2334)--wallet-type ethereumvalidator
Groestlcoin--wallet-type groestlecoin
Hedera (Ed25519 / HIP-32)--wallet-type hederaed25519
Helium--wallet-type helium
Litecoin--wallet-type litecoin
LND aezeed--wallet-type aezeed
Monacoin--wallet-type monacoin
Polkadot (sr25519)--wallet-type polkadotsubstrate
Ripple / XRP--wallet-type ripple
Secret Network--wallet-type secretnetwork
Solana--wallet-type solana
Stacks--wallet-type stacks
Stellar / XLM--wallet-type xlm
Tezos--wallet-type tezos
Tron--wallet-type tron
Vertcoin--wallet-type vertcoin
Zilliqa--wallet-type zilliqa
Many other Bitcoin-like coinsUse appropriate --wallet-type
Example — Bitcoin with one missing word
python seedrecover.py --wallet-type bip39 \
  --addrs bc1qv87qf7prhjf2ld8vgm7l0mj59jggm6ae5jdkx2 \
  --mnemonic "element entire sniff tired miracle solve shadow scatter hello never tank side sight isolate sister uniform advice pen praise soap lizard festival connect" \
  --addr-limit 5
Example — Ethereum with one missing word
python seedrecover.py --wallet-type ethereum \
  --addrs 0x4daE22510CE2fE1BC81B97b31350Faf07c0A80D2 \
  --mnemonic "cable top mango offer mule air lounge refuse stove text cattle opera" \
  --addr-limit 10
Example — Cardano (Ledger Nano) with one missing word
python seedrecover.py --wallet-type cardano \
  --addrs addr1qyr2c43g33hgwzyufdd6fztpvn5uq5lwc74j0kuqr7gdrq5dgrztddqtl8qhw93ay8r3g8kw67xs097u6gdspyfcrx5qfv739l \
  --mnemonic "wood blame garbage one federal jaguar slogan movie thunder seed apology trigger spoon basket fine culture boil render special enforce dish middle antique"
Example — LND aezeed with one missing word
python seedrecover.py --wallet-type aezeed \
  --addrs 1Hp6UXuJjzt9eSBa9LhtW97KPb44bq4CAQ \
  --mnemonic "absorb original enlist once climb erode kid thrive kitchen giant define tube orange leader harbor comfort olive fatal success suggest drink penalty chimney" \
  --addr-limit 5
For LND aezeed seeds, if you no longer have a known address, omit --addrs to run in checksum-only mode. BTCRecover will warn that the result must be manually verified to avoid false positives.
Example — Tron with one missing word
python seedrecover.py --wallet-type tron \
  --addrs TLxkYzNpMCEz5KThVuZzoyjde1UfsJKof6 \
  --mnemonic "have hint welcome skate cinnamon rabbit cable payment gift uncover column duck scissors wedding decorate under marine hurry scrub rapid change roast print arch" \
  --addr-limit 1
Example — Polkadot (sr25519) with one missing word
python seedrecover.py --wallet-type polkadotsubstrate \
  --addrs 13SsWBQSN6Se72PCaMa6huPXEosRNUXN3316yAycS6rpy3tK \
  --mnemonic "toilet assume drama keen dust warrior stick quote palace imitate music disease"
Example — Polkadot with derivation path and passphrase
python seedrecover.py --wallet-type polkadotsubstrate \
  --addrs 12uMBgecqfkHTYZE4GFRx847CwR7sfs2bTdPbPLpzeMDGFwC \
  --mnemonic "toilet assume drama keen dust warrior stick quote palace imitate music disease" \
  --passphrase-arg btcr-test-password \
  --substrate-path //hard/soft
Example — Ethereum Validator with one missing word
python seedrecover.py \
  --mnemonic "spatial evolve range inform burst screen session kind clap goat force x" \
  --addrs 869241e2743379b6aa5e01138d410851fb2e2f3923ccc19ca78e8b14b01d861f67f95e2e6b3be71a11b251680b42dd81 \
  --wallet-type ethereumvalidator \
  --addr-limit 1
Example — Hedera Ed25519
python seedrecover.py --wallet-type hederaed25519 \
  --addrs 0x000000000000000000000000000000000098d10f \
  --mnemonic "edit bean area disagree subway group reunion garage egg pave endless outdoor now egg alien victory metal staff ship surprise winter birth source cup" \
  --addr-limit 1
SLIP39 (Shamir’s Secret Sharing) divides a secret into multiple shares. seedrecover.py can recover a damaged or partially incorrect SLIP39 share.Supported coins
  • Bitcoin
  • Bitcoin Cash
  • Dash
  • DigiByte
  • Dogecoin
  • Ethereum
  • Litecoin
  • Ripple / XRP
  • Vertcoin
Example — fix a damaged SLIP39 share (2 typos)
python seedrecover.py --slip39 \
  --mnemonic "hearing echo academic acid deny bracelet playoff exact fancy various evidence standard adjust muscle parcel sled crucial amazing mansion losing" \
  --typos 2
Example — recover a share with one missing word
python seedrecover.py --slip39 \
  --mnemonic "hearing echo academic acid deny bracelet playoff exact fancy various evidence standard adjust muscle parcel sled crucial amazing mansion" \
  --big-typos 2
SLIP39 seed recovery matches checksums only. A result still needs to be manually verified before trusting it to unlock funds.
For 33-word shares, seedrecover.py auto-detects the length. Override with --share-length WORDS if needed.
Electrum uses its own non-BIP39 seed format. Both v1 (older) and v2 (current) seeds are supported.
WalletType flag
Electrum 1.x--wallet-type electrum1
Electrum 2.x, 3.x, 4.x--wallet-type electrum2
Electron-Cash 2.x–4.x--wallet-type electrum2
Electrum-LTC--wallet-type electrum2
Use --bip32-path "m/0'/0" for Segwit Electrum wallets; leave the path blank for Legacy.Example — Electrum v1 with one wrong word
python seedrecover.py --wallet-type electrum1 \
  --addrs 1Pw1yjF5smzg6eWbE2LbFm7fr1zq7WUYc7 \
  --mnemonic "milk hungry group sound Lift Connect throw rabbit gift leg new lady pie government swear flat dove imagination sometime prepare lot trembl alone bus" \
  --addr-limit 2
Example — Electrum v2 passphrase recovery via btcrecover.py
python btcrecover.py --wallet-type electrum2 \
  --addrs bc1q6n3u9aar3vgydfr6q23fzcfadh4zlp2ns2ljp6 \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "quote voice evidence aspect warfare hire system black rate wing ask rug"
Electrum 2FA wallets are not supported.
The following hardware wallets are fully supported for seed phrase recovery (for all supported cryptocurrencies):
Hardware walletNotes
Ledger Nano X and SFull BIP39/44 support
Trezor One and TFull BIP39/44 support
KeepkeyFull BIP39/44 support
ColdcardFull BIP39/44 support
Bitbox02Full BIP39/44 support
SafepalFull BIP39/44 support
KeystoneFull BIP39/44 support
Cobo VaultFull BIP39/44 support
EllipalFull BIP39/44 support
Blockstream JadeFull BIP39/44 support
CoolWallet SConvert seed numbers to BIP39 words first; use --force-p2sh for Bitcoin and Litecoin
BIP39 passphrase recovery for hardware wallets is handled by btcrecover.py with the --bip39 flag — see the password recovery page.
Fully supported
  • Coinomi
  • Wasabi Wallet
  • Edge Wallet
  • Mycelium
  • Exodus
  • Trust Wallet
  • Metamask (and clones: Binance Chain Wallet, etc.)
  • MultiBit HD
  • Jaxx
  • MyEtherWallet
  • Bither
  • Blockchain.com (legacy wallet recovery mnemonic)
  • Hive (Android, iOS, Web)
  • Breadwallet
Wallets with compatibility issues
WalletIssue
Atomic WalletNon-standard derivation for ETH and all ERC-20 tokens; use --checksinglexpubaddress. XRP also non-standard.
Abra WalletNon-standard seed format: first word is non-BIP39 “at”; the last 12 words are BIP39 with checksum, but derivation cannot be reproduced.

Build docs developers (and LLMs) love