Taproot offers bitcoin users and businesses big benefits. But to unlock them, first we need wallet interoperability. Taproot requires Bech32m, a new address format, which is slightly different from Bech32. This means that Taproot adoption will only take off when wallets support sending to this new format.
Bech32 and Bech32m addresses differ only in their checksums. This simple two-line code change adds Bech32m address decoding support to the Bech32 Python reference implementation.
You're almost there. Next, check whether your frontend interface accepts Bech32m addresses. Finally, make sure your transaction building process creates outputs with witness version 1. Otherwise, you're burning bitcoin.
It won't be long before users take it for granted that Taproot works. Therefore, at a minimum, wallets and services should properly handle Bech32m addresses to prevent funds from being burned. Implementing sending support is simpler than it sounds, requiring only a bit more work than not supporting it.
With P2TR for Lightning already in the works, and other wallets moving towards P2TR, broader Bech32m wallet support is almost inevitable. This means that services not supporting sending to Bech32m when their customers attempt to transfer funds could face trouble at the support level. Integrating Bech32m today avoids the problem your customers will be facing.
Key aggregation provides multi-sig security with the same look and footprint as single-sig. P2TR channels make lightning channel closes indistinguishable from other keypath spends.
Pay-to-Taproot (P2TR) better aligns incentives, making it cheaper to spend stacked sats at the cost of slightly more expensive outputs.
Add powerful fallback spending conditions to single-sig outputs in the Taptree.
Multisig or FROST can enable Lightning channel owners to use multiple signing devices under the hood.
FROST makes it possible for users to lose and then replace a key without a wallet sweep or incurring the associated fees of an on-chain transaction.
Help push the industry forward by testing wallets and other services for Bech32m and P2TR support. Just follow these steps.
bc1p
) from any wallet that supports it. If you don't already have one, download Muun. Then, send a small amount of bitcoin from the wallet you are testing to your Bech32m address. Please use an appropriately small amount, since on at least two occasions, incorrect implementation of Bech32m support caused lost funds. You can also use this sample address, but you won’t get the bitcoin back.