Insights on Crypto Payments, Infrastructure, and Operations

SegWit Address

Pronunciation: SEG-wit AD-dress

Definition

A SegWit address encodes a Bitcoin witness program, directing funds to spending conditions evaluated under Segregated Witness rules. Version 0 commonly represents a public-key hash or script hash, while later versions can define different semantics, including Taproot at version 1. The address includes error-detection information and a network-specific prefix, but it does not contain a private key. Senders must validate the prefix, checksum, witness version, and supported length before constructing an output.

Overview

A SegWit address is a human-readable representation of a witness program for a specific Bitcoin network. Native SegWit addresses use Bech32 or Bech32m encoding, depending on the witness version.

Version 0 commonly represents a public-key hash or script hash, while later versions can define different semantics, including Taproot at version 1. The address includes error-detection information and a network-specific prefix, but it does not contain a private key. Senders must validate the prefix, checksum, witness version, and supported length before constructing an output. Wallets should not convert an address between networks by changing only its visible prefix. Compatibility varies across services, and sending to the wrong network or unsupported format may make recovery difficult or impossible.

Tests should cover mainnet and testnet variants, malformed encodings, unsupported witness versions, and transactions spending or creating the output. Payment systems should store the exact script or address form and network context used at deposit time. SegWit Address should be interpreted using the exact network, script or witness version, locking conditions, and encoding rules. For SegWit Address, similar-looking addresses or script templates can represent different spending requirements and may not be supported by every wallet or service.

Validation of SegWit Address should derive or decode the underlying script rather than relying only on a text prefix. For SegWit Address, checksum success does not prove spendability, ownership, standard relay policy, or compatibility with the intended asset and network. Wallets supporting SegWit Address need correct fee estimation, signing data, change handling, and recovery behavior for the relevant output type. For SegWit Address, watch-only, multisignature, hardware-wallet, and descriptor workflows may require additional metadata beyond the displayed address.

Key Takeaway

A SegWit address encodes a network-specific witness program, so version, checksum, and destination network all require validation.

Sources

  1. Bitcoin.org Documentation: Wallets — Bitcoin.org (2026-07-30)
  2. Bitcoin Developer Guide: Transactions — Bitcoin.org (2026-07-30)