Skip to content
ecdsa.com
AcceptableShort Weierstrass

secp256k1

secp256k1 is the 256-bit Koblitz curve y² = x³ + 7 that secures Bitcoin, Ethereum and Nostr.

secp256k1 is a short Weierstrass curve y² = x³ + ax + b over a 256-bit prime field with a 256-bit prime-order subgroup and cofactor 1; its estimated security level is 128 bits. Status: secure, but regional or niche.

secp256k1 is defined in SEC 2 over the prime p = 2^256 − 2^32 − 977 with a = 0 and b = 7. Its prime-order group gives about 128 bits of security, and a = 0 together with p ≡ 1 (mod 3) provides the GLV endomorphism that speeds up scalar multiplication. Unlike the NIST curves, its parameters were chosen for efficiency rather than derived from a seed.

Bitcoin adopted it in 2009 for ECDSA, and BIP 340 (Taproot) added Schnorr signatures on the same curve; Ethereum signs transactions and messages with it, and Nostr events carry BIP 340 Schnorr signatures. Ethereum (since EIP-2) and Bitcoin's relay policy reject the high-s form of ECDSA signatures to rule out malleability — see low-s.

Outside blockchains it is uncommon: RFC 8422 deprecated it for TLS (code point 22), JOSE (ES256K, RFC 8812) and COSE (algorithm −47) register it, and NIST SP 800-186 allows it only for blockchain-related applications.

Names in standards

StandardName
SEC 2secp256k1
JOSE / COSEsecp256k1

Object identifiers

Domain parameters

256-bit prime field · about 128-bit security

Field prime p
0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f
Coefficient a
0x0
Coefficient b
0x7
Base point x
0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
Base point y
0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
Order n of the base point
0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141
Cofactor h
0x1

Used in

  • Bitcoin
  • Ethereum
  • Nostr
  • JOSE (ES256K)
  • COSE (ES256K)

Identifiers in registries

TLS supported groups
secp256k1 0x0016
JOSE algorithms
ES256K
JWK curves
secp256k1
COSE algorithms
ES256K -47
COSE elliptic curves
secp256k1 8
HPKE KEM identifiers
DHKEM(secp256k1, HKDF-SHA256) 0x0016

Standards and references

All curves