<p>In public key cryptography, each private key is associated with a single public key. In Bitcoin, each public key generates a single Bitcoin address. (by hashing it)</p>

CC BY-SA 3.0
2018-02-14T19:02:54.270Z
Not entirely correct: pubkeys can be derived from privkey in compressed or uncompressed format. This gives two different addresses. OP is asking probably for HD wallets and the extended private keys. As in my other post: Andreas book „Mastering Bitcoin“ has a separate chapter on priv/pubkeys, wallets and extended keys (in a hierarchical deterministic wallet). There you can derive from one private key many other keys, and also addresses.
pebwindkraft
CC BY-SA 3.0
2018-02-14T19:56:27.293Z
Thanks, I didn't know about compressed format. I would edit my answer to talk about that, but as we know now the OP wanted to know about HD wallets, maybe it's the case to delete my answer?
Osias Jota
CC BY-SA 3.0
2018-02-14T12:49:32.520Z
2018-02-14T12:49:32.520Z
Osias Jota
<p>You can use extended private key, which is basically other form of expressing mnemonic words. It is string similar to normal private key, but is longer and begins always with "xpriv....". The idea is that you have extended private key and corresponding extended public key. The later enables to generate, say, <i>unlimited</i> amount of addresses and ext-priv-key enables to spend coins sent to that addresses.</p>

<p>If you have just single normal private key, there is no standardized way of generating multiple public keys.</p>

CC BY-SA 3.0
2018-04-02T19:01:14.967Z
2018-04-02T19:01:14.967Z
jakob
<p>you can't, only a seed can generate multiple keys.</p>

CC BY-SA 3.0
2018-02-14T13:30:54.307Z
Yeah. Using seed we can generate multiple keys. But all those keys will have same private key or different private keys?
merklexy
CC BY-SA 3.0
2018-02-14T13:34:04.410Z
different private keys.
chicko
CC BY-SA 3.0
2018-02-14T13:06:49.693Z
2018-02-14T13:06:49.693Z
chicko
<p>I want to generate multiple btc addresses using one private key. I am using pywallet library but each child address also have the private key. Can I use one private key for multiple addresses (if they derived from the same private key) to create a transaction? </p>

<transactions><address><address-generation>
How to generate multiple public addresses using one private key?
merklexy
# How to generate multiple public addresses using one private key?

(Asked by: username_0 on 2018-02-14)

I want to generate multiple btc addresses using one private key. I am using pywallet library but each child address also have the private key. Can I use one private key for multiple addresses (if they derived from the same private key) to create a transaction?

**Tags:** transactions, address, address-generation


---

## 3 answers

### Answer by username_1 on 2018-02-14. Score: 1 | Accepted answer

In public key cryptography, each private key is associated with a single public key. In Bitcoin, each public key generates a single Bitcoin address. (by hashing it)

> **Comments:**
> **username_2**: Not entirely correct: pubkeys can be derived from privkey in compressed or uncompressed format. This gives two different addresses. OP is asking probably for HD wallets and the extended private keys. As in my other post: Andreas book „Mastering Bitcoin“ has a separate chapter on priv/pubkeys, wallets and extended keys (in a hierarchical deterministic wallet). There you can derive from one private key many other keys, and also addresses.  
> **username_1**: Thanks, I didn't know about compressed format. I would edit my answer to talk about that, but as we know now the OP wanted to know about HD wallets, maybe it's the case to delete my answer?  

---

### Answer by username_3 on 2018-04-02. Score: 3

You can use extended private key, which is basically other form of expressing mnemonic words. It is string similar to normal private key, but is longer and begins always with "xpriv....". The idea is that you have extended private key and corresponding extended public key. The later enables to generate, say, *unlimited* amount of addresses and ext-priv-key enables to spend coins sent to that addresses.

If you have just single normal private key, there is no standardized way of generating multiple public keys.


---

### Answer by username_4 on 2018-02-14. Score: 0

you can't, only a seed can generate multiple keys.

> **Comments:**
> **username_0**: Yeah. Using seed we can generate multiple keys. But all those keys will have same private key or different private keys?  
> **username_4**: different private keys.  

---

