Mode 0: Combinatorial seed recovery using a constraint model file
Mode 0 is the most flexible seed recovery method. You provide a model file that describes candidate word groups for each position in the mnemonic. wrecover explores all valid combinations satisfying the constraints and tests each against the target address.
Use Mode 0 when you have multiple candidate words per position, or need complex constraints (required words, fixed positions). For simple missing-word recovery with known positions, Mode 1 is simpler.
Mode 0 supports GPU acceleration (CUDA and OpenCL) in the Pro version, providing up to ~1000× speedup over a single CPU thread for 24-word mnemonics.
The model file is a plain text file (.txt). Each line represents one word slot in the mnemonic. Multiple words on a line are candidates for that slot — wrecover tries all of them. The number of lines must be ≥ the mnemonic length (-l).
# model.txt — one line per mnemonic position
# Multiple words on a line = candidates for that slot
abandon
ability
able
about above absent absorb absurd
accuse
accident
account
zoo
zone
zebra
young
yellow| Prefix | Meaning | Example |
|---|---|---|
| (none) | Regular group — can go in any free slot | abandon ability able |
@ | Required — one of these MUST appear (any position) | @ accuse account |
@#N | Required AND fixed at position N (1-based) | @#3 about above |
The modifier (@, @#N) must be the first token on the line, followed by the candidate words. Position indices are 1-based. The number of lines must be ≥ the value of -l.
# 12-word seed: know words 1-3 and 6-12, position 5 is
# mandatory "accuse" or "account", positions 4 is one of 3 options
abandon
ability
able
about above absent # 3 candidates
@#5 accuse account # position 5: required, fixed here
accident
absorb
zoo
zone
zebra
young
yellowMode 0 always requires work-file flags: -ws for a new search or -wi to resume. The address type and default derivation path are auto-detected from the address format.
wrecover -l 12 -m 0 -cf model.txt -addr "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" -wlang en -ws -wf recovery.wrec -wp "this workfile password"wrecover -l 12 -m 0 -cf model.txt -addr "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" -wlang en -ws -wf recovery.wrec -wp "this workfile password" -gpu -grid 2048 -gblock 256 # CPU
wrecover -wi -wf recovery.wrec -wp "this workfile password"
# GPU (Pro)
wrecover -wi -wf recovery.wrec -wp "this workfile password" -gpu -grid 2048 -gblock 256
wrecover -l 12 -m 0 -cf model.txt -addr "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" -wlang en -pp "MyKnownPassphrase" -ws -wf recovery.wrec -wp "this workfile password"wrecover -l 12 -m 0 -cf model.txt -addr "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" -wlang en -ws -wf recovery.wrec -wp "this workfile password" -save-only| Option | Description | Required |
|---|---|---|
-l 12|18|24 | Mnemonic length | Yes |
-m 0 | Select Mode 0 | Yes |
-cf <file.txt> | Path to model file (.txt extension required) | Yes |
-addr <address> | Target blockchain address (type auto-detected) | Yes |
-wlang <code> | BIP39 wordlist language (see table below) | Yes |
-ws | New search — start recovery and save progress | Yes* |
-wi | Resume from existing work file | Yes* |
-wf <file.wrec> | Work file path (.wrec extension recommended) | Yes |
-pp <passphrase> | Known BIP39 passphrase, if used | No |
-dpath <path> | Override derivation path (default: auto from address) | No |
-t <N> | CPU threads (Free: capped at 10; Pro: unlimited) | No |
-gpu | Enable GPU (Pro version — CUDA or OpenCL) | No |
-grid <N> | GPU grid size (Pro, default: 256) | No |
-gblock <N> | GPU threads per block (Pro, default: 256, max: 256) | No |
-wp <password> | Encrypt the work file with a password | No |
-save-only | Create work file without starting recovery | No |
-startp <N> | Start at combination N — distributed recovery (Pro) | No |
-endp <N> | Stop at combination N — distributed recovery (Pro) | No |
* Use either -ws (new search) or -wi (resume) — not both.
-wlang)| Code | Language |
|---|---|
en | English |
es | Spanish |
fr | French |
it | Italian |
| Address format | Type | Default derivation path |
|---|---|---|
Starts with 1 | Bitcoin Legacy (P2PKH) | m/44'/0'/0'/0 |
Starts with 3 | Bitcoin SegWit P2SH | m/49'/0'/0'/0 |
Starts with bc1q | Bitcoin Native SegWit | m/84'/0'/0'/0 |
Starts with 0x | Ethereum | m/44'/60'/0'/0 |
Copy the .wrec work file to multiple machines and run simultaneously. Each instance automatically claims and processes different chunks — no coordination required.
# Create the work file on one machine
wrecover -l 18 -m 0 -cf model.txt -addr "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh" -wlang en -ws -wf recovery.wrec -wp "this workfile password" -save-only
# For manual range splitting (Pro version):
wrecover -l 18 -m 0 -cf model.txt -addr "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh" -wlang en -ws -wf recovery.wrec -wp "this workfile password" -startp 0 -endp 5000000000 -save-only
wrecover -l 18 -m 0 -cf model.txt -addr "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh" -wlang en -ws -wf recovery.wrec -wp "this workfile password" -startp 5000000000 -endp 10000000000 -save-only
wrecover -l 18 -m 0 -cf model.txt -addr "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh" -wlang en -ws -wf recovery.wrec -wp "this workfile password" -startp 10000000000 -save-only
| Hardware | 12-word seed | 18-word seed | 24-word seed |
|---|---|---|---|
| CPU — per thread (Free & Pro) | 3k–4k seeds/sec | 11k–13k seeds/sec | 30k–32k seeds/sec |
| NVIDIA Tesla T4 (Pro) | ~2.6M seeds/sec | ~9.8M seeds/sec | ~21M seeds/sec |
| NVIDIA RTX PRO 6000 (Pro) | ~31.4M seeds/sec | ~117.2M seeds/sec | ~264M seeds/sec |
| N× GPUs (Pro) | Linear scaling: N × single-GPU throughput | ||
Free version: CPU only, capped at 10 threads. Pro version: unlimited CPU threads + GPU acceleration (CUDA & OpenCL) + distributed range control (-startp/-endp). CPU throughput scales linearly with thread count.
The model file has fewer lines than the value of -l. Add more lines or reduce the mnemonic length.
Verify the file path, read permissions, and UTF-8 encoding. All words must be valid BIP39 words for the selected language.
The work file is encrypted with PBKDF2-SHA512. If you used -wp when creating it, provide the same password on resume with -wi -wp <password>.
Range control for distributed recovery is a Pro-only feature. The Free version processes the full search space sequentially.