SEC Format
SEC format, from the Standards for Efficient Cryptography, is the convention for encoding elliptic curve public keys as bytes. An uncompressed key stores both coordinates of the curve point in 65 bytes behind a 0x04 prefix, while the compressed form stores only the x coordinate plus a one-byte hint, 0x02 or 0x03, cutting the key to 33 bytes.
Why it matters
Every byte in a bitcoin transaction is paid for and stored by every full node forever, so a 32-byte saving per public key compounds across billions of transaction inputs. Early bitcoin software used uncompressed keys; wallets migrated to compressed keys as the chain grew, and modern address formats assume them. The encoding also matters for correctness, since address derivation hashes the key bytes: the same key pair yields entirely different addresses depending on which encoding was hashed, a subtlety that has complicated wallet recovery for users with old keys.
How it works
A point on secp256k1 satisfies the curve equation, so for any x coordinate there are exactly two possible y values, one even and one odd. Compression discards y and records only its parity in the prefix byte, letting any verifier recompute the full point. Taproot went one step further in 2021: its outputs store just the 32-byte x coordinate with the parity fixed by convention, dropping the prefix byte entirely.
Related Terms
Ready to convert your gold to Bitcoin?
Get Your Free Kit →