CatBitcoin

Bitcoin address types, explained: legacy, SegWit, and Taproot

Updated August 6, 2026

A bc1q address and a bc1p address differ by exactly one character in their prefix, yet that single letter marks a real fork in how a wallet spends your coins, what it costs, and what the network can see about your public key. Bitcoin has cycled through four address formats since 2009, each one a response to a specific technical limitation of the last. Understanding the differences matters for reasons that have nothing to do with distant future threats: they affect your transaction fees today, whether your wallet can even send to a given address, and how much of your key material sits exposed on the blockchain right now.

A quick tour of the four formats

P2PKH (addresses starting with "1") is the original format from Bitcoin's earliest days. It hashes your public key and encodes that hash directly. Simple, well understood, and still valid, but it carries no fee discount and no modern scripting flexibility.

P2SH (starting with "3") arrived in 2012 to let addresses represent a script rather than a single key, most commonly multisig setups or, later, a wrapper for SegWit. A "3" address today is often "nested SegWit," a P2SH shell around a SegWit script, built for wallets and services that hadn't caught up to native SegWit yet.

SegWit v0 (native, starting with "bc1q") activated in 2017. It moved signature data into a separate witness section of the transaction, which is discounted for fee purposes, and it fixed a technical bug called transaction malleability. This is the address type most wallets have defaulted to for years.

Taproot (starting with "bc1p") activated in November 2021. It introduced Schnorr signatures, which can be aggregated so a multi-key spend looks the same size as a single-key one, and it lets complex spending conditions stay hidden unless they're actually used. The tradeoff, covered in more depth on our page about whether Bitcoin is safe from quantum computers, is that a Taproot address commits to your actual public key the moment you receive funds, not just when you spend, unlike the hash-based formats before it.

Fees: the practical difference you'll actually notice

Address type changes how many bytes your transaction needs, and bytes are what you pay for. P2PKH spends are the most expensive per input, because none of the signature data gets a witness discount. SegWit v0 and Taproot both benefit from that discount, so a simple single-signature spend from either is meaningfully cheaper than the same spend from a legacy address.

Where Taproot pulls further ahead is on anything more complex than one signature. Because Schnorr signatures aggregate, a Taproot multisig spend or a cooperative Lightning channel close can look, on-chain, like an ordinary single-signature spend. The same operation done with legacy or SegWit v0 multisig requires including every individual signature, which adds real weight and real cost. If you're comparing fee estimates in sats per vbyte across a few wallets, the sats converter is a quick way to translate those numbers into whole BTC without touching a price feed.

Wallet and exchange support

Support for receiving to any of the four formats is close to universal at this point. Sending is the part that still varies. Most wallets and exchanges built or updated in recent years can send to bc1p addresses without issue, but older software, some custodial platforms, and a handful of point-of-sale systems still can't construct a valid Taproot output. That's part of why a number of wallets still generate a bc1q address as the default or fallback, even when they support Taproot internally: it's the format almost nothing will reject.

Legacy P2PKH and nested P2SH addresses aren't going anywhere either. They show up in old invoices, paper wallets from years back, certain multisig setups that predate Taproot, and services that simply never migrated. None of that is a security problem by itself. It's just inertia.

What's actually in use today

FormatPrefixActivatedPublic key visible on receipt?Typical use now
P2PKH (legacy)1...2009No, only a hashOld wallets, rarely chosen for new receives
P2SH (nested)3...2012No, only a hashMultisig, wrapping older SegWit setups
SegWit v0 (native)bc1q...2017No, only a hashMost common default across wallets and exchanges
Taprootbc1p...2021Yes, the key itselfGrowing default, strongest for multisig and Lightning

Notice the pattern: three of the four formats only reveal a hash of your public key when you receive funds, and expose the actual key once you spend from that address. Taproot is the exception, showing the key immediately on receipt. That's a meaningful distinction for the ongoing conversation about quantum resistance, but it's a separate question from everyday usability, and it shouldn't be the only thing you weigh when choosing an address type for a wallet you use often.

For most people, the practical choice today is straightforward. SegWit v0 gives you the best compatibility. Taproot gives you lower fees on complex spends, if your wallet and the people you transact with support it. Legacy formats are best left alone unless you're dealing with old funds or old software that has no other option. If you want to see exactly which format an address you hold falls into, and where it sits on the spend history and exposure spectrum, the Schrodinger's Wallet checker looks it up against a public block explorer and tells you plainly, which is a reasonable next step before deciding whether any of this needs your attention.