<p>I was interested in how many possible combinations of BIP 32 derivation paths exist, which could result in a public key derived from a seed. While some people colloquially call it &quot;unlimited,&quot; I don't think this is technically true.</p>
<ul>
<li>Each level of a derivation path has 2^32 possibilities</li>
<li><a href="https://bitcoin.stackexchange.com/questions/92056/what-is-the-max-allowed-depth-for-bip32-derivation-paths">A path can have up to 255 levels beyond the master</a></li>
</ul>
<p>I believe the math then is (2^32)^255 which is 2^8160 unique paths.</p>
<p>Whereas the number of possible public keys is much smaller at only 2^256.</p>
<p>Therefore, it seems reasonable to conclude that each seed, using some unknown derivation, can produce every single possible public key (many times over, with collisions).</p>
<p>Obviously this isn't a practical concern, but it would be interesting from a trivia perspective. Can someone confirm or point out a flaw in my logic? Thank you!</p>

CC BY-SA 4.0
2024-07-16T14:36:45.750Z
I suspect you are interested in public keys rather than addresses since the number of address types grows every few years as new locking scripts etc are standardised, but the number of possible public keys has not changed since the inception of Bitcoin.
RedGrittyBrick
CC BY-SA 4.0
2024-07-16T14:43:55.050Z
@RedGrittyBrick Good point, thank you, I've edited the question to discuss public keys instead of addresses.
Tom
<bip32-hd-wallets><public-key><secp256k1>
Using BIP32 derivations, can all seeds theoretically produce all public keys?
Tom
# Using BIP32 derivations, can all seeds theoretically produce all public keys?

(Asked by: username_0 on 2024-07-16)

I was interested in how many possible combinations of BIP 32 derivation paths exist, which could result in a public key derived from a seed. While some people colloquially call it "unlimited," I don't think this is technically true.

* Each level of a derivation path has 2^32 possibilities
* [A path can have up to 255 levels beyond the master](https://bitcoin.stackexchange.com/questions/92056/what-is-the-max-allowed-depth-for-bip32-derivation-paths)

I believe the math then is (2^32)^255 which is 2^8160 unique paths.

Whereas the number of possible public keys is much smaller at only 2^256.

Therefore, it seems reasonable to conclude that each seed, using some unknown derivation, can produce every single possible public key (many times over, with collisions).

Obviously this isn't a practical concern, but it would be interesting from a trivia perspective. Can someone confirm or point out a flaw in my logic? Thank you!

**Tags:** bip32-hd-wallets, public-key, secp256k1

> **Comments:**
> **username_1**: I suspect you are interested in public keys rather than addresses since the number of address types grows every few years as new locking scripts etc are standardised, but the number of possible public keys has not changed since the inception of Bitcoin.  
> **username_0**: @username_1 Good point, thank you, I've edited the question to discuss public keys instead of addresses.  

---

## 0 answers

