PySeedRecover: Find correct seed phrase in case of missing words, typos, wrong orders

I just published PySeedRecover 1.0.1:

It can be used to find correct seed phrases if a word is missing or a word was misread or misspelled. Partly, it can also help if the order of the words is wrong. (It just checks for exchanges of rows and columns in rectangular notations, because checking all permutations of the words is far too much.)

It can probably not help much if you can restore with a seed phrase, but get to a wrong/empty wallet. In this case, other errors (mixed-up with other seed phrase, missing or wrong passphrase on Ledgers and Trezors, …) are far more likely.

If you have Python 3.7+ and pip, it can simply be installed by: pip install PySeedRecover

Then, seedrecover -h gives you a usage information.

The basic modes of operation are:

seedrecover word1 … wordN

If words are not in the word list of BIP-39, the closest match(es) in the word list are tried. If words are missing (from the next number that could be a valid seed phrase), all 2048 words of the word list are tried in all possible positions.

seedrecover -m 1 24 -- word1 … wordN

If you know or suspect that you have only missed a word in first or last position of a 24 word seed phrase (for example), you can give the positions you suspect with -m to drastically reduce the number of checked seed phrases.

seedrecover -a stake1...abcdef stake1...ghijkl stake1...mnopqr -- word1 … wordN

If you get too many results to manually check, the script can check against a number of given stake addresses. You can leave out part of the stake address(es) and replace them by .... Just in case, give all stake addresses you know of all of your wallets. We quite often have that they were mixed up and the seed phrase is, in fact, for another wallet.

seedrecover -s 1 word1 … wordN

Also check all words that have an edit distance of 1 to the given words. Sometimes typos may lead to other words also on the BIP-39 word list. These cannot be found by the validation of the single words done in most wallet apps.

seedrecover -b mainnetAPIKEY word1 … wordN

Check stake addresses on blockfrost.io for previous activity. This can be used if you do not know the stake address you are looking for. You need to get an API key on blockfrost.io and should keep in mind that the daily requests are limited (50 000 for the free accounts).

Also check the examples in the README linked above.

3 Likes