← Back to Documentation

Modeling File Recovery

Mode 0: Combinatorial seed recovery using a constraint model file

📋 Overview

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.

💡 GPU Supported

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.

📝 Model File Format

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).

Basic example — 12-word seed, position 4 uncertain

# 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

Line modifiers

PrefixMeaningExample
(none)Regular group — can go in any free slotabandon ability able
@Required — one of these MUST appear (any position)@ accuse account
@#NRequired AND fixed at position N (1-based)@#3 about above
⚠️ Modifier syntax

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.

Example with modifiers

# 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
yellow

🚀 Commands

Mode 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.

Start a new search

wrecover -l 12 -m 0 -cf model.txt -addr "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" -wlang en -ws -wf recovery.wrec -wp "this workfile password"

With GPU (Pro version)

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

Resume from work file

# 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

With a known BIP39 passphrase

wrecover -l 12 -m 0 -cf model.txt -addr "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" -wlang en -pp "MyKnownPassphrase" -ws -wf recovery.wrec -wp "this workfile password"

Create work file only (for later distribution)

wrecover -l 12 -m 0 -cf model.txt -addr "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa" -wlang en -ws -wf recovery.wrec -wp "this workfile password" -save-only

📖 Parameter Reference

OptionDescriptionRequired
-l 12|18|24Mnemonic lengthYes
-m 0Select Mode 0Yes
-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
-wsNew search — start recovery and save progressYes*
-wiResume from existing work fileYes*
-wf <file.wrec>Work file path (.wrec extension recommended)Yes
-pp <passphrase>Known BIP39 passphrase, if usedNo
-dpath <path>Override derivation path (default: auto from address)No
-t <N>CPU threads (Free: capped at 10; Pro: unlimited)No
-gpuEnable 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 passwordNo
-save-onlyCreate work file without starting recoveryNo
-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.

🌐 Supported Languages & Address Types

Languages (-wlang)

CodeLanguage
enEnglish
esSpanish
frFrench
itItalian

Address types (auto-detected)

Address formatTypeDefault derivation path
Starts with 1Bitcoin Legacy (P2PKH)m/44'/0'/0'/0
Starts with 3Bitcoin SegWit P2SHm/49'/0'/0'/0
Starts with bc1qBitcoin Native SegWitm/84'/0'/0'/0
Starts with 0xEthereumm/44'/60'/0'/0

🔄 Distributed Recovery

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

⚡ Performance

Hardware12-word seed18-word seed24-word seed
CPU — per thread (Free & Pro)3k–4k seeds/sec11k–13k seeds/sec30k–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 vs Pro

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.

🔧 Troubleshooting

Error: "phrase length is greater than available words list"

The model file has fewer lines than the value of -l. Add more lines or reduce the mnemonic length.

Error: "Invalid or inaccessible Modeling file"

Verify the file path, read permissions, and UTF-8 encoding. All words must be valid BIP39 words for the selected language.

Error: "Corrupted data or incorrect password"

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>.

Error: "-startp/-endp not available for free version"

Range control for distributed recovery is a Pro-only feature. The Free version processes the full search space sequentially.

← Back to Documentation