I have the following example seed:

morning twist board pelican denial retire middle inherit evil ritual omit fade general toddler grace evoke recipe sad minor destroy public dawn scissors cube

I'm trying to generate the same addresses on the ledger site which is showing up on my device: https://www.ledgerwallet.com/support/bip39-standalone.html

My intial pin was 5555 and my first bitcoin address is: 12mCn27...

I also set a "passphrase" of just the letter "a" which generates btc address: 1NSXBid...

I then did an attach to pin with the pin: 4555 which generates btc: 17Dn62...

I then added a passphrase to the 4555 pin with just the letter "b" and I get the following btc address: 1HBPpj...

  • When setting up ledger nano s initially is the address randomized? And what deviration path does it start from?
  • I tried pasting the example seed into https://www.ledgerwallet.com/support/bip39-standalone.html and I can't find the initial pin 5555 setup of address: 12mCn27
  • If I'm able to set different pins, where do I type this pin on the Mnemonic Code Converter page? It's not the passphrase field thats for sure.

  • If I wanted to recover all those private keys with the above scenarios with different pins and passphrases. How can I?

  • It looks like the PIN doesnt matter. The passphrase "b" I used with 4555 pin also generates the same exact address if my pin is 5555 with passphrase "b" aswell. Looks like the PIN is used only to physically access the device itself and doesn't communicate at all with the connected computer or it being used for address generation. Mar 8, 2018 at 18:41
  • I also just tried restoring this seed on another ledger and I'm getting a totally different bitcoin address. why is that? Mar 11, 2018 at 4:30

1 Answer 1


Right. PIN just protect the configuration. It is not an input in the calculation.

  1. The first normal address should be m/44'/0'/0'/0/0, the first *change address should be m/44'/0'/0'/1/0.

If you use segwit-p2sh m/49'/0'/0'/0/0 and m/49'/0'/0'/1/0. Native segwit: m/84'/0'/0'/0/0 and m/84'/0'/0'/1/0. And so on

  1. Use the command line utils in pycoin. Pretty up-to-date. You have to somehow start from the seed though. They don't support BIP39.

EDIT: The Master Public given by ledger wallet is already derived so: to obtain the first 10 addresses with ku (pycoin) this work for me (segwit):

ku -j -s0/0-9 xpubYourMasterPublicKeyHere |jq '.p2sh_segwit'

If you don't use segwit it's much easier:

ku -s0/0-9 -a xpubYourMasterPublicKeyHere

DISCLAIMER: Don't send money on a derivation you have obtained like this unless you know exactly what you're doing!

Check that the addresses produced are the same AND you have to use the address try first with a small amount to test and check the landing on Ledgerwallet.

  • m/44'/0'/0'/0/0 did not generate any of the above addresses that I have from my ledger. Mar 10, 2018 at 22:29
  • 1
    maybe the master public you have used is already derived to m/44/0'/0' so you have to add only "0/0", "0/1", etc. If you have taken the master public from Ledger wallet you are in this situation. Mar 20, 2018 at 16:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.