Exporting Keys from Substrate apps in Ledger

Lau Ángel
Zondax
Published in
2 min readSep 10, 2023
Ledger x Zondax

Even though most wallets generate a mnemonic phrase for users to back up their wallets and generate a private key from the mnemonic, not all wallets use the same algorithm tor this key generation process. This variety of algorithms cause unexpected behavior when using the same mnemonic phrase in multiple wallets. Indeed, wallets that use different processes will arrive at a different set of addresses from the exact mnemonic phrase.

Ledger, the three-part system comprising a hardware device, the Ledger Live app, and a platform of integrated dApps, or better known as the the Most Secure self-custody option, uses a standard called BIP 39 for the generation and interpretation of the master seed on all of its’ devices. BIP 39 is an industry standard used by many other hierarchical deterministic wallets. The exact type of BIP 39 seed used by Ledger devices by default is a 24-word mnemonic. Accounts generated by a Ledger device can be recovered on any (third-party) hardware or software wallet that supports the same standards as Ledger (BIP32/BIP39/BIP44).

It is important to understand that the same mnemonic may generate different private keys on other wallets due to the various cryptographic algorithms used. For example, Subkey and Polkadot-JS based wallets use the BIP39 dictionary for mnemonic generation, but use the entropy byte array to generate the private key, while full BIP39 wallets (like Ledger) use 2048 rounds of PBKDF2 on the mnemonic. The above explains why users may have trouble exporting their keys from substrate based applications on the Ledger device. See Substrate BIP39 Repo for more information.

  • Instructions on how to export your accounts here (Ledger Developers Portal)

--

--