I'm a bit puzzled on how a wallet pairing process works. I know you can restore you parent private key from a mnemonic seed phrase. This will give you a parent private key. Using this private key how does a wallet figure out the private/public keys you have derived from this parent key?


1 Answer 1


You've got everything right. The last step (the one you are referring to) is done by brute force. The wallets just try out many many possibilities until they think they've guessed all the derived privKeys that you actually used. For each possible privKey, the wallet calculates the address and checks whether this address exists on the blockchain ( = there are or were coins on this address).

If you use the same wallet for recovering that also created all the addresses, then the derivation process is obviously the same and the wallet knows exactly how to derive the privKeys, to be sure to "guess" all of them. There are also standards for how to derive the privKeys:

  • Note: the wallet software does not ‘guess all of them’, as a BIP32 seed phrase could generate infinite child keys if needed. Most wallet software will simply follow some logic like ’look ahead 50 addresses, stop if no funded addresses are found. Check another 50 if a funded address is found’. Wallets also need to follow the same derivation path, or else the wallet may not check the right derivation path.
    – chytrik
    Feb 26, 2018 at 17:54
  • Thanks guys for your answers! Now I think I understand how it works :-)
    – Cristi
    Feb 27, 2018 at 8:20

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.