A sender's wallet or exchange says your bc1q… or bc1p… address is invalid. The address is fine; the software just does not support that format.
Address generations
Native SegWit addresses (bc1q) use bech32 from BIP-173; Taproot addresses (bc1p) use bech32m from BIP-350. Software that only validates bech32 rejects bech32m, and very old software may reject both. Legacy 1… and P2SH 3… addresses are accepted almost everywhere.
What to do
- Never edit the address to pass validation.
- Generate a different address type in your wallet —
bc1qfirst,3…if needed. - Check it with the address validator and on your hardware device.
- Ask for a small test payment.
All these addresses belong to the same wallet balance; newer types are usually cheaper to spend from.
When restoring a wallet from a seed phrase in another app, choose the same address type you used before. Different types derive from different paths, and the wrong choice shows an empty balance even though the coins are safe. Note the type next to your backup.
If your own wallet cannot send to someone's bc1p… address, update it to a current version, ask the recipient for another address type or send from a different wallet. Online “address converters” cannot do this safely.
Receiving through a swap
On USDT to BTC the widget validates the payout address before creating the order. Use an address type your wallet can spend from. See also invalid address and checksum errors.
FAQ
Is a bc1p address valid?
Yes, it is a Taproot address encoded with bech32m.
Can I convert bc1p to bc1q?
No. Generate a new address of the needed type in your wallet.