Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A Bitcoin address is a human-readable encoding of the information needed to send bitcoin to a specific recipient script. It is the string you copy, paste, or scan to receive a payment. It is not a private key, and it does not store a balance. The opening characters are a useful first clue: addresses that usually begin with 1 or 3 use the older Base58Check encoding, while addresses that begin with bc1 use native SegWit encoding (Bech32 or Bech32m). Those prefixes narrow the field, but they do not confirm that an address is valid.

What a Bitcoin address actually represents

When someone pays you in bitcoin, the sender’s wallet builds a transaction output with a locking script. That script says what a future spender must provide to unlock the coins. The address is simply a compact, human-readable way of writing down the script template and the data inside it, so that a sender’s wallet can rebuild the correct locking script without any further information.

Three things follow from this. First, an address cannot be used to sign a transaction, so sharing one does not expose the private key that controls the funds. Second, the address does not hold a balance; the coins are tracked on the blockchain as unspent outputs locked to scripts. Third, the same person can have many addresses, and each can be of a different type.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The main address families at a glance

Bitcoin addresses fall into two encoding families. Legacy forms use Base58Check. Native SegWit forms use Bech32 for witness version 0 and Bech32m for witness version 1 and later. The table below lists the mainnet forms you are most likely to see.

#1 Best Overall
Bitkey Bitcoin Hardware Wallet, No Screen - Self-Custody, No Seed Phrase
  • BITCOIN EXCLUSIVE, PHONE VERIFICATION: Bitkey is designed from the ground up exclusively for bitcoin — a dedicated hardware wallet for secure bitcoin storage. Approve transactions with a tap using your phone and NFC. No device screen is required.
  • SELF-CUSTODY, NO EXCHANGE OR CUSTODIAN REQUIRED: You hold two of the three keys in the Bitkey system – one on your phone and one on your Bitkey device. The third is stored on Bitkey’s server and cannot move your bitcoin on its own.
  • NO SEED PHRASE: Set up and use Bitkey without creating or storing a seed phrase.
  • 2-of-3 MULTISIG: Three keys are stored separately across your phone, Bitkey device, and Bitkey’s server. Any two keys are required to move your bitcoin.
  • BUILT-IN RECOVERY: Encrypted backup and recovery tools can help you regain access if you lose your phone or Bitkey device. You can also designate a Recovery Contact.
Address family Typical mainnet start Encoding What it encodes Notes
P2PKH (legacy pay-to-public-key-hash) 1 Base58Check A hash of a public key, prefixed with the version byte 0x00 Testnet uses a different version byte, and its addresses typically start with m or n.
P2SH (pay-to-script-hash) 3 Base58Check A hash of a redeem script, prefixed with the version byte 0x05 Testnet addresses typically start with 2. Many wrapped SegWit payments use this form.
Native SegWit v0 (P2WPKH and P2WSH) bc1q Bech32 Witness version 0 followed by a witness program P2WPKH addresses are usually 42 characters; P2WSH addresses are usually 62.
Native SegWit v1 and later (Taproot is v1) bc1p for Taproot Bech32m Witness version (1 to 16) followed by a witness program Taproot outputs are witness version 1. Later witness versions are reserved for future rules.

On testnet, the human-readable prefix for native SegWit addresses is tb rather than bc, so a testnet address will begin tb1.

Legacy addresses: P2PKH and P2SH

P2PKH addresses starting with 1

A P2PKH address commits to a hash of a public key. The sender’s wallet uses it to build a script that requires a signature from the matching private key. These addresses are the oldest format still in wide use, and they remain valid on mainnet.

P2SH addresses starting with 3

A P2SH address commits to a hash of a redeem script rather than a single key. This lets the spending conditions be more complex, such as requiring multiple signatures. Many wallets use P2SH to wrap SegWit payments so that older software can still send to them.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Trezor Safe 3 Crypto Hardware Wallet with Secure Element
  • Unparalleled Security: Protect your assets NDA-free EAL 6+ Secure Element, offering robust defense and complete transparency
  • Simple & Secure Interface: Manage your digital assets easily with a clear OLED screen for secure on-device confirmations
  • Supports 1000s of Coins & Tokens: Securely handle thousands of assets, including Bitcoin, Ethereum, and more, all in one wallet
  • Effortless Asset Management: Monitor and transact seamlessly with Trezor Suite, our intuitive desktop and mobile app
  • Enhanced Backup Solution: Rest assured with Multi-share Backup, eliminating single points of failure for secure cold wallet recovery

Native SegWit addresses: bc1q, bc1p and the Bech32 family

Witness version 0 (bc1q)

Native SegWit v0 addresses encode a witness version of 0 and a witness program. The most common forms are P2WPKH (a single key hash) and P2WSH (a script hash). Their visible difference is length: the longer P2WSH form is used for scripts rather than single keys. Both are written in lowercase Bech32.

Witness version 1 and later (bc1p for Taproot)

Taproot outputs use witness version 1 and are displayed with the prefix bc1p. Witness versions 2 through 16 are defined by the same format, but they are reserved for future rules and do not carry a standard spending meaning today.

How the encodings work

Base58Check (legacy addresses)

For P2PKH and P2SH addresses, the construction prepends the network and type version byte to the relevant hash, computes a double SHA-256 over that data, appends the first four bytes of the result as a checksum, and then encodes the whole value in Base58. The version byte is what makes a 1 address look different from a 3 address. The checksum catches most transcription mistakes.

Rank #3
Trezor Safe 3 Crypto Hardware Wallet with Secure Element
  • Unparalleled Security: Protect your assets with EAL 6+ Secure Element, offering robust defense and complete transparency
  • Simple & Secure Interface: Manage your digital assets easily with a clear OLED screen for secure on-device confirmations
  • Supports 1000s of Coins & Tokens: Securely handle thousands of assets, including Bitcoin, Ethereum, and more, all in one wallet
  • Effortless Asset Management: Monitor and transact seamlessly with Trezor Suite, our intuitive desktop and mobile app
  • Enhanced Backup Solution: Multi-share Backup eliminates single points of failure for secure cold wallet recovery

Bech32 (native SegWit v0)

BIP 173 defines Bech32 as a checksummed base-32 format and specifies native SegWit output addresses that use it. A Bech32 string has three visible parts: a human-readable part (such as bc), the separator 1, and a data section that carries the witness version, the witness program, and a checksum. Because the human-readable part is included in the checksum, a wrong network prefix will fail validation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Bech32m (witness version 1 and later)

BIP 350 changed the checksum for newer witness versions. In its own abstract, the proposal states: “This document defines an improved variant of Bech32 called Bech32m, and amends BIP173 to use Bech32m for native segregated witness outputs of version 1 and later.” The practical rule is simple: witness version 0 uses Bech32, and witness versions 1 through 16 use Bech32m. A decoder should reject a string whose version and checksum variant do not match.

How to check an address before you rely on it

Looking at the first characters is a quick triage step, not a validation step. A reliable check looks at four things:

Rank #4
Trezor Safe 7 Crypto Hardware Wallet with Bluetooth for Android/iOS/Desktop
  • Dual-chip architecture for maximum protection: The next-gen, fully auditable TROPIC01 chip works alongside a certified EAL6+ Secure Element—completely NDA-free—to deliver radically transparent, industry-leading defense against physical attacks.
  • Quantum-ready security: Get protection against future threats with the first-ever hardware wallet designed with quantum-ready architecture.
  • See every detail with confidence: Our largest high-resolution color touchscreen makes it easy to navigate your assets, review transactions and manage your coins with clarity.
  • Wireless freedom with encrypted Bluetooth control: Manage, buy, swap and stake securely using Trezor Suite on desktop or mobile. Qi2-compatible wireless charging keeps your Trezor powered up. No cables required—security meets convenience.
  • Works seamlessly with Android, iOS and desktop: Connect wirelessly or via USB-C to your phone or computer. Manage your crypto anywhere with our companion Trezor Suite app.
  • The network. A bc1 address is a mainnet native SegWit address; a tb1 address belongs to testnet and will not work on mainnet.
  • The encoding. A version 0 address should be Bech32 and a version 1 or later address should be Bech32m. A mismatch means the string is invalid or was mangled.
  • The witness program length. Standard v0 programs are 20 bytes (P2WPKH) or 32 bytes (P2WSH), which matches the usual character counts above.
  • The checksum. Any single-character error should fail the checksum, so a string that passes the decoding rules is a strong sign it was copied correctly.

Bitcoin Core’s getaddressinfo RPC performs this kind of decoding for an address held by a node or wallet. It returns validation and script-related fields, including whether the address is valid and the script it maps to, so you can compare the result with what you expect before sending a payment.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Choosing an address type when a wallet offers options

Many wallets let you pick the address type you receive to. Bitcoin Core documents three generation options for its address-creation calls: legacy, p2sh-segwit, and bech32. Each option produces a different prefix from the table above. Your choice affects the fees a sender pays and which software can pay you, so pick the native SegWit form only if the senders you deal with support it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Support is not universal. The standards define how addresses are built and decoded, but whether a given exchange, payment processor, or wallet accepts a particular address type is a policy of that service. The format specifications do not provide a current all-wallet or exchange support list, so check the receiving service before assuming a format is accepted.

Best Value
Sale
Ledger Nano X - Classic Crypto Wallet with Bluetooth
  • Effortlessly build your crypto portfolio via the all in one Ledger Wallet app: buy, sell, send, receive, swap, stake and more across popular blockchains. 15,000+ coins & tokens in a single dashboard. Keep a close eye on the market. Compare service providers. Track performance. Get timely alerts. Build your portfolio with confidence.
  • Effortlessly build your crypto portfolio via the all in one Ledger Wallet app: buy, sell, send, receive, swap, stake and more across popular blockchains. 15,000+ coins & tokens in a single dashboard. Keep a close eye on the market. Compare service providers. Track performance. Get timely alerts. Build your portfolio with confidence.
  • Enjoy Bluetooth connectivity, iOS access, and hours of battery use with this mobile-first, secure backup signer. Freedom you can depend on.
  • Genuine Check: confirm your signer is authentic during setup with the Ledger Wallet app.
  • Protect your signer: keep it in mint condition at all times with a bespoke Pod or Case to avoid scratches and everyday wear and tear.

Sharing addresses as QR codes and URIs

An address may also be shared as a QR code or inside a bitcoin: URI. Those wrappers change how the payment information is delivered, not the underlying output type. A QR code for a bc1q address still pays a native SegWit output, and a URI that contains a 1 address still pays a legacy output.

What a valid address does not prove

A correct checksum addresses transcription errors. It does not prove that the person you intend to pay controls the address, that the network is the one you expect, or that the receiving service supports that address type. Those checks are separate. Confirm the recipient through a trusted channel, send a small test amount when the stakes are high, and verify the first and last characters of the address on the screen you are paying from.

If a payment fails or is rejected, the usual causes are a network mismatch (mainnet address sent on testnet or the reverse), an address type the receiving service does not accept, or a copy error that the checksum caught. In each case, ask the recipient to generate a fresh address of a type they confirm they support.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The address format is a stable standard, but wallet defaults and service policies change. When you need the exact encoding rules, read BIP 173 and BIP 350 directly, and check the Bitcoin Core documentation for the version your node runs.

Quick Recap

Bestseller No. 1
Bitkey Bitcoin Hardware Wallet, No Screen - Self-Custody, No Seed Phrase
Bitkey Bitcoin Hardware Wallet, No Screen - Self-Custody, No Seed Phrase
NO SEED PHRASE: Set up and use Bitkey without creating or storing a seed phrase.
SaleBestseller No. 5
Ledger Nano X - Classic Crypto Wallet with Bluetooth
Ledger Nano X - Classic Crypto Wallet with Bluetooth
Genuine Check: confirm your signer is authentic during setup with the Ledger Wallet app.
$79.00

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.