A BIP39 seed phrase (12–24 words), possibly with typos
Put the phrase in in/seed.txt. The agent-safe commands below run in the sealed image through ./blocktools run, which prints public data only (addresses…
Put the phrase in in/seed.txt. The agent-safe commands below run in the sealed image through
./blocktools run, which prints public data only (addresses and paths, with every key replaced by [REDACTED]).
1. Is it a seed? (classify prints a fingerprint, never the words)
./blocktools run 'classify /in/seed.txt'
2. Repair typos and list addresses on every chain
seed-repair fixes misspelt words and checks the checksum. Test vector: the BIP39/BIP84 spec phrase
"abandon ×11 about" with two typos.
./blocktools run 'seed-repair < /in/seed.txt | seed-to-master | derive --chain btc,eth,tron,sol,xrp --count 1'
Each expected address comes from an outside source: the BIP44/84 spec, MetaMask's address for this phrase, TronLink, Phantom (m/44'/501'/0'/0') and the XRPL BIP44 vector.
3. With a BIP39 passphrase ("25th word")
Put {"passphrase":"..."} on the first line of the input, or let the human type it
(seed-to-master --passphrase-prompt, via ./blocktools reveal). A wrong passphrase still
gives valid but empty addresses, so check balances (goal-check-balance.md).
4. Front door: balance, then sweep
recipes/recover.sh /in/seed.txt - --goal balance
The sweep (recipes/recover.sh in/seed.txt DEST) is in goal-sweep.md. If the wallet used odd paths, see derive.md.