I'm trying to find the set of bitcoin addresses from a public key associated with a user just to analyse this user transaction. Is there any way to derive/find all the addresses that have been generated by this public key so far?

  • 3
    Public keys generally only create one address. Are you asking about deterministic seeds for creating many addresses, or perhaps BIP32?
    – Nick ODell
    Jun 21, 2015 at 14:52
  • @NickODell Actually I'm trying to find all transactions where any of the input addresses were generated by a public key. So I guess I have to find all bitcoin addresses that have been generated by this public key before. Makes sense? Jun 21, 2015 at 14:55
  • 1
    What you're saying describes extended public keys, but not normal public keys. Is that what you're asking?
    – Nick ODell
    Jun 21, 2015 at 14:56
  • @NickODell let me exemplify: this link points to a user profile page on Bitrated platform: bitrated.com/collincrypto I just picked up randomly this profile page. If u scroll down the page u will notice a public key and encoded public key to SIN hashes. So what I want is to find all transactions associated with this user. I guess there is a link between this public key and his transactions. I'd like to find all the addresses where this public key were used to generate them. Is this clear? Thank you Jun 21, 2015 at 14:59
  • 2
    The public key on user profiles (SIN) is used to sign ratings, profile fields, trade contracts, etc. It is not used for the multi-signature transactions themselves (which use keys derived from a separate HD master key associated with the user). Therefore, the SIN cannot be used to locate transactions on the blockchain. (I'm Nadav, the founder of Bitrated.)
    – shesek
    Nov 25, 2017 at 7:31

2 Answers 2


Expanding shesek's comment as an answer:

The "SIN" key you're looking at, on a profile on bitrated.com, is a particular feature of that site. These keys are not directly used for Bitcoin transactions at all, so you certainly can't discover addresses from them.

As for Bitcoin public keys, one public key generates one address; you cannot use a public key to compute other addresses belonging to that user. (Though you might find other addresses that participate in transactions with the first one, and guess that they belong to the same person; but that's not proof.)

If someone is using an HD wallet, there is a concept of a master public key, from which one can determine the public keys for many different addresses that the user might be using. People usually don't share those if they value their transaction privacy.


One Private key can generate only one public key and in a similar manner one public key can generate only one bitcoin address. So a proper question should be is there a way to find out whether two addresses or two public keys belong to the same person ? Then answer is No, you can not efficiently find out whether these two addresses belong to the same person or not. Even if that person tells you, he has to reveal corresponding private keys in order to prove this thing to you.

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.