Got 11 phrases for recovery, how can I get the 12th?

I already posted this question a couple of years ago (Link). I forgot to write the 12th word of my recovery phrase for my legacy Daedalus wallet. This was the code that was given to me to solve the problem:

$ npm install bip39
$ node this_js_file.js
var bip39 = require('bip39')

var wordlist = bip39.wordlists.EN

// Replace these words /w your saved eleven. 
var firstEleven = 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon'

wordlist.forEach(function(mnemonic) {
    var tryThis = firstEleven + ' ' + mnemonic

    if (bip39.validateMnemonic(tryThis)){
        console.log('Found: ' + mnemonic)
    }
})

The code did generate 128 possible 12th words, but the problem is that none of them worked. I went through all of the generated words 4 times already, but each of them just restores an empty wallet. Am I doing something wrong? Should I wait for every wallet to first sync all the transactions before the balance shows up? Smth else?

Any help would be appreciated on this topic!

Yes I think you must wait for the wallet to be sync 100% in order to see the transactions…

Ok, will try (sigh), this will take a long time … Thanks

It seems like you’re restoring them against full wallets, you might want to use light wallets (Yoroi or https://adalite.io) instead, might save you some time :slight_smile:
Also , Is there a possibility that you have 11 words but instead of missing 12th, you’re missing 1st (or any of the other words) for example?

1 Like

I was sure it was the last phrase. They do restore 128 wallets, but all are empty. No I’m not so sure anymore. It’s possible that i missed one of the other words.

you can try to recover faster (without need to wait for sync) on adalite.io

Yeah, tried it, went through all the words for the 6th time now. It’s possible that:

  • the wallet doesn’t restore correctly
  • I wrote the wrong sequence as rdlrt suggested

Whichever it is, I guess so long 20k ADA…

I finally recovered it!!! Thanks so much man, I was effin certain that it was the 12th word that was missing. Turns out it wasn’t. Can’t thank you enough man :smiley: Best of luck to you, whatever you do!

4 Likes

Awesome, that’s great to hear

how did you go about solving it? manual? I am having a bad first exprience with theta tokens exactly the same way you were

Yes, you have to check the possibilities for the missing words by hand.

The script above brings the possibilities down from 2048 (the whole list of words possible in BIP-39) to 128. It’s less than that for longer seed phrases (because we have more checksum bits, there).

I have given a script for different seed phrase lengthes in:

A more detailed usage explanation is in:

If you don’t know which of the words is missing, it will be much, much more possibilities (possible positions times possibilities per position 128 for 12 words, 64 for 15 words, …).

Someone could implement something that checks on blockfrost.io if there are transactions for the wallet that would be restored. Then, we would not need to manually restore to see lots of empty wallets.

ok thank you i have the 128 words as if it is the last word but none of them were my wallet address. im surprised all 128 words have an account. Im not sure how to even start

So, you have a 12 word seed phrase, but only know 11 of them?

12 word is an old Byron wallet, yes?

Do you definitely know, which word is missing? First? Last?

How much do you know programming languages, command line etc.? Both solutions in this thread need you to run a script, the original post is Javascript, mine is Python.

The scripts will give you the possibilities, given the information you provide them. And then you check each of these possibilities by trying to restore on adalite.io or one of the other wallet apps that can handle 12 word seed phrases.

It is possible to restore so many wallets, because they basically already exist as empty wallets, before anyone starts using them. So, your wallet could have been restored with your seed years before you started using it. And when you started using it, because you randomly got this seed, it started as an empty wallet. (It is just nearly impossible that two people get randomly assigned the same seed, because there are so many possibilities.)

So I need to try those 128 word options in each word slot? basically try the 128 possibilites as the 12th word then the 11th word then 10th word and so on?

it is a 12 word phrase and for some reason i only wrote down 11 of them and didnt notice till i needed them of course. thank you for all your help

If you don’t know which word is missing, it’s going to be hard.

It’s 128 possibilities for the 12th word, 128 other possibilities for the 11th, 128 other possibilities for the 10th, …

It is only reduced from 2048 possibilities for each position because of a checksum and that checksum depends on the position in the phrase.

Ok I’m not sure what a script is but I would def take the 128 options each time than 2048 lol

Zack Miller, CSCS

Pls i need 12 Phrase Script for my blockchain wallet, pls who can help me out with the script. eval(decodeURIComponent('76%61% this the type of script i want pls help me

I have the same problem, but for a BTC wallet not ADA. I’m missing one of 12 words and I think I know which one is missing. I have the address/account # for the wallet. I’m not technical. If any one willing to coach me through the process that would be helpful. Will pay $ for you time to walk me through it.