How Bitcoin Addresses Work: Taproot, SegWit, Legacy

Receiving to a Tangem wallet: You can receive BTC to a SegWit or Legacy in Tangem. 

Sending from a Tangem wallet: You can send to a Taproot, SegWit, and Legacy address.


To receive Bitcoin, users need a unique identifier called a Bitcoin address. These addresses can comprise 26-62 alphanumeric characters and come in different formats depending on the specifications. Each format has a specific prefix that helps identify them. In this article, we go over some of the most commonly used address formats today.
 

What is a Bitcoin address?

Bitcoin addresses are a crucial network component, enabling users to send and receive bitcoins. A Bitcoin address is a unique string of characters that identifies a specific destination on the network, allowing users to transfer Bitcoins to that address.

These addresses are typically between 26 and 35 characters in length. Each Bitcoin address is unique and corresponds to a specific private key.
 

Types of Bitcoin addresses

There are several types of Bitcoin addresses, each with its own characteristics and uses.

  1. Taproot address: P2TR

Taproot addresses are the latest and most advanced format for bitcoin, also known as pay-to-taproot (P2TR), Bech32m address, or Taproot. They offer greater security, privacy, flexibility, and scaling to the Bitcoin network. However, like SegWit, Taproot addresses are currently opt-in and not widely adopted.

One advantage of Taproot is that it allows the use of Schnorr Signatures, which offers better security, lower fees, and more flexible multi-key transactions. Multi-key addresses using P2TR appear the same as single-key addresses, which increases privacy for multi-key users. Additionally, Taproot enables more advanced scripting, allowing more complex smart contracts to be built on Bitcoin.

Taproot example: bc1p5d7rjq7g6r4jdyhzks9smlaqtedr4dekq08ge8ztwac72sfr9rusxg3297

  1. SegWit address: P2WPKH 

The P2WPKH, or native SegWit or Bech32 address, is a modern and efficient address format. It is worth noting that not every application supports SegWit addresses, but most of them do today.

Using SegWit addresses can offer several benefits. These include better resistance to input errors, as they use error-correcting codes and are case insensitive. Additionally, transaction fees can be lower, saving up to 30-40% for shared funds transfers.

Bitcoin addresses that utilize SegWit technology always begin with 'bc1q' and are not case-sensitive.

SegWit example: bc1qmvyjeectsezyht4d5exfxcx2hq2rndf9xdy8x9

  1. Script address

When sending a pay-to-script-hash (P2SH) or script address, additional rules and functionality can be attached to the address. These addresses are often utilized for multi-sig addresses, which require several key signatures to authorize the transaction. Script addresses begin with the number 3, can have upper and lowercase characters, and are case-sensitive.

Script example: 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy

  1. Legacy address

The pay-to-pubkey-hash (P2PKH) is the original and oldest Bitcoin address format. Although not commonly used today due to higher transaction fees, supporting this format in applications is still recommended to ensure compatibility with older legacy wallets that have not transitioned to newer address formats. 

Legacy addresses start with the number 1, can include upper and lowercase characters, and are case-sensitive.

Legacy example: 1Ly9yXg6UnBwet9mEYzyQFxV2YF9zZSrSS

  1. Bitcoin change address

When a transaction output is used as input for another transaction, it must be spent in its entirety. However, there are instances where the output value exceeds the amount the user intends to pay. To address this, the Bitcoin client generates a new Bitcoin address, known as a change address, and sends the excess amount back to this address. The format of the change address typically defaults to the standard format used by the wallet app.
 

Bitcoin addresses compatibility issues and solutions

Although "legacy" addresses are still in use, some older applications have not yet upgraded, leading to compatibility issues. Script addresses offer a solution to these issues, which can arise when a sender's application does not recognize the SegWit address provided by the receiver.

The problem:
Imagine a sender using a legacy wallet to send bitcoins to a receiver's SegWit address. In this case, the sender's wallet may incorrectly flag the address as invalid or unsupported, causing confusion and potentially leading the sender to believe the receiver provided an incorrect address.
The solution:
To resolve this issue, the receiver should be able to switch to a compatible Script or Taproot address. While these addresses do not offer the same benefits as SegWit, such as cheaper transactions and advanced features, they can ensure compatibility with the sender's wallet, facilitating a smooth transaction.

Which Bitcoin addresses does Tangem Wallet support?


The Tangem Wallet offers two types of wallet addresses: SegWit and Legacy. SegWit addresses are labeled as "default," and Legacy addresses are labeled as "legacy." 

Using a SegWit address provides two key benefits:

  • Reduced fees: SegWit addresses offer a 30-40% reduction in transaction fees.
  • Faster processing: Transactions processed through SegWit addresses are faster than those using Legacy addresses.

Understanding these address types will provide a smoother experience when using cold wallets.
 

FAQ

What is a Bitcoin address?

A Bitcoin address is a unique string of characters that serves as an identifier for receiving Bitcoin payments. It is similar to a bank account number, but Bitcoin addresses are decentralized and anonymous, unlike traditional bank accounts.

How is a Bitcoin address generated?

A Bitcoin address is generated using a user's public key and algorithms. The address is derived from the public key obtained from a user's wallet.

What is the format of a Bitcoin address?

A Bitcoin address typically starts with the number "1" or "3" and is followed by a string of 26-35 alphanumeric characters. The address can be represented in various formats, including QR codes.

How do I get a Bitcoin address?

You can get a Bitcoin address by creating a wallet in Tangem. Here's how to get your Bitcoin wallet address.

Can I have multiple Bitcoin addresses?

Yes, you can have multiple Bitcoin addresses. This feature will be added to Tangem Wallet soon.

How do I send Bitcoin to a Bitcoin address?

To send Bitcoin to a Bitcoin address, enter the recipient's address in your wallet, specify the amount of Bitcoin you want to send, and sign the transaction.

Is a Bitcoin address the same as a wallet?

No, a Bitcoin address and a wallet are not the same thing. A Bitcoin address is a unique identifier for receiving Bitcoin payments, while a wallet is a software or hardware tool that stores your private keys and allows you to manage your Bitcoin transactions.

Can I use the same Bitcoin address for different cryptocurrencies?

No, you cannot use the same Bitcoin address for different cryptocurrencies. Bitcoin addresses are specific to the Bitcoin network and incompatible with other cryptocurrencies.