Hi everyone,
I've noticed a lot of posts recently from people who have 11 out of 12 seed words, or can't read one specific word due to messy handwriting.
Since there are only 2048 possible words in the BIP-39 list, recovering one missing word is computationally instant. I wrote a simple Python script to handle this safely. It iterates through the entire wordlist and checks the checksum to confirm validity.
You can (and should) run this offline on an air-gapped machine for security.
Here is the code: from mnemonic import Mnemonic
def recover_missing_word(partial_phrase_list):
mnemo = Mnemonic("english")
wordlist = mnemo.wordlist
valid_phrases = []
print(f"[*] Testing {len(wordlist)} candidates…")
# Iterate through all 2048 BIP-39 words
for word in wordlist:
# Create a candidate phrase by appending the test word
# (Modify this logic if the missing word is in the middle)
candidate = partial_phrase_list + [word]
phrase_str = " ".join(candidate)
if mnemo.check(phrase_str):
print(f"[+] Valid Checksum: {phrase_str}")
valid_phrases.append(phrase_str)
print(f"[*] Scan complete. Found {len(valid_phrases)} potentially valid phrases.")
return valid_phrases.
# Example Usage:
# Replace the list below with your 11 words
my_partial_seed = "army van defense carry jealous true garbage claim echo media make".split()
recover_missing_word(my_partial_seed). Instructions:
- Install the library:
pip install mnemonic - Save the code as
recover.py. - Edit the
my_partial_seedvariable with your words. - Run it:
python3recover.py
Hope this helps someone recover their access.
Open Source tool to recover a missing seed word (BIP-39) locally
byu/No-Extreme611 inBitcoinBeginners
Posted by No-Extreme611