What Is a Bitcoin Address? Types Explained
Learn what a Bitcoin address is and how Legacy, SegWit, and Bech32 formats differ in cost, compatibility, and use.
A Bitcoin address is a string of letters and numbers that represents a destination for a Bitcoin payment, derived from a public key through a series of cryptographic hash functions. It works like an account number, except a single wallet can generate a virtually unlimited number of addresses, and each format encodes information about how the receiving funds are locked and spent.
Bitcoin has gone through several address formats since 2009, each introduced to improve efficiency, reduce transaction fees, or fix security shortcomings. Understanding the differences matters because sending funds to the wrong format, or using an outdated one, can mean higher fees and, in rare cases, compatibility issues with older services.
How a Bitcoin address is created
Every address traces back to a private key. The private key generates a public key through elliptic curve cryptography, and the public key is then hashed and encoded to produce the address. This one-way process means an address can be derived from a key, but a key can never be reverse-engineered from an address. For a deeper look at that relationship, see our explainer on public keys versus private keys in Bitcoin.
Your wallet software handles this generation automatically, storing your keys locally or in hardware while displaying the resulting address for you to share.
Legacy addresses (P2PKH)
Legacy addresses begin with the number "1" and represent the original Pay-to-Public-Key-Hash format from Bitcoin's early years. They are universally supported by every wallet and exchange, but they are also the least efficient in terms of data size, meaning transactions to and from legacy addresses cost more in fees than newer formats carrying the same information.
Legacy addresses remain valid and secure. Coins sent to a "1" address are just as safe as coins sent anywhere else. The tradeoff is purely about cost and network efficiency, not security.
Pay-to-Script-Hash addresses
Addresses starting with "3" use the Pay-to-Script-Hash (P2SH) format, most commonly seen wrapping SegWit transactions in what's called "nested SegWit" or "backwards-compatible SegWit." This format let the network adopt Segregated Witness technology without breaking compatibility with wallets that hadn't upgraded yet. It offers some of SegWit's fee savings while still displaying in a familiar structure to older software.
SegWit and Bech32 addresses
Segregated Witness, activated in 2017, restructured how transaction data is stored by separating signature data from the rest of the transaction. This freed up block space and enabled second-layer solutions. Native SegWit addresses use the Bech32 encoding standard and start with "bc1q."
Bech32 addresses are cheaper to transact with, more resistant to certain typing errors thanks to built-in error detection, and are the current standard recommended by most modern wallets. A newer variant, Bech32m, starting with "bc1p," supports Taproot outputs and further improves privacy and flexibility for complex spending conditions.
Comparing the formats
| Format | Prefix | Introduced | Relative Fee Cost | Compatibility |
|---|---|---|---|---|
| Legacy (P2PKH) | 1... | 2009 | Highest | Universal |
| P2SH (nested SegWit) | 3... | 2012 | Medium | Very broad |
| Native SegWit (Bech32) | bc1q... | 2017 | Lower | Broad, occasional gaps |
| Taproot (Bech32m) | bc1p... | 2021 | Lowest | Growing, some older services lag |
Why the format you choose matters
Fees on the Bitcoin network are calculated by the amount of data a transaction occupies, not by the dollar value being sent. Because Bech32 and Taproot addresses pack signature data more efficiently, using them consistently can meaningfully reduce what you pay over time, especially during periods of network congestion.
Compatibility is the other consideration. While every major exchange and wallet now supports SegWit, some older or niche platforms may still only generate legacy addresses for deposits. Always check that the address format you're sending to is supported by the receiving service before transacting.
Verifying a transaction after sending
Once you send Bitcoin to any address format, the transaction needs to be broadcast, validated, and confirmed by the network before it's considered final. If you're unfamiliar with that process, our guide on how Bitcoin transactions are verified walks through signature checks, propagation, and block inclusion in detail.
A note on privacy
Reusing the same address repeatedly links all of your transactions together on the public blockchain, making it easier for outside observers to trace your spending patterns. Most modern wallets generate a fresh receiving address for every transaction automatically, which is good practice regardless of which format you use. This is a basic but important part of overall wallet security, alongside safeguarding your seed phrase and using hardware wallets for larger holdings.
Bottom line
A Bitcoin address is simply an encoded destination derived from your public key, and the format it uses, Legacy, P2SH, Bech32, or Taproot, affects fees and compatibility rather than fundamental security. For most users today, a native SegWit or Taproot address offers the best balance of low fees and broad support. If you're setting up a new wallet, check that it defaults to Bech32 or Bech32m, and avoid reusing addresses when privacy matters. To understand the broader system these addresses operate within, see our overview of what Bitcoin is and how its consensus mechanism compares to alternatives in our proof of work versus proof of stake guide.
Related articles
This article is for educational purposes only and is not financial advice. DeFi involves significant risk, including total loss of funds. Always do your own research.