Recovering a wallet with the Ledger seed phrase

Hello! I would like to know how I could recover an old wallet with an old Ledger seed phrase. I know that just typing the seed into a Cardano wallet such as Yoroi won’t work, but I can’t seem to find any tutorials on how to do this. This is a real concern for me because, although my hardware wallet is fine right now, in the future I may not be able to just get a new one in order to recover my funds for various reasons (Ledger goes bankrupt etc.). Since the Ledger device can recover the wallet with the recovery seed, there must be some other way to do this manually, without the hardware device. Please feel free to link to any helpful articles or sites. Thank you for your attention and your help!

I still don’t know any wallet app that supports this out of the box. I do think that it is a good idea to annoy them with feature requests for it, but be patient that it’s not necessarily a prioritised feature.

The algorithm that Ledger uses for deriving the master key is here:
https://github.com/cardano-foundation/CIPs/blob/master/CIP-0003/Ledger_BitBox02.md
There also is a reference implementation in Python linked.

It should be straight-forward to implement a small tool to derive an extended private key using that. The rest of the derivation of addresses could then be done, e.g., by https://github.com/input-output-hk/cardano-addresses. You would get key files and could get to your funds at least using cardano-cli. (There is no way to get it into one of the wallet apps, as long as they only support seed phrase wallets with the other master key derivation. None of them can just import key files.)

This question comes up often enough that it maybe warrants just doing it at one of those weekends. …, but I can’t promise anything.

Here is a good guide that describes how to create a Cardano wallet from a 24 word mnemonic seed. Create Cardano Wallet - GETI Explainer

But this is indeed not out of the box, so not sure if this is what you are looking for.

cardano-wallet also does not support the Ledger master key derivation, does it?

I think I will request these features.
I will look into what can be done with that implementation.
What weekends are you talking about? :))

I must admit that I have only scratched the surface regarding this topic, but I have read about it and researched while setting up my stake pool.

One of the things I ran into during this: Extracting Pool Staking keys from Ledger wallet · GitHub

In the end I have set up my pool from a 24 word mnemonic bip39 seed which was sufficient for me. But I know there are stake pool operators which have added a ledger as extra pool owner / pledge. Securing Your Stake Pool Using a Hardware Wallet - CoinCashew

Again, only scratching the surface but reading those things made me assume that both are interoperable.

That’s a good link! @_ilap already has made a walk-through (although definitely not one for the faint of heart) of what I proposed here:

Yep. That’s a different, but also interesting thing: How to use a hardware wallet on the command-line. But the keys still stay on the hardware wallet, there. You use cardano-hw-cli and sign the transactions on the hardware device.

This topic was about restoring the Ledger seed phrase in software if you do not have the hardware anymore and dont’t want or are not able to get a new one.

No, they are not. Your best chance is to buy another Ledger and recover your wallet on it. I tested it and it’s working, I used for a long time a Ledger Nano S and a Ledger Nano X with the same recovery words (same wallet).

2 Likes

Here is a small Haskell program for computing the root private key for a ledger from its seed bytes. Once you have the root private key, cardano-address or cardano-wallet can derive the other keys.

1 Like