Bitcoin Address Types Explained
Quick overview — why there are several address types?
Bitcoin started with a single, simple address format. Over time new address types were added to support new features, to improve privacy and security, and to make transactions cheaper and more scalable. Today you commonly see:
- PubKey SegWit address
- Script SegWit address
- Legacy address
- Script address
PubKey SegWit (P2WPKH)
Addresses start with bc1q.
P2WPKH stands for Pay to Witness Public Key Hash. Funds are locked to the hash of a public key, and spending requires providing a valid signature and the corresponding public key using the SegWit witness structure.
It changes how signatures are stored so the signature data is outside the traditional transaction structure — this reduces the weight of transactions and fixes transaction malleability.
Benefits of SegWit addresses include lower transaction fees as a consequence of smaller transaction weight for typical spends, and better reliability since SegWit addresses are case-insensitive and include a strong checksum.
Use native SegWit by default for personal transactions whenever the recipient supports it — it saves you or the sender on fees and helps the network. If the recipient explicitly says they only accept older formats, use a legacy address.
Script SegWit (P2WSH)
Addresses also start with bc1q, but are noticeably longer than standard native SegWit addresses.
P2WSH stands for Pay to Witness Script Hash. Instead of paying to a single public key, funds are locked to a script. The script itself is revealed and validated only when the coins are spent.
This address type is typically used for multisignature wallets, shared custody setups, and other advanced spending conditions, while still benefiting fully from SegWit’s reduced transaction weight and malleability fixes.
Use P2WSH when your wallet or account requires script-based control. For normal single-user receiving, P2WPKH is simpler and more compact.
Legacy (P2PKH)
Addresses start with 1. This is the original Bitcoin address format.
P2PKH stands for Pay to Public Key Hash. Coins are locked to the hash of a public key, and spending requires providing a valid signature and the corresponding public key.
Legacy addresses are supported by all Bitcoin wallets and services, but they produce larger transactions and therefore higher fees compared to SegWit-based formats.
Use legacy P2PKH addresses only if a sender explicitly cannot send to SegWit addresses. Otherwise, modern SegWit addresses are strongly preferred.
Script (P2SH)
Addresses start with 3.
P2SH stands for Pay to Script Hash. Funds are sent to the hash of a script, rather than revealing the script itself at the time of receiving. The full script is only provided when spending the coins.
This format was introduced to enable multisignature wallets and other advanced scripts while keeping addresses simple for senders.
P2SH addresses are widely supported, but without SegWit they are less fee-efficient than native SegWit alternatives. Today, most script-based wallets prefer SegWit versions instead.
Summary and recommendations
Bitcoin address types exist for historical and technical reasons. New formats were introduced to improve efficiency, security, and flexibility, while older ones remain available for compatibility.
For most users, native SegWit addresses provide the best experience: they are modern, reliable, and result in lower transaction fees. Script-based SegWit addresses extend these benefits to multisignature and advanced wallet setups.
Legacy address types are still part of the ecosystem and may be required when interacting with older software, but they are no longer the recommended default.
If you are unsure which address to choose, using the default option offered by your wallet is usually the safest and most efficient choice.