I am new to Bitcoin; our company wants to use bitcoin for payments.

We need to create a address for each transaction. so we need to create many public address.

First, I need to generate many public and private key-pairs. This is going to be very hard to do in a secure way!

I read another question that said with hierarchical deterministic wallets we can do something like creating one key-pair and generate many public address from it (means one private key can have many public key).

So if it really do!: Do we need to keep all of public keys or just can use private key for transaction bitcoins or checking balanced? or the other public keys are child key and i should keep the first mother public key?

  • Can someone else see how much bitcoin we have earned?
    • just with child-address?
    • if she/he get the master public key, can they check our balance?

We want to use Lazy_API and show user an address to use it for transaction and after that check it with blockchain.info json api or blockexplorer, if transaction done after number of confirmation we proceed invoice and they can access to what they want.

Something else: some mobile wallet(like Breadwallet.com for iOS) said that they change public address after current get received bitcoins! Does they create new key-pairs or just do something like above?

  • To many questions. This is a one question system. Get an android phone and install mycelium (test if you don't want to use real coins) and mytrezor lite. With these apps you can play around with HD wallets to get a feel. Then buy a few trezors for your company to keep the private key safe. The private key should never leave the trezor.
    – Jannes
    Dec 24, 2014 at 9:29
  • i know there is one to one way question system. but i try to asked my questions once because the related to each other.
    – Osiris
    Dec 24, 2014 at 21:01
  • and im not using android and i am on ios devices. but recently i saw that mycelium have ios version. but as i see in app details on bitcoin.org, "This wallet relies on a centralized service by default. This means a third party must be trusted to not hide or simulate payments." and it also requore ios 8 that i am 7. but does the app crate multi address for one key-pair?
    – Osiris
    Dec 24, 2014 at 21:09

1 Answer 1


As you found out already; private and public keys are not necessarily paired 1-to-1. In fact, using the original Bitcoin client you can just run the getnewaddress to generate a new address belonging to your wallet, which is controlled by only one private key.

  • 2
    That's not true. bitcoind keeps one private key for each address. getnewaddress generates a new keypair (or gets one from the keypool) and derives a single address from it.
    – Nick ODell
    Dec 24, 2014 at 20:53
  • as i knew The hd-wallet using a master key-pair and then using the public key to generate address and each address have a child key-pair too that can be used like a separate wallet! but with master public key we can see all transaction for child public key and address! d3qlb4e6ron71v.cloudfront.net/blog/wp-content/uploads/2014/02/…
    – Osiris
    Dec 24, 2014 at 21:15

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.