Keys & Addresses

Address

A Bitcoin address is an encoded string representing a destination for bitcoin payments. Depending on the type, it may be derived from a public key hash, a script hash, or a witness program. It serves as the identifier you share with others to receive bitcoin.

How It Works

A Bitcoin address is a hashed and encoded version of a public key (or script). The hashing provides a layer of protection — your public key is not revealed until you spend from that address. Different encoding schemes produce different address formats: legacy addresses start with 1 (P2PKH), script addresses start with 3 (P2SH), native SegWit addresses start with bc1q (P2WPKH/P2WSH), and Taproot addresses start with bc1p (P2TR).

Modern best practice is to use native SegWit (bech32) or Taproot addresses. These formats offer lower transaction fees, better error detection, and improved privacy features compared to legacy formats. Most current hardware wallets default to native SegWit or Taproot. If a service does not support sending to bc1 addresses, that is a red flag about their technical competence.

You should generate a new address for every transaction you receive. Address reuse links all transactions to a single address, making it trivial for chain analysis companies to track your financial activity. HD wallets make this easy — they generate new addresses automatically. Always verify the full address on your hardware wallet display before confirming any transaction.

Key Points

  • Encoded representation of a public key hash, script hash, or witness program
  • Multiple formats exist: legacy (1...), script (3...), SegWit (bc1q...), Taproot (bc1p...)
  • Native SegWit and Taproot addresses offer lower fees and better error detection
  • Use a fresh address for every incoming transaction to protect privacy
  • Always verify addresses on your hardware wallet screen to prevent clipboard attacks