Tools/Explorers

Bitcoin Address Types: Compatibility Matrix and Fee Guide

Compatibility matrix showing which Bitcoin address types can send to which, plus fee differences and wallet support for Legacy, SegWit, and Taproot.

Spark TeamInvalid Date

Bitcoin Address Types Overview

Bitcoin has four main address formats in active use today: Legacy (P2PKH), P2SH, Native SegWit (P2WPKH), and Taproot (P2TR). Each format represents a different generation of Bitcoin's scripting system, with distinct tradeoffs in transaction fees, privacy, and wallet compatibility. Choosing the right address type affects how much you pay in fees every time you spend bitcoin.

For a deep technical history of how these formats evolved, see our research article on Bitcoin address types from P2PKH to Taproot.

Address TypePrefixIntroducedKey BIPsEncodingSignature
P2PKH (Legacy)1...2009 (genesis)Original protocolBase58CheckECDSA
P2SH3...2012 (BIP 16)BIP 13, BIP 16Base58CheckECDSA
P2SH-P2WPKH (Nested SegWit)3...2017 (SegWit activation)BIP 141, BIP 143Base58CheckECDSA
P2WPKH (Native SegWit)bc1q...2017 (SegWit activation)BIP 141, BIP 173, BIP 84Bech32ECDSA
P2TR (Taproot)bc1p...November 2021 (block 709,632)BIP 340, BIP 341, BIP 342, BIP 350, BIP 86Bech32mSchnorr

P2SH addresses (starting with 3) serve double duty: they originally enabled script-based spending conditions like multisig, and after SegWit activated in 2017, they also became the wrapper format for "nested SegWit" (P2SH-P2WPKH). This backwards-compatible approach let wallets benefit from SegWit fee savings while maintaining compatibility with services that hadn't yet upgraded to recognize bc1 addresses.

Address Compatibility Matrix

At the Bitcoin protocol level, all address types are fully interoperable. Any address type can send to any other address type. The network does not restrict which output scripts a transaction may create: a P2PKH input can fund a Taproot output, and vice versa.

Sender → RecipientP2PKH (1...)P2SH (3...)bc1q (SegWit)bc1p (Taproot)
P2PKH (1...)
P2SH (3...)
bc1q (SegWit)
bc1p (Taproot)
Note: Protocol compatibility does not guarantee wallet compatibility. The limitations are at the software layer: some wallets and exchanges cannot construct transactions paying to bc1q or bc1p addresses because they don't recognize Bech32 or Bech32m encoding. If a service rejects your address, the issue is their software, not the Bitcoin network.

Transaction Fee Comparison by Address Type

Fee savings are the most practical reason to choose one address type over another. Bitcoin fees are calculated per virtual byte (vB), and SegWit's witness discount reduces the effective size of signature data by 75%. Taproot takes this further with 64-byte Schnorr signatures (versus 71-72 bytes for ECDSA) and eliminates the need to push the public key in the witness.

Input Sizes: Cost of Spending a UTXO

The input size determines how much it costs to spend a UTXO locked to each address type. This is the primary driver of fee differences.

Address TypeInput Size (vB)Savings vs Legacy
P2PKH (Legacy)148 vBBaseline
P2SH-P2WPKH (Nested SegWit)91 vB~39%
P2WPKH (Native SegWit)68 vB~54%
P2TR (Taproot key-path)57.5 vB~61%

Typical Transaction Sizes

A standard 1-input, 2-output transaction (one payment, one change) shows the combined impact of input and output sizes. Output sizes vary by type: P2WPKH outputs are 31 vB, while P2TR outputs are 43 vB because Taproot encodes a full 32-byte public key rather than a 20-byte hash.

Address Type1-in / 2-out (vB)Savings vs Legacy
P2PKH (Legacy)~220 vBBaseline
P2SH-P2WPKH (Nested SegWit)~167 vB~24%
P2WPKH (Native SegWit)~141 vB~36%
P2TR (Taproot key-path)~154 vB~30%

For single-input transactions, Native SegWit is slightly cheaper than Taproot because of the smaller output size. However, Taproot inputs are 10.5 vB cheaper than SegWit inputs, so Taproot becomes increasingly cost-effective as the number of inputs grows. A 10-input UTXO consolidation saves roughly 105 vB with Taproot over Native SegWit. Use the consolidation calculator to estimate savings for your specific scenario.

Multisig Fee Savings

Taproot's most dramatic advantage appears in multisig configurations. With MuSig2 or FROST key aggregation, a Taproot multisig key-path spend is indistinguishable from a single-sig spend on-chain: same 57.5 vB input, same cost, and superior privacy.

Multisig TypeInput Size (vB)Savings vs Legacy 2-of-3
P2SH 2-of-3 (Legacy)~296 vBBaseline
P2WSH 2-of-3 (Native SegWit)~104 vB~65%
P2TR with MuSig2 (key-path)~57.5 vB~81%
P2TR 2-of-3 (script-path)~83 vB~72%

Wallet Support for Each Address Type

Wallet support is the primary practical constraint. While the protocol allows all address types to interoperate, your wallet must support the encoding format to generate receive addresses and construct transactions. The following table covers major wallets as of 2026.

WalletP2PKH (1...)P2SH (3...)bc1q (SegWit)bc1p (Taproot)
Bitcoin Core✓ (default)✓ (opt-in since v23.0)
Sparrow Wallet
BlueWallet✓ (since v7.2.2)
Electrum✓ (default)Send only
Wasabi Wallet✓ (since v2.2.0)
Ledger (hardware)
Trezor (hardware)
Coldcard (hardware)
ExodusSend onlySend only✓ (default)Limited
Muun

Hardware wallets from Ledger, Trezor, and Coldcard all support Taproot, including advanced features like MuSig2 multisig (Ledger added this in Bitcoin app v2.4.0). Sparrow Wallet and BlueWallet offer full Taproot HD wallet creation. Wasabi Wallet dropped Legacy support entirely and only works with SegWit and Taproot. For a broader comparison, see the hardware wallet comparison.

Exchange Support

Major exchanges now support withdrawals to all four address types, though Taproot support was slow to arrive. Coinbase did not enable sends to bc1p addresses until October 2024, nearly three years after Taproot activated. No major exchange generates Taproot deposit addresses by default: all use Native SegWit (bc1q) for customer deposits.

ExchangeWithdraw to bc1qWithdraw to bc1pDeposit Address Format
Coinbase✓ (since Oct 2024)SegWit (bc1q)
Kraken✓ (since Dec 2022)SegWit (bc1q)
BinanceSegWit (bc1q)

How to Choose the Right Address Type

For most users in 2026, Native SegWit (bc1q) is the safest default. It has near-universal wallet and exchange support, offers significant fee savings over Legacy, and is the default in Bitcoin Core, Electrum, and most modern wallets.

Taproot (bc1p) is the better choice if your wallet supports it and you prioritize lower input fees, especially for UTXO consolidation or multisig setups where the savings are substantial. Taproot also provides privacy benefits: multisig, timelocked, and complex scripts all look identical to single-sig key-path spends on-chain.

Avoid Legacy (1...) addresses for new wallets. They cost roughly 2x more per input than Native SegWit. The only reason to use Legacy is compatibility with very old software that cannot parse Bech32 addresses.

To validate any Bitcoin address format, use the address validator tool. To understand how Bech32 and Bech32m encoding works under the hood, see the Bech32 encoder.

Taproot Adoption Status

Taproot activated at block 709,632 in November 2021, but organic adoption has been gradual. The Ordinals protocol (launched January 2023) caused a temporary spike in Taproot usage since inscriptions embed data in Taproot witness space. At its peak in 2024, Taproot accounted for over 40% of transactions, though much of that was inscription-driven. With inscription activity cooling, Taproot usage has settled to approximately 15-20% of transactions.

SegWit (v0) now accounts for 85-95% of all Bitcoin transactions. The remaining Legacy transactions are primarily from custodial services and older wallets that haven't migrated. Taproot is following a similar adoption curve to SegWit, which took roughly four years to reach 80% adoption. The most compelling driver for future Taproot growth is multisig efficiency: MuSig2 and FROST threshold signatures offer 80%+ fee savings and improved privacy that are only available with Taproot.

Frequently Asked Questions

Can I send Bitcoin from a Legacy address to a Taproot address?

Yes. The Bitcoin protocol places no restrictions on which address types can send to which. A Legacy (1...) address can send to a Taproot (bc1p...) address without issues. The only requirement is that your wallet software recognizes the Bech32m encoding used by Taproot addresses. If your wallet rejects a bc1p address, update your wallet software or switch to one that supports Taproot sends.

Which Bitcoin address type has the lowest fees?

Taproot (P2TR) has the lowest per-input cost at 57.5 virtual bytes, compared to 68 vB for Native SegWit and 148 vB for Legacy. However, for simple single-input transactions, Native SegWit (P2WPKH) produces slightly smaller total transactions because its outputs are 12 vB smaller than Taproot outputs. Taproot becomes the cheapest option when a transaction has multiple inputs, such as during UTXO consolidation.

Why does my wallet only show bc1q addresses?

Most wallets default to Native SegWit (bc1q) because it offers the best balance of fee savings and universal compatibility. Taproot support requires explicit opt-in in many wallets. In Bitcoin Core, you can create a Taproot descriptor wallet starting with v23.0. In Sparrow or BlueWallet, select "Taproot (P2TR)" when creating a new wallet. The derivation path for Taproot wallets follows BIP 86 (m/86'/0'/0'), distinct from the BIP 84 path used by Native SegWit.

Is Taproot supported by all exchanges?

All three major exchanges (Coinbase, Kraken, Binance) now support withdrawals to Taproot (bc1p) addresses. Kraken was the earliest adopter in December 2022, while Coinbase did not add support until October 2024. However, no major exchange generates Taproot deposit addresses: they all default to Native SegWit for incoming deposits. If you need to deposit from a Taproot wallet, the transaction will work because the exchange's SegWit address can receive from any sender type.

What is the difference between SegWit and Taproot?

Both are soft fork upgrades that move signature data into the witness section of a transaction, reducing effective size. SegWit (2017) uses ECDSA signatures and Bech32 encoding (bc1q). Taproot (2021) uses Schnorr signatures and Bech32m encoding (bc1p). Taproot's key advantages are smaller signatures (64 bytes vs 71-72), key aggregation for multisig (MuSig2/FROST), and improved privacy: all spending conditions look identical on-chain when using the key-path. For the full technical breakdown, see our Taproot and Schnorr signatures explainer.

Should I move my Bitcoin to a Taproot address?

Moving funds from one address type to another requires an on-chain transaction, which costs fees. If you already hold bitcoin in a Native SegWit wallet, migrating to Taproot provides marginal per-input savings (10.5 vB) that may not justify the migration cost for small balances. Taproot migration is most worthwhile if you have many small UTXOs to consolidate, use multisig (where savings are 65-81%), or value the privacy benefits of Taproot's uniform on-chain appearance.

What happens if I send to the wrong address type?

You cannot accidentally send to the "wrong" address type in the sense of losing funds: all valid Bitcoin addresses of any type will receive a transaction successfully. The risk is sending to an address controlled by someone else (a typo or paste error). Bech32 and Bech32m encodings include error-detection checksums that catch most typos before broadcast. Use the address validator to verify an address before sending.

This tool is for informational purposes only and does not constitute financial advice. Transaction sizes are based on standard single-key spending conditions calculated using Bitcoin Optech's transaction size calculator. Wallet and exchange support data is based on publicly available documentation and may change with software updates. Always verify current compatibility before transacting.

Build with Spark

Integrate bitcoin, Lightning, and stablecoins into your app with a few lines of code.

Read the docs →