<p>From my understanding, BIP39/32/44 all use the secp256k1 elliptic curve standard from Bitcoin. But I noticed that cryptos such as Polkadot and Cardano have their own registered coin type path for BIP44, but those two cryptos use Ed25519 as their public key elliptic curve standard, so how is this possible?</p>
<p>Isn't those BIP39 mnemonic words all stemming from 256 bits originally? And Ed25519 uses a different private key size than 256 bits?</p>

CC BY-SA 4.0
2021-10-06T04:26:34.160Z
BIPs 32/44 and one option of 39 all generate 256-bit keys _suitable for_ secp256k1, but they don't depend on it in any way; they are equally good for anything else using 256-bit keys, which Ed25519 does. See https://en.wikipedia.org/wiki/EdDSA : "An EdDSA private key is a b-bit string ... chosen uniformly at random." "Ed25519 is the [instance] ... where ... b=256." A b-bit string with b=256 is a 256-bit string.
dave_thompson_085
CC BY-SA 4.0
2021-10-07T04:36:04.690Z
thanks for that explanation
jiamijiang
<bip32-hd-wallets><secp256k1><bip44>
How does Ed25519 fit in with BIP32/44 HD wallet paths?
jiamijiang
# How does Ed25519 fit in with BIP32/44 HD wallet paths?

(Asked by: username_0 on 2021-10-04)

From my understanding, BIP39/32/44 all use the secp256k1 elliptic curve standard from Bitcoin. But I noticed that cryptos such as Polkadot and Cardano have their own registered coin type path for BIP44, but those two cryptos use Ed25519 as their public key elliptic curve standard, so how is this possible?

Isn't those BIP39 mnemonic words all stemming from 256 bits originally? And Ed25519 uses a different private key size than 256 bits?

**Tags:** bip32-hd-wallets, secp256k1, bip44

> **Comments:**
> **username_1**: BIPs 32/44 and one option of 39 all generate 256-bit keys _suitable for_ secp256k1, but they don't depend on it in any way; they are equally good for anything else using 256-bit keys, which Ed25519 does. See https://en.wikipedia.org/wiki/EdDSA : "An EdDSA private key is a b-bit string ... chosen uniformly at random." "Ed25519 is the [instance] ... where ... b=256." A b-bit string with b=256 is a 256-bit string.  
> **username_0**: thanks for that explanation  

---

## 0 answers

