Skip to content
ecdsa.com

Bitcoin address

A human-readable encoding of a Bitcoin output script: legacy P2PKH (1…) and P2SH (3…) in Base58Check, SegWit v0 (bc1q…) in bech32 and Taproot (bc1p…) in bech32m.
Also written asBitcoin addressbech32bech32mP2PKHBase58Check

P2PKH and P2WPKH commit to HASH160(pubkey) (RIPEMD-160 of SHA-256, 20 bytes), P2SH and P2WSH to a script hash, and P2TR (Taproot) to a 32-byte x-only public key that may tweak in a script tree. bech32 is specified in BIP-173 and bech32m, which fixes a checksum weakness for witness versions 1 and above, in BIP-350; testnet addresses start with tb1, m, n or 2.

Which message-signing standard applies depends on the type: BIP-137 handles P2PKH and, inconsistently, single-key SegWit; BIP-322 handles any script. Address reuse harms privacy and, for P2PKH, exposes the public key once spent.

Standards and references

All terms