What Is a Bitcoin Address?
A Bitcoin address is a public identifier - a string of letters and numbers that you share with someone so they can send bitcoin to you. It functions like a bank account number, but instead of being assigned by a bank, it is mathematically derived from your private key. Anyone can send bitcoin to your address, but only you can spend from it.
Understanding Bitcoin addresses is foundational to using Bitcoin safely. Knowing how they are created, the differences between address types, and why you should use a new address for each transaction will help you protect your privacy and avoid costly mistakes.
How a Bitcoin Address Is Created
A Bitcoin address does not appear out of thin air - it is generated through a chain of cryptographic operations starting from your private key. Here is the path from private key to address:
- Private key: A randomly generated 256-bit number known only to you.
- Public key: Derived from the private key using elliptic curve multiplication (ECDSA). This operation is mathematically one-way: you can derive the public key from the private key, but not the reverse.
- Bitcoin address: Derived from the public key by applying SHA-256, then RIPEMD-160 hash functions, followed by Base58Check or Bech32 encoding to produce a human-readable string with a built-in checksum.
The checksum embedded in an address is important. It means if you mistype even a single character in a Bitcoin address, the wallet software will reject it before any funds are sent - protecting users from losing bitcoin to typos.
Your wallet handles all of this automatically. You never need to manually perform these operations - but understanding the chain of derivation helps you understand why Bitcoin's security model works.
Bitcoin Address Types: Legacy, P2SH, and SegWit
Bitcoin addresses come in several formats, each introduced at different points in Bitcoin's history. They are not interchangeable in appearance, but bitcoin can be sent from any address type to any other address type.
| Type | Prefix | Standard | Status |
|---|---|---|---|
| Legacy | 1 | P2PKH | Still valid, higher fees |
| Pay-to-Script-Hash | 3 | P2SH | Widely used, wraps SegWit |
| Native SegWit | bc1q | P2WPKH (bech32) | Recommended - lowest fees |
| Taproot | bc1p | P2TR (bech32m) | Newest standard, growing adoption |
Legacy addresses (P2PKH, starting with 1) are the original Bitcoin address format introduced by Satoshi. They are still valid and every Bitcoin node and wallet recognizes them, but transactions using them are larger in byte size, which means higher fees. Example:
P2SH addresses (starting with 3) were introduced to support more complex scripts, including multi-signature setups and wrapped SegWit transactions. Many wallets use 3-addresses to provide SegWit fee savings to users while maintaining compatibility with older software.
Native SegWit (bech32, starting with bc1q) is the current best-practice address format for most users. It results in smaller transactions and lower fees, has better error detection, and is supported by all modern wallets and exchanges. This is what you should use unless a specific service requires a different type.
Taproot (bech32m, starting with bc1p) is the newest address format, activated in November 2021. It enables enhanced privacy and more efficient smart contracts on Bitcoin. Adoption is growing as wallets and services update their software.
Bitcoin Address vs. Public Key: What Is the Difference?
These two terms are often confused, and the distinction matters for security.
Your public key is a 33 or 65-byte elliptic curve point derived from your private key. It is used inside Bitcoin's transaction signing system to verify that only the person with the corresponding private key authorized a spend. In older address formats, spending bitcoin reveals your public key on the blockchain for the first time.
Your Bitcoin address is a hash of your public key. Because it is a hash, it is one step further removed from your private key. This provides an extra layer of security - even if elliptic curve cryptography were somehow weakened in the future, the RIPEMD-160 hash provides an additional barrier. This is one reason why best practice is to use each address only once and never reuse addresses across transactions.
Think of the public key as the underlying cryptographic material and the address as the user-facing representation derived from it.
Why You Should Use a New Address for Every Transaction
Bitcoin's blockchain is entirely public. Every transaction ever made is permanently recorded and visible to anyone. When you reuse an address, you are creating a permanent, public link between all of the payments sent to that address.
This has real privacy implications:
- Anyone who knows one payment you received can see every other payment ever sent to the same address.
- If you pay a merchant with bitcoin from a reused address, the merchant can see all of your incoming transaction history tied to that address.
- Blockchain analytics companies specialize in clustering addresses to trace the movement of funds - reuse makes their job easier.
Modern HD (Hierarchical Deterministic) wallets generate a new address automatically for each incoming transaction, all derived from the same 12 or 24-word seed phrase. You do not lose access to any of these addresses when you generate new ones - they are all recoverable from your seed. There is no practical cost to using a fresh address every time, and the privacy benefit is significant.
Can You Send Bitcoin to the Wrong Address?
Yes - and it would almost certainly be lost permanently. There is no bank or authority that can reverse a Bitcoin transaction or recover funds sent to the wrong address. This is why the checksum in every Bitcoin address is so important: it catches most typos before a transaction is broadcast.
However, the checksum does not protect against sending to a valid address that belongs to someone else. Best practices when sending bitcoin include:
- Always copy-paste addresses rather than typing them manually.
- Double-check the first and last 4-6 characters after pasting.
- For large amounts, send a small test transaction first and confirm receipt before sending the full amount.
- Be aware of "clipboard hijacking" malware that replaces copied addresses with an attacker's address - always verify the address in your wallet's confirmation screen.
Learn Bitcoin The Visual Way
Bitcoin From Scratch covers private keys, addresses, wallets, and self-custody through 34 3D animated lessons - the clearest explanation of how Bitcoin actually works.
Get Bitcoin From Scratch - $97Frequently Asked Questions
Is a Bitcoin address the same as a public key?
No. A Bitcoin address is derived from a public key by applying cryptographic hash functions (SHA-256 then RIPEMD-160), then encoding the result. The address is shorter and adds a checksum for error detection. You share your address to receive bitcoin; your public key is revealed only when you spend from that address.
What does a Bitcoin address look like?
Legacy addresses start with "1", P2SH addresses start with "3", and native SegWit (bech32) addresses start with "bc1q". All are 26-62 characters long and use Base58 or Bech32 encoding to avoid visually similar characters like 0 and O.
Can I reuse a Bitcoin address?
You can technically reuse an address, but it is a privacy risk. Every transaction to that address is permanently recorded on the blockchain, allowing anyone to see your full transaction history associated with that address. Best practice is to generate a new address for every payment received.
Which Bitcoin address type should I use?
Native SegWit addresses (starting with bc1q) are the recommended standard today. They have lower transaction fees, better error detection, and are supported by all modern wallets. Legacy addresses (starting with 1) are still valid but result in higher fees.
How many Bitcoin addresses can one wallet generate?
Modern HD (Hierarchical Deterministic) wallets can generate billions of unique addresses from a single seed phrase. This is why you can use a fresh address for every transaction without losing track - all addresses from the same seed are controlled by the same wallet.