Skip to main content
All examples on this page use the same seeds, addresses, and passwords as the automated test suite, so you can copy-paste them to verify your installation before running a real recovery.
On some systems you may need to use python3 instead of python. On Windows you can also double-click seedrecover.py to launch the graphical interface.

Password recovery examples

No --wallet-type is needed for Bitcoin. BTCRecover automatically checks Legacy, SegWit, and Native SegWit address types.
python btcrecover.py --bip39 \
  --addrs 1AmugMgC6pBbJGYuYmuRrEpQVB9BBMvCCn \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "certain come keen collect slab gauge photo inside mechanic deny leader drop"
Specify --wallet-type ethereum. The --bip39 flag is implied.
python btcrecover.py --wallet-type ethereum \
  --addrs 0x4daE22510CE2fE1BC81B97b31350Faf07c0A80D2 \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "cable top mango offer mule air lounge refuse stove text cattle opera"
Electrum uses its own seed format. Use --wallet-type electrum2.
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"
Use the validator public key (signing key) as the address.
python btcrecover.py \
  --mnemonic "spatial evolve range inform burst screen session kind clap goat force sort" \
  --addrs b08ef0d03052945b6c4207e9b64a41e7773bd7b635e5140e8d38c290b11959bbcbe218850c5a478394654d094094d175 \
  --wallet-type ethereumvalidator \
  --addr-limit 1 \
  --tokenlist ./btcrecover/test/test-listfiles/tokenListTest.txt
All commands below use the same seed and passwordlist. Substitute your own values for real recovery.Zilliqa — supports Base16 and Bech32 addresses:
python btcrecover.py --wallet-type zilliqa \
  --addrs zil1dcsu2uz0yczmunyk90e8g9sr5400c892yeh8fp \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "cable top mango offer mule air lounge refuse stove text cattle opera"
Bitcoin Cash — accepts CashAddr or Legacy addresses:
python btcrecover.py --wallet-type bch \
  --addrs bitcoincash:qqv8669jcauslc88ty5v0p7xj6p6gpmlgv04ejjq97 \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "cable top mango offer mule air lounge refuse stove text cattle opera"
Cardano — accepts Shelley base or stake addresses:
python btcrecover.py --wallet-type cardano \
  --addrs addr1q90kk6lsmk3fdy54mqfr50hy025ymnmn5hhj8ztthcv3qlzh5aynphrad3d26hzxg7xzzf8hnmdpxwtwums4nmryj3jqk8kvak \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "ocean hidden kidney famous rich season gloom husband spring convince attitude boy"
Dash:
python btcrecover.py --wallet-type dash \
  --addrs XuTTeMZjUJuZGotrtTPRCmHCaxnX44a2aP \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "cable top mango offer mule air lounge refuse stove text cattle opera"
Dogecoin:
python btcrecover.py --wallet-type dogecoin \
  --addrs DSTy3eptg18QWm6pCJGG4BvodSkj3KWvHx \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "cable top mango offer mule air lounge refuse stove text cattle opera"
Litecoin — Legacy, SegWit, and Native SegWit:
python btcrecover.py --wallet-type litecoin \
  --addrs LdxLVMdt49CXcrnQRVJFRs8Yftu9dE8xxP \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "cable top mango offer mule air lounge refuse stove text cattle opera"
Vertcoin:
python btcrecover.py --wallet-type vertcoin \
  --addrs Vwodj33bXcT7K1uWbTqtk9UKymYSMeaXc3 \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "cable top mango offer mule air lounge refuse stove text cattle opera"
Monacoin:
python btcrecover.py --wallet-type monacoin \
  --addrs MHLW7WdRKE1XBkLFS6oaTJE1nPCkD6acUd \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "cable top mango offer mule air lounge refuse stove text cattle opera"
DigiByte:
python btcrecover.py --wallet-type digibyte \
  --addrs DNGbPa9QMbLgeVspu9jb6EEnXjJASMvA5r \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "cable top mango offer mule air lounge refuse stove text cattle opera"
Groestlcoin — requires the groestlcoin_hash module:
python btcrecover.py --wallet-type groestlecoin \
  --addrs FWzSMhK2TkotZodkApNxi4c6tvLUo7MBWk \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "cable top mango offer mule air lounge refuse stove text cattle opera"
Ripple (XRP):
python btcrecover.py --wallet-type ripple \
  --addrs rwv2s1wPjaCxmEFRm4j724yQ5Lh161mzwK \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "cable top mango offer mule air lounge refuse stove text cattle opera"
Tron:
python btcrecover.py --wallet-type tron \
  --addrs TGvJrj5D8qdzhcppg9RoLdfbEjDYCne8xc \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --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"
Polkadot (Substrate) — with derivation path:
python btcrecover.py --wallet-type polkadotsubstrate \
  --addrs 12uMBgecqfkHTYZE4GFRx847CwR7sfs2bTdPbPLpzeMDGFwC \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "toilet assume drama keen dust warrior stick quote palace imitate music disease" \
  --substrate-path "//hard/soft"
Stacks:
python btcrecover.py --wallet-type stacks \
  --addrs SP2KJB4F9C91R3N5XSNQE0Z3G34DNJWQYTP3PBJTH \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --mnemonic "ocean hidden kidney famous rich season gloom husband spring convince attitude boy" \
  --addr-limit 10
Stellar (XLM):
python btcrecover.py \
  --mnemonic "doctor giant eternal huge improve suit service poem logic dynamic crane summer exhibit describe later suit dignity ahead unknown fall syrup mirror nurse season" \
  --addrs GBPYX2ELQ6YTAF7DXER7RCQJR2HXXFX6HUZKWEZD3B6RKOLDSJF7UGXK \
  --addr-limit 2 --no-eta --wallet-type xlm \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
You must supply a quorum of shares. BTCRecover prompts for any shares not provided on the command line.Bitcoin:
python btcrecover.py --slip39 \
  --addrs bc1q76szkxz4cta5p5s66muskvads0nhwe5m5w07pq \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --slip39-shares \
    "hearing echo academic acid deny bracelet playoff exact fancy various evidence standard adjust muscle parcel sled crucial amazing mansion losing" \
    "hearing echo academic agency deliver join grant laden index depart deadline starting duration loud crystal bulge gasoline injury tofu together"
Ethereum:
python btcrecover.py --slip39 --wallet-type ethereum \
  --addrs 0x0Ef61684B1E671dcBee4D51646cA6247487Ef91a \
  --addr-limit 10 \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt \
  --slip39-shares \
    "hearing echo academic acid deny bracelet playoff exact fancy various evidence standard adjust muscle parcel sled crucial amazing mansion losing" \
    "hearing echo academic agency deliver join grant laden index depart deadline starting duration loud crystal bulge gasoline injury tofu together"
BIP38 wallets are scrypt-encrypted. Recovery is slow; GPU acceleration helps modestly.Bitcoin:
python btcrecover.py \
  --bip38-enc-privkey 6PnM7h9sBC9EMZxLVsKzpafvBN8zjKp8MZj6h9mfvYEQRMkKBTPTyWZHHx \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
Litecoin:
python btcrecover.py \
  --bip38-enc-privkey 6PfVHSTbgRNDaSwddBNgx2vMhMuNdiwRWjFgMGcJPb6J2pCG32SuL3vo6q \
  --bip38-currency litecoin \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
Dash:
python btcrecover.py \
  --bip38-enc-privkey 6PnZC9Snn1DHyvfEq9UKUmZwonqpfaWav6vRiSVNXXLUEDAuikZTxBUTEA \
  --bip38-currency dash \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
SHA256(passphrase) — Bitcoin (compressed and uncompressed):
python btcrecover.py --brainwallet \
  --addrs 1BBRWFHjFhEQc1iS6WTQCtPu2GtZvrRcwy \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
Bitcoin — P2SH (segwitaddress.org):
python btcrecover.py --brainwallet \
  --addrs 3C4dEdngg4wnmwDYSwiDLCweYawMGg8dVN \
  --skip-uncompressed \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
Bitcoin — Native SegWit (Bech32):
python btcrecover.py --brainwallet \
  --addrs bc1qth4w90jmh0a6ug6pwsuyuk045fmtwzreg03gvj \
  --skip-uncompressed \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
Litecoin (liteaddress.org — uncompressed only):
python btcrecover.py --brainwallet \
  --addrs LfWkecD6Pe9qiymVjYENuYXcYpAWjU3mXw \
  --skip-compressed \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
Dash (paper.dash.org):
python btcrecover.py --brainwallet \
  --addrs XvyeDeZAGh8Nd7fvRHZJV49eAwNvfCubvB \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
Warpwallet — Bitcoin:
python btcrecover.py --warpwallet \
  --warpwallet-salt btcr-test-password \
  --addrs 1FThrDFjhSf8s1Aw2ed5U2sTrMz7HicZun \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
Warpwallet — Litecoin:
python btcrecover.py --warpwallet \
  --warpwallet-salt btcr-test-password \
  --crypto litecoin \
  --addrs LeBzGzZFxRUzzRAtm8EB2Dw74jRfQqUZeq \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
These examples use sample wallet files bundled with BTCRecover.Block.io:
python btcrecover.py \
  --wallet ./btcrecover/test/test-wallets/block.io.request.json \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
Dogechain.info:
python btcrecover.py \
  --wallet ./btcrecover/test/test-wallets/dogechain.wallet.aes.json \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
Ethereum UTC keystore (MyEtherWallet, MyCrypto, etc.):
python btcrecover.py \
  --wallet ./btcrecover/test/test-wallets/utc-keystore-v3-scrypt-myetherwallet.json \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
imToken keystore:
python btcrecover.py \
  --wallet ./btcrecover/test/test-wallets/imtoken-identity.json \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
Bitgo KeyCard user key:
python btcrecover.py \
  --wallet ./btcrecover/test/test-wallets/bitgo_keycard_userkey.json \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
Toastwallet:
python btcrecover.py \
  --wallet ./btcrecover/test/test-wallets/toastwallet.txt \
  --passwordlist ./docs/Usage_Examples/common_passwordlist.txt
Use %H in the tokenlist to substitute unknown hexadecimal characters, or %B for base58.Ethereum — three damaged segments:
python btcrecover.py --rawprivatekey \
  --addrs 0xB9644424F9E639D1D0F27C4897e696CC324948BB \
  --wallet-type ethereum \
  --tokenlist ./docs/Usage_Examples/eth_privkey_tokenlist.txt
Bitcoin — uncompressed key, one missing character:
python btcrecover.py --rawprivatekey \
  --addrs 1EDrqbJMVwjQ2K5avN3627NcAXyWbkpGBL \
  --wallet-type bitcoin \
  --max-tokens 1 \
  --tokenlist ./docs/Usage_Examples/btc_privkey_tokenlist.txt
Bitcoin — native SegWit key, one missing character:
python btcrecover.py --rawprivatekey \
  --addrs bc1qafy0ftpk5teeayjaqukyd244un8gxvdk8hl5j6 \
  --wallet-type bitcoin \
  --max-tokens 1 \
  --tokenlist ./docs/Usage_Examples/btc_privkey_tokenlist.txt
Bitcoin — using an AddressDB instead of a known address:
python btcrecover.py --rawprivatekey \
  --addressdb ./btcrecover/test/test-addressdbs/addresses-BTC-Test.db \
  --wallet-type bitcoin \
  --max-tokens 1 \
  --tokenlist ./docs/Usage_Examples/btc_privkey_tokenlist.txt

Seed recovery examples

Native SegWit address, one missing word, check first 5 addresses:
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
P2SH SegWit address, one missing word:
python seedrecover.py --wallet-type bip39 \
  --addrs 3NiRFNztVLMZF21gx6eE1nL3Q57GMGuunG \
  --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
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
If your seed uses a custom passphrase, add --passphrase-arg "YOUR PASSPHRASE".
Ledger Nano seed, 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"
Trezor seed, one missing word:
python seedrecover.py --wallet-type cardano \
  --addrs addr1q8k0u70k6sxkcl6x539k84ntldh32de47ac8tn4us9q7hufv7g4xxwuezu9q6xqnx7mr3ejhg0jdlczkyv3fs6p477fqxwz930 \
  --mnemonic "ocean kidney famous rich season gloom husband spring convince attitude boy"
Yoroi / Adalite / Daedalus, using a stake address:
python seedrecover.py --wallet-type cardano \
  --addrs stake1uxztdzzm4ljw9a0qmgregc8efgg56p2h3kj75kc6vmhfj2cyg0jmy \
  --mnemonic "cave table seven there limit fat decorate middle gold ten battle trigger luggage demand"
Supply the validator signing key (public key) as the address.
python seedrecover.py \
  --mnemonic "spatial evolve range inform burst screen session kind clap goat force x" \
  --addrs 869241e2743379b6aa5e01138d410851fb2e2f3923ccc19ca78e8b14b01d861f67f95e2e6b3be71a11b251680b42dd81 \
  --wallet-type ethereumvalidator \
  --addr-limit 1
Blank secret derivation path:
python seedrecover.py --wallet-type polkadotsubstrate \
  --addrs 13SsWBQSN6Se72PCaMa6huPXEosRNUXN3316yAycS6rpy3tK \
  --mnemonic "toilet assume drama keen dust warrior stick quote palace imitate music disease"
With a 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
python seedrecover.py --wallet-type stacks \
  --addrs SP11KHP08F4KQ06MWESBY48VMXRBK5NB0FSCRP779 \
  --mnemonic "hidden kidney famous rich season gloom husband spring convince attitude boy" \
  --addr-limit 10
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
python seedrecover.py --wallet-type elrond \
  --addrs erd16jn439kmwgqj9j0xjnwk2swg0p7j2jrnvpp4p7htc7wypnx27ttqe9l98m \
  --mnemonic "agree process hard hello artefact govern obtain wedding become robust fish bar alcohol about speak unveil mind bike shift latin pole base ugly artefact" \
  --addr-limit 2
python seedrecover.py --wallet-type helium \
  --addrs 13hP2Vb1XVcMYrVNdwUW4pF3ZDj8CnET92zzUHqYp7DxxzVASbB \
  --mnemonic "arm hundred female steel describe tip physical weapon peace write advice"
Using the Solidity EVM address:
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
Using a Hedera account ID:
python seedrecover.py --wallet-type hederaed25519 \
  --addrs 0.0.10014991 \
  --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
python seedrecover.py \
  --mnemonic "doctor giant eternal huge improve suit service poem logic dynamic crane summer exhibit describe later suit dignity ahead unknown fall syrup mirror nurse" \
  --addrs GAV7E2PHIPDS3PM3BWN6DIHC623ONTZUDGXPJ7TT3EREYJRLTMENCK6Z \
  --addr-limit 2 --no-eta \
  --wallet-type xlm
Electrum v1 (legacy), 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
Fix a damaged 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
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

Build docs developers (and LLMs) love