Bitcoin address types are different encodings for the spending conditions attached to bitcoin. A wallet may show a Legacy address beginning with 1, a P2SH address beginning with 3, a Native SegWit address beginning with bc1q, or a Taproot address beginning with bc1p. They can all receive bitcoin on mainnet, but they do not create the same script or use block space in the same way.

The prefix is useful because it helps a sender and a wallet identify the expected address family. It is not a rating of the wallet, an account tier or a statement about who controls the funds.

A Bitcoin address points to a spending condition

The Bitcoin Developer Guide describes an address as a compact way to communicate the information needed to create an output. The output itself contains a locking script. Later, whoever spends that output must provide data that satisfies the script.

That distinction explains why several address types can coexist. Each format packages a different kind of script or witness program for the sender. Your wallet handles the conversion and signing work, so most people only encounter the visible prefix.

An address also belongs to a particular network. The examples in this article use Bitcoin mainnet. Test networks use different human-readable prefixes or version bytes. A correctly formed testnet address is not a mainnet destination.

Legacy addresses begin with 1

A mainnet address beginning with 1 normally identifies a pay-to-public-key-hash output, often shortened to P2PKH. It uses Base58Check encoding and predates Segregated Witness.

Legacy addresses remain valid, and current wallets can generally send to them. Their drawback is efficiency. A typical Legacy spend places the signature data in the original transaction structure and receives no SegWit weight discount. For the same fee rate, a transaction spending Legacy inputs can therefore cost more than one spending comparable SegWit inputs.

The amount sent still does not set the network fee. Our explanation of Bitcoin fees and payment amounts covers the actual formula: virtual size multiplied by the chosen fee rate.

P2SH addresses begin with 3

A mainnet address beginning with 3 is normally pay-to-script-hash, or P2SH. Instead of exposing the full spending script when the payment is created, the address commits to a hash of that script. The script is revealed when the output is spent.

P2SH supported uses such as multisignature wallets before Native SegWit was widely adopted. It also enabled wrapped SegWit. In that arrangement, a SegWit witness program sits inside a P2SH output, allowing software that understands the older address format to send to a SegWit-capable wallet.

The visible 3 prefix does not tell you which script will eventually be revealed. It might represent wrapped SegWit, multisignature or another script allowed by the protocol and wallet. Treat the prefix as a format clue, not a complete description of the spending policy.

Native SegWit addresses begin with bc1q

BIP 173 introduced Bech32 addresses for native SegWit outputs. On mainnet, they use the human-readable part bc followed by the separator 1. Version 0 witness programs normally appear with bc1q at the start.

Native SegWit moves signatures and related witness data into the witness portion of the transaction. BIP 141 gives that data a lower weight when block space is counted. The result is usually a smaller virtual size than a comparable Legacy spend, which can lower the fee at the same satoshis-per-vbyte rate.

Bech32 was also designed for reliable manual use. The alphabet omits visually ambiguous characters, and the checksum detects common typing errors. A checksum only confirms that the string is internally consistent. It does not prove that the intended recipient supplied it or that you selected the correct network.

Older services sometimes reject Bech32 even though it is a standard Bitcoin address format. If a withdrawal form refuses a bc1q address, check that the service supports Bitcoin mainnet withdrawals to Native SegWit. Do not convert or trim the address by hand.

Taproot addresses begin with bc1p

Taproot outputs use witness version 1 and are defined by BIP 341. Their mainnet addresses commonly begin with bc1p. BIP 350 changed the checksum rules for witness versions 1 through 16 to Bech32m, while witness version 0 continues to use the original Bech32 checksum.

That detail matters to wallet developers and validation software. A program must pair version 0 with Bech32 and later witness versions with Bech32m. A decoder that accepts the wrong combination is not following BIP 350.

Taproot can express a direct key-based spend and can also commit to alternative script paths. The chain need not reveal an unused path. The practical benefits depend on the actual wallet policy and transaction, so a bc1p prefix alone does not promise cheaper fees or stronger privacy in every case.

The receiving address does not decide the whole fee

People often compare two destination addresses and assume the newer one completely determines the transaction fee. The sender’s inputs usually matter more. A wallet spending several Legacy inputs can build a large transaction even when the new output goes to a Taproot address.

The destination type still affects the size of its output and how that output may be spent later. The complete transaction, however, can include multiple inputs, a recipient output and a change output of another type. Fee estimates should come from the finished transaction preview, not the recipient prefix alone.

For timing, read what Bitcoin confirmations mean. A valid address gets a transaction to the correct script, while confirmations measure how deeply the transaction has been included in the chain. They solve different problems.

Choose a format your wallet and counterpart support

For a new personal wallet, the wallet’s default current format is usually the sensible choice. That may be Native SegWit or Taproot, depending on the software and account type. Keep the recovery information the wallet tells you to keep; an address list is not a backup.

When receiving from an exchange, merchant or older wallet, confirm its withdrawal interface accepts the format before sending. When paying, paste or scan the complete address, then compare the characters shown by the signing device or wallet with the recipient’s address. Malware can replace clipboard contents.

Do not reuse one address indefinitely just because it works. The Bitcoin Developer Guide warns that address reuse harms privacy because separate payments become easier to associate. Modern wallets normally generate a fresh receiving address while retaining access through the same recovery material.

If a wallet offers several account types, moving coins between them creates an on-chain transaction and pays a fee. There is no need to migrate a working address merely to obtain a newer prefix. Change formats when you have a concrete compatibility, fee or wallet-policy reason.