An address describes a destination
A Bitcoin address is a human-readable encoding that helps a wallet construct an output with particular spending conditions. It is not an account on the network.
Mainnet addresses commonly begin with 1, 3, bc1q or bc1p. Wallet software should validate the complete address and checksum.
Legacy and SegWit formats
Addresses beginning with 1 commonly represent legacy pay-to-public-key-hash outputs. Addresses beginning with 3 can represent several script types, including nested SegWit.
Native SegWit addresses begin with bc1q and use Bech32. They provide strong error detection and commonly improve transaction weight efficiency.
Taproot uses Bech32m
Taproot addresses begin with bc1p and use Bech32m. Taproot supports new spending capabilities and can improve privacy and efficiency for some complex scripts.
The receiving wallet should generate the address and the sending wallet must support it. Never convert an address by manually changing its prefix.
Visual recap
Common mainnet address families
Formats evolved from legacy scripts to witness programs and Taproot.
1… Legacy
3… Script / nested SegWit
bc1q… Native SegWit
bc1p… Taproot
Key takeaways
- Addresses encode output destinations rather than holding balances.
- A 3-prefix address is not proof of one specific script type.
- bc1q uses Bech32 while bc1p uses Bech32m.
- Let wallet software validate every address.
Lesson recap
Check what you learned
Reveal each model answer, then honestly mark whether you understood it or need another review.
1 of 3
Recall
Why should you never create another address type by editing its prefix?
References
