Why Taproot Addresses Sometimes Fail to Receive Payments
Taproot addresses (starting with "bc1p") fail to receive payments in the vast majority of cases because the sender's wallet does not support this address format. Taproot is fully compatible with older address formats; the problem lies with the wallet software, not the address itself. Simply use a SegWit address to resolve the issue.
Compatibility Status of Taproot Addresses
Taproot (P2TR) is a new address format introduced by the Bitcoin upgrade in 2021, beginning with "bc1p". It uses Bech32m encoding, which differs from the Bech32 encoding used by SegWit addresses.
Different Bitcoin address formats are interoperable — you can send from any type of address to a Taproot address. Therefore, if a payment fails, it's not due to format incompatibility but because the sender's wallet has not yet implemented support for Taproot addresses.
Currently, some wallets and services still do not support sending to Bech32m addresses. Most mainstream wallets (such as Trezor Suite) already support it, but older wallets and withdrawal systems of certain exchanges may still lack support.
Steps to Follow
Step 1: Verify that your address is in Taproot format
Check the wallet address you generated:
Taproot address: starts with bc1p, 62 characters long
SegWit address: starts with bc1q, 42 characters long
Legacy address: starts with 1 or 3
If the address you generated begins with bc1p and the other party reports that they cannot transfer, the problem lies here.
Step 2: Switch to a SegWit address to receive funds
Most wallets allow you to change the address type on the "Receive" page.
Case A: Wallets that support changing the address format (such as Trezor Suite, Ledger, etc.)
On the receive page, find the "Address type" or "Format" option, and switch from "Taproot" to "SegWit" (Bech32, starting with bc1q) or "Legacy" (starting with 1 or 3). After generating a new address, share it with the sender.
Case B: Wallets that do not support format switching (some mobile light wallets)
Use a wallet that supports generating SegWit addresses to create a new address. Or simply use an exchange deposit address — the vast majority of exchanges still use SegWit addresses.
What constitutes completion: Generate a SegWit address starting with bc1q, and the sender is able to initiate the transfer successfully.
Step 3: If the sender is an exchange, check the withdrawal page prompt
After entering your Taproot address on the exchange's withdrawal page, if the page prompts "invalid address" or shows an error, it means the exchange does not yet support Taproot. Simply use the address format recommended on the withdrawal page (usually they generate SegWit addresses by default).
Common Reasons for Failure
Reason 1: The sender's wallet has not been updated to a version supporting Taproot.
Taproot is a relatively recent upgrade, and some wallets (especially older versions that haven't been updated for a long time) still cannot recognize or process bc1p addresses. For example, ShapeShift once had issues where its wallet interface did not recognize Taproot addresses, preventing users from sending BTC to bc1p addresses.
Reason 2: Encoding confusion — mistaking Bech32 for Bech32m.
Taproot addresses use Bech32m encoding, while SegWit uses Bech32. If a wallet only implements Bech32 decoding, it will report "invalid address" when encountering a Bech32m-format address.
Reason 3: Using a cross-chain address instead of a Bitcoin mainnet address.
Taproot Assets addresses (e.g., addresses starting with tapbc for Taproot asset protocol) are for the Taproot Assets protocol and differ from regular Bitcoin Taproot addresses (bc1p). They cannot be used to receive ordinary BTC transfers.
Risk Warnings
Do not force a transfer to an unsupported address: If the sender's wallet indicates the address is invalid, do not attempt to bypass validation using command-line tools or scripts. Forcing a transaction may lead to loss of funds that cannot be recovered.
Check the confirmation status promptly once an address is used: After the sender initiates the transfer, use a block explorer to look up the TxID and verify the confirmation status, ensuring the transaction is successfully included in the blockchain (typically 1–6 block confirmations, roughly 10–60 minutes).
How to Confirm Completion
Generate a SegWit address (starting with bc1q) and send it to the other party. After they successfully initiate the transfer, you should see the pending transaction appear in your wallet's transaction list. Once the deposit is confirmed, the payment is complete.
Next step: If you want to take advantage of Taproot addresses' lower fee benefits in the future (such as operating Lightning Network channels through Taproot), make sure the sender's wallet has also been upgraded to a version supporting Taproot, or use a transfer service that supports Taproot. If you don't have this need for now, continuing to use SegWit addresses is perfectly adequate for everyday use.
