<p>You've discovered that with a Hierarchical Deterministic wallet like the Ledger, a single 24-word phrase can be used to derive (essentially) infinite public/private key pairs and addresses.</p>

<p>This standard is a combination of:</p>

<p><a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" rel="nofollow noreferrer">BIP32</a> - HD Wallets</p>

<p><a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" rel="nofollow noreferrer">BIP39</a> - Mnemonic code
and</p>

<p><a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" rel="nofollow noreferrer">BIP44</a> - Multi-account hierarchy</p>

<p>Notice that BIP44 takes that seed phrase and standardizes a series of values that make up a "path" from the seed phrase to a specific key:</p>

<pre><code>m / purpose' / coin_type' / account' / change / address_index
</code></pre>

<p>That <code>coin_type</code> value I believe is the answer to your question. </p>

<p>Satoshi Labs (developer of the Trezor hardware wallet) maintains a list of values for the <code>coin_type</code> field here: <a href="https://github.com/satoshilabs/slips/blob/master/slip-0044.md" rel="nofollow noreferrer">https://github.com/satoshilabs/slips/blob/master/slip-0044.md</a></p>

<p>This list is accepted as standard by many hardware wallet manufacturers and cryptocurrency software developers although it's important to note that there are no consensus rules around it - just compatibility standards between wallet applications.</p>

<p>SO, starting with your BIP39 seed phrase and using BIP32 derivation you can compute the first Bitcoin receive address for account 0 at this BIP44 path:</p>

<pre><code>m/44'/0'/0'/0/0
</code></pre>

<p>Similarly, your first Ethereum private key will be computed from this path:</p>

<pre><code>m/44'/60'/0'/0/0
</code></pre>

<p>That's how the keys for different currencies are all derived from the same single source of entropy.</p>

<p>The reason Ledger has this concept of "apps" is that many of these altcoins do not use the same signature scheme or transaction message digest as Bitcoin. So although the series of private keys for each currency can be computed arbitrarily by the device itself, once you have the key you need additional software for each use case to instruct the device <em>what to do</em> with that key.</p>

CC BY-SA 4.0
2020-06-02T22:06:25.007Z
A mostly understandable reply, though it would probably take me a couple of weeks to understand it all.  I scanned the three "standards" you pointed me at.  Again, it would take me weeks to fully understand them, if, for instance, I was writing cryptocurrency software of some kind.  Having said that, you answered my question and several more I hadn't thought to share yet.  Thank you!
Frank Merrow
CC BY-SA 4.0
2020-06-02T11:49:11.907Z
2020-06-02T11:49:11.907Z
pinhead
<p>So you startup your ledger, copy down your 24 words, and you now have a public and private key. (I think). Now you add the BitCoin App to your Ledger and you can add BTC to your "hardware wallet" using those keys. (Though phrasing it that way is a bit of a misnomer since the only thing your Ledger ever really stores is your private/public keys.)</p>

<p>So far so good for one currency. However, a Ledger will hold multiple currencies. That I can find there is no asking for another 24 words. You just add the second app and you now have a wallet in that new currency. So I assume that means that if you purchase Ethereum coins it is going to use the same public/private keys that you used on BitCoin?</p>

<p>That would also imply that you cannot have two BitCoin wallets on the same Ledger because attempting to do so wouldn't make sense without a second set of keys which the Ledger doesn't have.</p>

<p>Is what I am saying correct?</p>

<p>Frank</p>

<ledger-hardware-wallet>
Warning Newbie: How does a Ledger hold multiple currencies?
Frank Merrow
# Warning Newbie: How does a Ledger hold multiple currencies?

(Asked by: username_0 on 2020-06-02)

So you startup your ledger, copy down your 24 words, and you now have a public and private key. (I think). Now you add the BitCoin App to your Ledger and you can add BTC to your "hardware wallet" using those keys. (Though phrasing it that way is a bit of a misnomer since the only thing your Ledger ever really stores is your private/public keys.)

So far so good for one currency. However, a Ledger will hold multiple currencies. That I can find there is no asking for another 24 words. You just add the second app and you now have a wallet in that new currency. So I assume that means that if you purchase Ethereum coins it is going to use the same public/private keys that you used on BitCoin?

That would also imply that you cannot have two BitCoin wallets on the same Ledger because attempting to do so wouldn't make sense without a second set of keys which the Ledger doesn't have.

Is what I am saying correct?

username_0

**Tags:** ledger-hardware-wallet


---

## 1 answers

### Answer by username_1 on 2020-06-02. Score: 2 | Accepted answer

You've discovered that with a Hierarchical Deterministic wallet like the Ledger, a single 24-word phrase can be used to derive (essentially) infinite public/private key pairs and addresses.

This standard is a combination of:

[BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) - HD Wallets

[BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) - Mnemonic code
and

[BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) - Multi-account hierarchy

Notice that BIP44 takes that seed phrase and standardizes a series of values that make up a "path" from the seed phrase to a specific key:

```
m / purpose' / coin_type' / account' / change / address_index

```

That `coin_type` value I believe is the answer to your question.

Satoshi Labs (developer of the Trezor hardware wallet) maintains a list of values for the `coin_type` field here: <https://github.com/satoshilabs/slips/blob/master/slip-0044.md>

This list is accepted as standard by many hardware wallet manufacturers and cryptocurrency software developers although it's important to note that there are no consensus rules around it - just compatibility standards between wallet applications.

SO, starting with your BIP39 seed phrase and using BIP32 derivation you can compute the first Bitcoin receive address for account 0 at this BIP44 path:

```
m/44'/0'/0'/0/0

```

Similarly, your first Ethereum private key will be computed from this path:

```
m/44'/60'/0'/0/0

```

That's how the keys for different currencies are all derived from the same single source of entropy.

The reason Ledger has this concept of "apps" is that many of these altcoins do not use the same signature scheme or transaction message digest as Bitcoin. So although the series of private keys for each currency can be computed arbitrarily by the device itself, once you have the key you need additional software for each use case to instruct the device *what to do* with that key.

> **Comments:**
> **username_0**: A mostly understandable reply, though it would probably take me a couple of weeks to understand it all.  I scanned the three "standards" you pointed me at.  Again, it would take me weeks to fully understand them, if, for instance, I was writing cryptocurrency software of some kind.  Having said that, you answered my question and several more I hadn't thought to share yet.  Thank you!  

---

