SeedCrypt Recover · Free & Open-Source

Lost a word from your seed phrase?

SeedCrypt Recover is a free, open-source Rust CLI tool that brute-forces a missing or mistyped word from a BIP39 seed phrase, validating each candidate against a wallet address you own. Bitcoin, Ethereum, Litecoin, Dogecoin, Tron and more. 100% offline.

View on GitHub Install & Run
100% Offline MIT Licensed Rust + libsecp256k1 Multi-core 9+ coins supported

What it solves

You wrote down your 12 or 24-word BIP39 seed but a word is illegible, missing, or you're not sure of one spelling. You still have a wallet address you control. SeedCrypt Recover tries every candidate, derives the HD wallet, and tells you the exact seed when an address matches.

Open-source & auditable

Code, tests, and build instructions are public on GitHub under the MIT license. Every candidate is verified by re-deriving the BIP32/secp256k1 path against the address you provide — there are no false positives. If you have any doubt about handing your seed to a tool, you can read the full source (~600 lines of Rust) or run it air-gapped.

Run on an offline machine

Even though SeedCrypt Recover never sends data over the network, the seed it processes is yours and any compromise of the host machine is a risk. Best practice: run on an air-gapped or freshly-installed laptop, then transfer funds to a brand new wallet immediately after recovery.

Install

Two options: build from source with Cargo (recommended — auditable), or grab a pre-built release from GitHub.

1

Install Rust (one-liner)

Skip if you already have Rust 1.74+ installed.

# macOS / Linux (paste in Terminal) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Windows (PowerShell or Command Prompt):

# Windows PowerShell — downloads & runs the official installer Invoke-WebRequest -Uri https://win.rustup.rs/x86_64 -OutFile rustup-init.exe .\rustup-init.exe -y

Then close + reopen your terminal so cargo is on your PATH.

2

Clone & build

Pulls the source from GitHub and compiles a release-mode binary (3 MB, statically linked).

# macOS / Linux git clone https://github.com/femto7/seedcrypt-recover cd seedcrypt-recover cargo build --release ./target/release/seedcrypt-recover --help

Windows (PowerShell):

# Windows PowerShell git clone https://github.com/femto7/seedcrypt-recover cd seedcrypt-recover cargo build --release .\target\release\seedcrypt-recover.exe --help
3

(Optional) Install globally

Puts the binary on your PATH so you can call seedcrypt-recover from anywhere — works the same on macOS / Linux / Windows.

cargo install --git https://github.com/femto7/seedcrypt-recover

Usage

Two recovery modes. Both validate candidates against an address you control.

Windows PowerShell users

The examples below use \ for line continuation (Bash / Zsh syntax). On PowerShell, replace \ with backtick `, or paste the whole command on a single line.

A

Missing word — you don't know which word goes there

Use ? for each unknown position. Up to 3 missing words supported (anything more is impractical: 20484 = 17 billion candidates).

seedcrypt-recover missing \ --mnemonic "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon ?" \ --address 0x9858EfFD232B4033E47d90003D41EC34EcaEda94
B

Typo — all words filled, one is wrong

Tries replacing each position with all 2048 BIP39 words. ~25k candidates total for a 12-word seed — runs in seconds.

seedcrypt-recover typo \ --mnemonic "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon apple about" \ --address 0x9858EfFD232B4033E47d90003D41EC34EcaEda94
+

Optional flags

Add a BIP39 passphrase, expand the address scan range (for users with many wallets), or specify a non-default account.

# With passphrase + wider scan seedcrypt-recover typo \ --mnemonic "..." \ --address "..." \ --passphrase "YourPassphrase" \ --account-end 4 \ --address-end 49

Supported coins

All secp256k1-based chains. Auto-detected from address prefix. EVM chains (BSC, Polygon, Avalanche-C, Arbitrum, Optimism, Base) share the same Ethereum address from a given seed.

BTCBitcoin1… 3… bc1q… bc1p…
BCHBitcoin Cash1…
BSVBitcoin SV1…
LTCLitecoinL… M… ltc1q…
DOGEDogecoinD…
DASHDashX…
ZECZcash (transparent)t1…
ETHEthereum + EVM0x…
TRXTronT…

Out of scope (different elliptic curve): Solana, Cardano, Polkadot, Cosmos, Stellar. Those use ed25519 / sr25519 — separate tooling needed.

BIP standards supported

SeedCrypt Recover follows the Bitcoin Improvement Proposals that define modern HD wallets. Each candidate seed is reconstructed using the canonical derivation path for the address type — exactly like Ledger, Trezor, Electrum, MetaMask or Phantom.

BIP-39Mnemonic seed12 / 24 words + passphrase
BIP-32HD key derivationsecp256k1
BIP-44Legacy P2PKHm/44'/c'/a'/0/i
BIP-49Nested SegWit (P2SH-P2WPKH)m/49'/c'/a'/0/i
BIP-84Native SegWit (Bech32)m/84'/c'/a'/0/i
BIP-86Taproot (Bech32m)m/86'/c'/a'/0/i
SLIP-44Coin type registryBTC=0, ETH=60, LTC=2…
BIP-32 ETHEthereum / EVM pathm/44'/60'/0'/0/i

All six derivation types are auto-tried per coin — you only provide the wallet address. c = SLIP-44 coin type, a = account index. Use --account-end and --address-end to expand the scan range for deep wallet hierarchies (e.g. account 0–4, addresses 0–49). For the full flag reference and more examples, see the command reference.

Performance

Times measured on a modern 8-core CPU with one address checked per candidate. The hot path (elliptic-curve math) uses Bitcoin Core's libsecp256k1 via FFI — same library as Bitcoin Core itself.

ScenarioCandidatesWall time
1 missing word2 048< 1 sec
1 typo (12-word seed)24 5765–15 sec
1 typo (24-word seed)49 15210–30 sec
2 missing words (favourable indices)~200 00030–90 sec
2 missing words (worst case)~4 million5–15 min
3 missing words~8 billionhours / days

Why a separate tool?

The SeedCrypt app focuses on encrypting your seed before you ever lose part of it. Recovery is a different problem — it needs raw CPU performance, native code, and a CLI workflow. Bundling that inside the app would have meant compromising on either speed or simplicity. Splitting it out gives you a small, auditable, fast Rust binary that you can run air-gapped, while keeping the SeedCrypt app focused on what it does best.

The reference implementation in this space is btcrecover by 3rdIteration / gurnec — Python-based, mature, broad coverage. SeedCrypt Recover is a focused subset rewritten in Rust with a smaller binary, more coins out of the box, and zero Python dependency. Use whichever fits.

Get the source

Free, open-source, MIT licensed. Audit the code, build it yourself, run it offline.

github.com/femto7/seedcrypt-recover