Understanding Bitcoin Address Types: A Complete Guide
Understanding Bitcoin Address Types: A Complete Guide
Bitcoin addresses are like email addresses for money—they're unique identifiers that tell the network where to send your bitcoin. But unlike email, Bitcoin has evolved through multiple address formats over the years, each with different features, fee structures, and compatibility considerations.
If you've ever wondered why some Bitcoin addresses start with "1", others with "3", and newer ones with "bc1q" or "bc1p", this guide will explain everything you need to know.
Quick Reference: All Bitcoin Address Types
Before diving deep, here's a bird's-eye view of all Bitcoin address types:
| Type | Prefix | Year | Fee Savings | Recommended |
|---|---|---|---|---|
| P2PKH (Legacy) | 1... | 2009 | Baseline | No |
| P2SH | 3... | 2012 | Variable | Situational |
| P2WPKH (Native SegWit) | bc1q... | 2017 | ~38% | Yes |
| P2WSH | bc1q... (longer) | 2017 | ~38% | For multisig |
| P2TR (Taproot) | bc1p... | 2021 | ~40%+ | Best choice |
Quick tip: If you're just getting started, look for a wallet that supports bc1p (Taproot) addresses. They offer the best combination of privacy, efficiency, and future-proofing.
P2PKH: Legacy Addresses (1...)
Pay-to-Public-Key-Hash addresses are the original Bitcoin address format, introduced by Satoshi Nakamoto in 2009.
Example Address
1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2
How to Recognize It
- Always starts with the number 1
- 26-35 characters long
- Uses Base58Check encoding (no 0, O, I, or l to avoid confusion)
Historical Note: The first-ever Bitcoin transaction was sent to a P2PKH address when Satoshi Nakamoto sent 10 BTC to Hal Finney on January 12, 2009.
Pros & Cons
| Pros | Cons |
|---|---|
| Universal compatibility | Highest transaction fees |
| Simple and well-understood | Largest transaction size |
| Supported by all wallets | No advanced features |
Current Network Usage
- ~35% of UTXOs (Unspent Transaction Outputs)
- ~6.5 million BTC held in these addresses
- Trend: Declining as users migrate to newer formats
P2SH: Script Hash Addresses (3...)
Pay-to-Script-Hash addresses were introduced in 2012 through BIP 16. They enable more complex spending conditions, including multi-signature wallets.
Example Address
3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy
How to Recognize It
- Always starts with the number 3
- 26-35 characters long
- Uses Base58Check encoding
Technical Note: P2SH addresses hide the spending conditions (script) until the bitcoin is spent. This is why they're often used for "wrapped SegWit" (P2SH-P2WPKH), providing SegWit benefits while maintaining backward compatibility.
Common Uses
- Multi-signature wallets (2-of-3, 3-of-5, etc.)
- Wrapped SegWit (P2SH-P2WPKH) for compatibility
- Time-locked transactions
- Complex smart contract conditions
Pros & Cons
| Pros | Cons |
|---|---|
| Enables multi-sig and complex scripts | Fees depend on underlying script |
| Good backward compatibility | Not as efficient as native SegWit |
| Hides spending conditions for privacy | Reveals script complexity when spent |
Current Network Usage
- ~15% of UTXOs
- ~3 million BTC held in these addresses
- Trend: Stable, still used for specific purposes
P2WPKH: Native SegWit Addresses (bc1q...)
Pay-to-Witness-Public-Key-Hash is the native SegWit address format, introduced in 2017 through BIPs 141, 143, and 173. This was a major upgrade that significantly reduced transaction fees.
Example Address
bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq
How to Recognize It
- Always starts with bc1q
- 42 characters long (for single-sig)
- Uses Bech32 encoding (lowercase only)
- Human-readable prefix indicates network (bc = mainnet, tb = testnet)
Why "SegWit"? Segregated Witness moves the signature data (witness) to a separate part of the transaction. This "segregation" reduces the data counted toward block limits, enabling more transactions per block and lower fees.
Pros & Cons
| Pros | Cons |
|---|---|
| ~38% lower fees than Legacy | Not supported by very old wallets |
| Better error detection (Bech32) | Case-sensitive QR codes less efficient |
| Fixes transaction malleability | Slightly longer address string |
| Widely supported since 2018+ | Some exchanges still don't support withdrawals |
Current Network Usage
- ~40% of UTXOs (largest share)
- ~7.5 million BTC held in these addresses
- Trend: Growing, becoming the standard
P2WSH: Native SegWit Script Addresses (bc1q... longer)
Pay-to-Witness-Script-Hash is the SegWit equivalent of P2SH, used for multi-signature and complex script transactions.
Example Address
bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qccfmv3
How to Recognize It
- Starts with bc1q (same as P2WPKH)
- 62 characters long (vs 42 for P2WPKH)
- The length is the key differentiator from P2WPKH
Distinguishing P2WPKH from P2WSH: Both start with "bc1q", but P2WPKH addresses are 42 characters while P2WSH addresses are 62 characters. The extra length accommodates the larger script hash.
Common Uses
- Multi-signature wallets with SegWit benefits
- Lightning Network channel funding
- Complex time-locked contracts
Pros & Cons
| Pros | Cons |
|---|---|
| SegWit fee savings for complex scripts | Long addresses can be cumbersome |
| Essential for Lightning Network | Not needed for simple single-sig |
| Better privacy than P2SH for multisig | Still reveals script complexity when spent |
Current Network Usage
- ~5% of UTXOs
- ~1 million BTC held in these addresses
- Trend: Stable, used for specific multi-sig needs
P2TR: Taproot Addresses (bc1p...)
Pay-to-Taproot is the newest address format, activated in November 2021 through BIPs 340, 341, and 342. It represents the most significant Bitcoin upgrade since SegWit.
Example Address
bc1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqkedrcr
How to Recognize It
- Always starts with bc1p
- 62 characters long
- Uses Bech32m encoding (improved error detection)
Why Taproot Matters: Taproot makes complex transactions (multi-sig, time-locks, smart contracts) look identical to simple transactions on the blockchain. This dramatically improves privacy and reduces fees for advanced use cases.
Key Innovations
-
Schnorr Signatures: More efficient cryptographic signatures that enable:
- Key aggregation (multiple keys → single key)
- Batch verification (faster validation)
- Smaller transaction sizes
-
MAST (Merkelized Alternative Script Trees): Only reveals the script path actually used, not all possible conditions
-
Improved Privacy: Complex transactions are indistinguishable from simple ones
Pros & Cons
| Pros | Cons |
|---|---|
| ~40%+ lower fees than Legacy | Not yet universally supported |
| Best privacy for complex transactions | Adoption still growing |
| Enables advanced smart contracts | Some hardware wallets lack support |
| Future-proof for Bitcoin development | Newer, less battle-tested |
Current Network Usage
- ~5% of UTXOs
- ~1 million BTC held in these addresses
- Trend: Growing rapidly, especially among ordinals/inscriptions
Network Statistics Overview
Here's an approximate breakdown of how Bitcoin is distributed across address types:
| Address Type | % of UTXOs | Approx. BTC Held | Trend |
|---|---|---|---|
| P2PKH (Legacy) | ~35% | ~6.5M BTC | Declining |
| P2SH | ~15% | ~3M BTC | Stable |
| P2WPKH (SegWit) | ~40% | ~7.5M BTC | Growing |
| P2WSH | ~5% | ~1M BTC | Stable |
| P2TR (Taproot) | ~5% | ~1M BTC | Growing fast |
Data Note: These statistics are approximate and change over time. The distribution shifts as users migrate to newer address types and as usage patterns evolve. For real-time data, consult blockchain analytics platforms.
Wallet Compatibility Matrix
Not all wallets can send to all address types. Here's what to expect:
| Wallet Generation | Legacy (1...) | P2SH (3...) | SegWit (bc1q...) | Taproot (bc1p...) |
|---|---|---|---|---|
| Pre-2017 (Old) | ✓ | ✓ | Maybe | ✗ |
| 2017-2021 (Modern) | ✓ | ✓ | ✓ | Maybe |
| 2021+ (Current) | ✓ | ✓ | ✓ | ✓ |
Compatibility Tip: If you're unsure whether someone can send to your address, a P2SH-wrapped SegWit address (starts with "3") offers the best balance of fee savings and universal compatibility.
Historical Timeline
Bitcoin address formats have evolved alongside the protocol:
| Year | Event | Address Type | BIP(s) |
|---|---|---|---|
| 2009 | Bitcoin Genesis | P2PKH (1...) | Original |
| 2012 | Script Hash Introduced | P2SH (3...) | BIP 16 |
| 2017 | SegWit Activation | P2WPKH, P2WSH (bc1q...) | BIPs 141, 143, 173 |
| 2021 | Taproot Activation | P2TR (bc1p...) | BIPs 340, 341, 342 |
Activation Process: Bitcoin protocol upgrades require broad consensus. SegWit took years to activate due to the "block size wars," while Taproot achieved smooth activation through the "Speedy Trial" method with miner signaling.
Transaction Fee Comparison
The practical difference between address types becomes clear when comparing transaction fees:
| Type | Typical Size | At 10 sat/vB | At 50 sat/vB | Savings vs Legacy |
|---|---|---|---|---|
| P2PKH (Legacy) | ~225 vB | 2,250 sats | 11,250 sats | Baseline |
| P2SH-P2WPKH (Wrapped) | ~166 vB | 1,660 sats | 8,300 sats | ~26% |
| P2WPKH (Native SegWit) | ~140 vB | 1,400 sats | 7,000 sats | ~38% |
| P2TR (Taproot) | ~135 vB | 1,350 sats | 6,750 sats | ~40% |
Real Savings: At high fee periods (100+ sat/vB), choosing Taproot over Legacy can save you thousands of satoshis per transaction. Over time, this adds up significantly.
Recommendations by Use Case
Personal Wallets
| Priority | Recommended | Why |
|---|---|---|
| Best overall | P2TR (bc1p...) | Lowest fees, best privacy, future-proof |
| Good alternative | P2WPKH (bc1q...) | Widely supported, excellent fee savings |
| Maximum compatibility | P2SH-P2WPKH (3...) | Works with any wallet, decent savings |
Business & Exchanges
- Primary recommendation: P2WPKH (bc1q...) — best balance of compatibility and fees
- Customer deposits: Support all types (must accept whatever customers send)
- Withdrawals: Offer P2WPKH and P2TR options
Multi-Signature Setups
| Setup | Recommended | Why |
|---|---|---|
| Best privacy/efficiency | P2TR | Key aggregation hides multisig nature |
| Good compatibility | P2WSH (bc1q...) | Native SegWit benefits for scripts |
| Legacy multisig | P2SH (3...) | When older hardware is involved |
Key Takeaways
Summary: What You Need to Know
-
Use Taproot (bc1p...) if possible — It's the most efficient and private option available today.
-
Native SegWit (bc1q...) is the safe choice — Widely supported with significant fee savings over legacy addresses.
-
Legacy addresses (1...) are outdated — Only use them if required for compatibility with very old systems.
-
Address type affects fees — Choosing modern formats can save you 40% or more on transaction costs.
-
The network is still transitioning — Not all services support all address types yet. Check compatibility before committing.
Technical Appendix
Address Encoding Formats
| Encoding | Used By | Character Set | Error Detection |
|---|---|---|---|
| Base58Check | P2PKH, P2SH | Alphanumeric (no 0OIl) | 4-byte checksum |
| Bech32 | P2WPKH, P2WSH | Lowercase alphanumeric | BCH code (better) |
| Bech32m | P2TR | Lowercase alphanumeric | Modified BCH (best) |
Identifying Address Types in Code
function identifyAddressType(address: string): string {
// Mainnet addresses
if (address.startsWith('1')) {
return 'P2PKH (Legacy)';
}
if (address.startsWith('3')) {
return 'P2SH (could be multisig or wrapped SegWit)';
}
if (address.startsWith('bc1q')) {
return address.length === 42 ? 'P2WPKH (Native SegWit)' : 'P2WSH (SegWit Script)';
}
if (address.startsWith('bc1p')) {
return 'P2TR (Taproot)';
}
// Testnet addresses
if (address.startsWith('m') || address.startsWith('n')) {
return 'Testnet P2PKH';
}
if (address.startsWith('2')) {
return 'Testnet P2SH';
}
if (address.startsWith('tb1q')) {
return 'Testnet SegWit';
}
if (address.startsWith('tb1p')) {
return 'Testnet Taproot';
}
return 'Unknown address format';
}
// Examples
console.log(identifyAddressType('1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2'));
// Output: P2PKH (Legacy)
console.log(identifyAddressType('bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq'));
// Output: P2WPKH (Native SegWit)
console.log(identifyAddressType('bc1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqkedrcr'));
// Output: P2TR (Taproot)
Disclaimer: This article is for educational purposes only. Address formats and network statistics are subject to change. Always verify current compatibility before making significant transactions.