A friend of mine created a Yoroi wallet on his phone a while back. He hasn’t used his wallet for some time, and when he tried to use it today, he had forgotten his spending password. That’s not a big deal, is it? The catch is that his 15-word mnemonic phrase also seems to be incorrect. So chances are that there is no chance he can get back his ADA (well, it was a big sum)?
But since the spending password is stored locally on the device, by any chance is it possible to decrypt the spending password from the app data/cache? Any advice would be really helpful!
Incorrect as in “Yoroi says, it’s not correct.” or incorrect as in “It opens an empty wallet with no transactions.”?
The first could mean some small error, one wrong word, wrong order, that might be correctable.
The second would probably mean that he tried several times and kept the wrong one. I would try really hard to find if the right seed phrase can be found somewhere. (We had quite some people who found the correct seed phrase after several days of: “No, I’m sure this is the only one!” Really.)
Not really. It is used to encrypt/secure the seed phrase (the secret derived from it) in the app data. So, it would make no sense to make it recoverable from the very same store.
Did he use the wallet on some other device? Browser?
it says it’s not correct. and I’ve been assuming that either he has made a typo or the order is wrong. I suggested him the bip33 words directory where he could match the words but I believe there could a better way to solve this. If so, how can it be done? Thanks in advance!
It’s BIP-39, but totally the right track. You can check manually, if some of the words have close cousins that could it be also. I think, they designed the list so that there are no words that are too similar, but don’t know how successful they were.
The mnemonic seed phrase has a built-in checksum. So a script can check if it’s totally wrong, before having to manually check in Yoroi. I’ve written one to check in the case of one word missing. Brings the possibilities to check down from 2048 to 64.
But it does not check for close cousins of all words in the seed phrase, up to now.
Checking for wrong order is even more difficult, because there are so many possibilities to check.
The missing word thing is here:
If you or he know some Python, it can perhaps be adapted to order, close cousins, … I won’t have time for that this week, I fear.
gotcha. thanks so much for all this info! I’ll forward it to him.
sadly, none of us is familiar with Python, but I really appreciate your heads-up. even so, if it can work, I’m sure he’ll be happy to hire a dev to write a script for the order. Should he be ready, not necessarily this week but whenever you have time, could you help us with that?
Well, that have to be a lot of Ada in that wallet.
I wanted to make the script more versatile, anyway, but I don’t think I want to be hired to do it. Can’t give any guarantees that it will work out and stuff.
I will put it in front of my “projects I wanted to do on Cardano” list and give you a note in this thread, when it’s ready.
I don’t know if I’m allowed to say this, but just as a fellow cardanian: Your dedication to this community is much appreciated, not just by me but probably (and hopefully) everyone. Thank you.
I will have him post the code here for the community if he gets the code anyway without my knowledge.