Crypto Concepts & FAQs
To balance compatibility, transaction efficiency, and privacy needs across different services, UKey hardware wallets and the UKey Wallet client support several common Bitcoin address formats. This article explains their main differences and how to select a format in UKey Wallet.
1. Common Bitcoin address formats
Address type | Common prefix | Key characteristics | When to use it |
Legacy (P2PKH) |
| Broadly compatible; for comparable spends, transaction weight and fees are generally higher than with SegWit formats. | Use when the receiving service does not support SegWit. |
Nested SegWit (P2SH) |
| Wraps SegWit in P2SH to balance compatibility with lower transaction weight. | Use when compatibility with some older services is required. |
Native SegWit (Bech32) |
| Lower transaction weight and a Bech32 checksum designed to help detect typing errors. | A practical default when the recipient supports it. |
Taproot (P2TR/Bech32m) |
| Supports Schnorr signatures and script paths; some complex spends can gain efficiency and privacy benefits. | Use when the recipient supports Taproot or when related advanced features are needed. |
Before choosing an address format:
Check compatibility first: Confirm that the receiving service supports the selected format. An address beginning with
3can represent other P2SH scripts and is not necessarily a Nested SegWit address.Fees do not depend on address age alone: Actual fees depend on transaction inputs, outputs, script types, and the selected fee rate. SegWit formats generally reduce transaction weight, but no format is guaranteed to be cheapest for every transaction.
Taproot privacy benefits depend on how it is used: Taproot can improve the on-chain appearance of some complex spends, but it does not make every transaction anonymous.
1. Legacy (P2PKH - Pay to Public Key Hash)
Address format: Usually begins with
1(example:1Fh7ajXabJBpZPZw8bjD3QU4CuQ3pRty9u).Technical overview: P2PKH is one of Bitcoin's earliest address types and remains in use today.
Practical considerations: It is broadly compatible, but comparable spends generally have greater transaction weight than SegWit formats and may therefore require higher fees.
2. Nested SegWit (P2SH - Pay to Script Hash)
Address format: Common Nested SegWit addresses begin with
3(example:3KF9nXowQ4asSGxRRzeiTpDjMuwM2nypAN).Technical overview: This format wraps a SegWit spending condition in P2SH and was introduced as a compatibility bridge. Not every address beginning with
3is a Nested SegWit address.Practical considerations: It generally reduces transaction weight compared with Legacy and works with services that support P2SH but not Bech32. It is usually less efficient than Native SegWit.
3. Native SegWit (Bech32)
Address format: SegWit v0 addresses begin with
bc1q(example:bc1qf3uwcxaz779nxedw0wry89v9cjh9w2xylnmqc3).Technical overview: Native SegWit uses the Bech32 encoding defined in BIP173 and does not require P2SH wrapping.
Practical considerations:
Transaction efficiency: It generally has lower transaction weight than Legacy and Nested SegWit.
Error detection: The Bech32 checksum helps detect address-entry errors and works well in QR codes.
Recommendation: When both the sender and receiving service support it, Native SegWit is a practical default for everyday BTC transfers.
4. Taproot (P2TR - Pay to Taproot)
Address format: Begins with
bc1p(example:bc1p8denc9m4sqe9hluasrvxkkdqgkydrk5ctxre5nkk4qwdvefn0sdsc6eqxe).Technical overview: Taproot activated on the Bitcoin mainnet in November 2021. P2TR addresses use Bech32m encoding and support Schnorr signatures and script paths.
Practical considerations: For some complex signing and script conditions, Taproot can improve efficiency and reveal less script information on-chain. The result depends on how the transaction is constructed; Taproot does not make every transaction anonymous.
2. Selecting a BTC address format in UKey Wallet
Before transferring assets between wallets, platforms, or exchanges, confirm which address formats the recipient supports. If your version of UKey Wallet provides an address-format selector, follow these steps:
Open UKey Wallet and go to your BTC account.
Select Receive.
Open the address-format option on the receiving screen.
Based on the recipient's compatibility requirements, select Legacy, Nested SegWit, Native SegWit, or Taproot, and then verify the generated receiving address.
Note: A single recovery phrase can derive multiple Bitcoin address formats through different derivation paths. Before switching formats, confirm that both your wallet version and the receiving service support the selected format, and always protect your recovery phrase and private keys.
