<p>There are 2048 words in the BIP39 list, there are 24 possible positions for your missing word.</p>

<p>You need to try 2048 x 24 = 49,152 combinations.</p>

<p>For each one, you need to generate a private key + public key and check whether addresses generated from that have any unspent bitcoin associated with them. You can work with a pruned blockchain and probably further prune based on the known date-ranges of your most recent transactions. </p>

<p>Superficially at least, it seems feasible for an automated process to do this in reasonable time (i.e. less than years).</p>

<p>Having tried all words in one position you should have a reasonable idea of how long this will take.</p>

CC BY-SA 4.0
2018-05-11T00:11:19.617Z
Due to the way that the mnemonic has a checksum, I only needed to sift through 1/256 of the combinations and thats what the above program does, I was just curious if there were tools to do this already, or if I was overly complicating it. I had an offline version of this site for turning the mnemonics into private keys https://iancoleman.io/bip39/ but unfortunately I dont know how to canabalise the code or interact with it with python. from there I was going to use a tool like this https://github.com/gurnec/btcrecover to find the wallet with btc in it.
JamieDimon
CC BY-SA 4.0
2018-05-10T17:45:40.050Z
2018-05-10T17:45:40.050Z
RedGrittyBrick
<p>Same thing happened to us. There is a script available here <a href="https://github.com/ashmoran/bip39_missing_word" rel="nofollow noreferrer">https://github.com/ashmoran/bip39_missing_word</a> which you can use to recover this. </p>

<p>You may want to extend it to check the correct derived path if it has any previous transactions. </p>

<p>It usually generates about 100 valid wallets with one word missing.</p>

CC BY-SA 4.0
2019-05-18T22:16:42.550Z
2019-05-18T22:16:42.550Z
MaxSan
<p>Since you know the first 23 words, it sound like you only need to calculate the BIP39 <em>checksum</em>, correct?</p>

<p>If so, <a href="https://www.reddit.com/r/crypto/comments/684zvj/need_help_generating_lastword_checksum_for_bip39/dgvq3ca/" rel="nofollow noreferrer">this script</a> might be what you are looking for. (I have not tried it)</p>

CC BY-SA 4.0
2019-05-18T18:04:17.613Z
2019-05-18T18:04:17.613Z
Jonathan Cross
<p>I have ended up wiping my ledger nanao S during test (thoroughly stupid I know) and I am left with 23 (!) seed words and a passphrase. I understand that I should have both backed up my wallet, and made sure of my seed words.  I was looking into a program (in python due to there not being too many combinations) that could brute force it due to me knowing that I had written them down in order, just having missed a word, (pasted here due to the massive size due to the size of the word list)</p>

<p>So how would I go about brute forcing it through python, what I have now can (as far as I can see) will give me all of the valid mnemonics, but from there how would I automate the collection of private keys from a bip-39 generator, and the checking of funds in them?</p>

<p>(edit)
I know the order of the words, just not where the missing one is, Ive tried to manually sift through the combinations for if the missing word was the last one</p>

<p>(further edit)
Im using an offline version of this site for turning the mnemonics into private keys iancoleman.io/bip39 but unfortunately I dont know how to canabalise the code or interact with it with python. from there I was going to use a tool like this github.com/gurnec/btcrecover to find the wallet with btc in it. At least thats what I have so far.</p>

CC BY-SA 4.0
2018-05-09T23:14:33.013Z
Do you not know the order of any of the words in the list, or do you just not know the position of the missing one?
Pieter Wuille
CC BY-SA 4.0
2018-05-09T23:19:26.503Z
I know the order of the words, just not where the missing one is, Ive tried to manually sift through the combinations for if the missing word was the last one.
JamieDimon
<blockchain><ledger-hardware-wallet>
I have 23 words of my 24 word mnemonic (and passphrase) for my ledger nano-s, is it possible for me to brute-force the last word (not in order)
JamieDimon
# I have 23 words of my 24 word mnemonic (and passphrase) for my ledger nano-s, is it possible for me to brute-force the last word (not in order)

(Asked by: username_0 on 2018-05-09)

I have ended up wiping my ledger nanao S during test (thoroughly stupid I know) and I am left with 23 (!) seed words and a passphrase. I understand that I should have both backed up my wallet, and made sure of my seed words. I was looking into a program (in python due to there not being too many combinations) that could brute force it due to me knowing that I had written them down in order, just having missed a word, (pasted here due to the massive size due to the size of the word list)

So how would I go about brute forcing it through python, what I have now can (as far as I can see) will give me all of the valid mnemonics, but from there how would I automate the collection of private keys from a bip-39 generator, and the checking of funds in them?

(edit)
I know the order of the words, just not where the missing one is, Ive tried to manually sift through the combinations for if the missing word was the last one

(further edit)
Im using an offline version of this site for turning the mnemonics into private keys iancoleman.io/bip39 but unfortunately I dont know how to canabalise the code or interact with it with python. from there I was going to use a tool like this github.com/gurnec/btcrecover to find the wallet with btc in it. At least thats what I have so far.

**Tags:** blockchain, ledger-hardware-wallet

> **Comments:**
> **username_1**: Do you not know the order of any of the words in the list, or do you just not know the position of the missing one?  
> **username_0**: I know the order of the words, just not where the missing one is, Ive tried to manually sift through the combinations for if the missing word was the last one.  

---

## 3 answers

### Answer by username_2 on 2018-05-10. Score: 3

There are 2048 words in the BIP39 list, there are 24 possible positions for your missing word.

You need to try 2048 x 24 = 49,152 combinations.

For each one, you need to generate a private key + public key and check whether addresses generated from that have any unspent bitcoin associated with them. You can work with a pruned blockchain and probably further prune based on the known date-ranges of your most recent transactions.

Superficially at least, it seems feasible for an automated process to do this in reasonable time (i.e. less than years).

Having tried all words in one position you should have a reasonable idea of how long this will take.

> **Comments:**
> **username_0**: Due to the way that the mnemonic has a checksum, I only needed to sift through 1/256 of the combinations and thats what the above program does, I was just curious if there were tools to do this already, or if I was overly complicating it. I had an offline version of this site for turning the mnemonics into private keys https://iancoleman.io/bip39/ but unfortunately I dont know how to canabalise the code or interact with it with python. from there I was going to use a tool like this https://github.com/gurnec/btcrecover to find the wallet with btc in it.  

---

### Answer by username_3 on 2019-05-18. Score: 0

Same thing happened to us. There is a script available here <https://github.com/ashmoran/bip39_missing_word> which you can use to recover this.

You may want to extend it to check the correct derived path if it has any previous transactions.

It usually generates about 100 valid wallets with one word missing.


---

### Answer by username_4 on 2019-05-18. Score: 0

Since you know the first 23 words, it sound like you only need to calculate the BIP39 *checksum*, correct?

If so, [this script](https://www.reddit.com/r/crypto/comments/684zvj/need_help_generating_lastword_checksum_for_bip39/dgvq3ca/) might be what you are looking for. (I have not tried it)


---

