FYI: As an experiment, I managed to restore the keys and addresses for a Ledger Nano X, but without that hardware, using the procedure below. Needless to say, one should never enter the seed phrase of a hardware wallet into an untrusted environment as described here if one has used or intends to use the wallet with that seed phrase for transactions. However, you can test this procedure out with a discardable seed phrase generated randomly by the Ledger. In a real-life key-recovery situation, it would be far safer to just purchase replacement hardware.
- Use the aforementioned script at <https://repl.it/repls/EvenFairInformation#index.js> to compute the root private key. (FYI: I plan to rewrite the script in Haskell, and will post a link here someday.)
- Use a Bech32 conversion tool to convert the hexadecimal representation of the root private key into a Bech32 one with the
root_xsk
prefix. - Use the
cardano-wallet
,cardano-address
, and/orcardano-cli
tool to generate as many payment and change keys and addresses as you need to recover funds from. Here or here are example instructions. - If you’re recovering funds, manually create and submit transactions using
cardano-cli
to move the funds from the recovered addresses.
Also, I don’t believe that the “Export Your Accounts” procedure on the Ledger website would recover keys for Cardano, because Cardano addresses derive the root private key from the seed differently than Ledger.