Bech32 adoption

From Bitcoin Wiki
Revision as of 21:18, 10 November 2021 by Murch (talk | contribs) (Libraries: Add Acinq KMP)
Jump to: navigation, search

Bech32 is a bitcoin address format specified by BIP 0173. It is used for the native segwit version 0 output types, P2WPKH and P2WSH. The upcoming Taproot softfork will add another output type called Pay to Taproot (P2TR). P2TR outputs and future native segwit versions will be using an updated variant of Bech32, called Bech32m (specified by BIP 0350). This page tracks the adoption of Bech32 and Bech32m.

Ideally wallets and services would first support sending to new addresses. When most wallets and services support sending to the new address type, people are more likely to adopt it for receiving.

The amount of bech32 addresses on the blockchain is tracked on this website:

 ?? Maybe / Haven't checked / placeholder
Planned The developers said they plan to
PR Merged In the case of software, code has been written and merged, and it will be in next release.
Yes Feature has been released

Software Wallets

Name Send to Bech32 Receive to P2WPKH/P2WSH Send to Bech32m Receive to P2TR Notes
Bitcoin Core Since 0.16.0 Since 0.16.0 Since 0.21.1 Since 22.0 Uses P2WPKH as default address since version 0.20.0. Creating P2TR addresses requires manual import for now.
Bitcoin Knots Since 0.16.0 Since 0.16.0 Since 0.21.1 Starting with 22.0
bcoin Yes Yes  ??  ??
Electrum Yes Yes Since 4.1.0  ??
Armory Yes No Planned around activation  ??
JoinMarket Yes Yes Depends on python-bitcointx  ??
Blockstream Green Yes Yes Mobile 3.7.6+, Desktop 1.0.4+ Planned Bech32m sending support as of GDK 0.0.47
Breadwallet Yes Yes  ??  ??
Samourai Wallet Yes Yes Planned before Activation Currently not planned
Coinomi Yes Yes  ??  ?? reddit source Yes No  ??  ??
Casa Yes No Planned Planned
Mycelium Yes Yes  ??  ??
Bitcoin Wallet for Android Yes Yes Planned before activation  ??
Wasabi Wallet Yes Yes Planned: via NBitcoin before Activation Planned: via NBitcoin before Activation
Trust Wallet Yes Yes  ??  ?? official blog
Guarda Wallet Yes No  ??  ?? twitter announcement
Bisq Yes Yes Dependent on BitcoinJ  ?? As of v1.5.0
Muun Yes Yes Before activation After activation
BlueWallet Yes Yes  ??  ??
Sparrow Wallet Yes Yes Yes Yes
Specter Wallet Yes Yes Yes Yes
C-Lightning Yes Yes Yes  ??
Fully Noded Yes Yes Yes Since v0.2.26
Caravan Yes Yes Planned  ??
AQUA Yes Yes  ??  ??
LND Yes Yes Planned: via btcsuite  ??
Exodus Yes Yes Planned before activation, depends on bitcoinjs Not yet planned

Hardware Wallets

Hardware wallet manufacturers typically publish a web wallet or browser add-on wallet for use with their hardware. Users can also sometimes connect their hardware wallet to a software wallet like Electrum.

Name Send to Bech32 Receive to P2WPKH/P2WSH Send to Bech32m Receive to P2TR Notes
Trezor Suite Yes Yes Planned: before Activation Planned: after Activation
Ledger Live (desktop app) Yes Yes Planned: at activation Planned: at activation Announced at Surfin' Bitcoin
KeepKey chrome app No No  ??  ??
BitBox Desktop app Yes Yes  ??  ??
Trezor + Electrum Yes Yes  ??  ??
Ledger + Electrum Yes Yes  ??  ??
BitBox + Electrum Yes Yes  ??  ??
KeepKey + Electrum Yes Yes  ??  ??
Archos + Electrum Yes Yes  ??  ??
Coldcard + Electrum Yes Yes  ??  ??
Ballet + app Yes Yes  ??  ??
Tangem + app Yes Yes  ??  ??
Blockstream Jade + Blockstream Green Yes Yes Yes Planned Bech32m sending support as of GDK 0.0.47 available via Blockstream Green mobile apps 3.7.6+ and desktop app 1.0.4+

Web Wallets

Name Send to Bech32 Receive to P2WPKH/P2WSH Send to Bech32m Receive to P2TR Notes
Coinapult  ?? No  ??  ??
Coin.Space  ?? No  ??  ??
BitGo Yes Yes Before activation  ?? Full support on v2 platform, no plans to add support on v1 platform. Also see: web Yes Yes Planned  ??
HolyTransaction Yes No Yes  ?? Yes Yes  ??  ?? open source JavaScript implementation
Guarda Wallet Yes No  ??  ??


Name Send to Bech32 Receive to P2WPKH/P2WSH Send to Bech32m Receive to P2TR Notes
1Fox Yes No  ??  ??
AgoraDesk Yes No  ??  ??
Anycoin Direct Yes No  ??  ?? Yes No  ??  ?? Yes No  ??  ??
Bitfinex Yes No  ??  ??
BitMEX Yes Yes Planned  ??
Bittrex No No  ??  ??
Bittylicious Yes No  ??  ??
Bitstamp Yes Yes Planned  ??
Bitso Yes No  ??  ??
Bitwage  ?? No  ??  ??
BSDEX Yes No  ?? No Yes No deposits Yes No deposits
CEX.IO No No  ??  ?? Yes No  ??  ?? (Note that Coinbase commerce does not support sending to bech32)
CoinFalcon Yes No  ??  ??
Coinfloor Yes Yes  ??  ?? Yes Yes  ??  ?? Yes Yes  ??  ??
Coinygram Yes No  ??  ?? Yes No Yes  ??
GDax Yes No  ??  ??
Gemini Yes Yes  ??  ??
Genesis  ?? No  ??  ??
Globitex No No  ??  ??
HitBTC Yes No  ??  ??
Hodl Hodl Yes Yes  ??  ??
Independent Reserve Yes No  ??  ??
Itbit  ?? No  ??  ??
Kraken Yes No  ??  ??
LedgerX No No  ??  ??
Liberalcoins Yes Yes  ??  ??
LocalBitcoins Yes No  ??  ??
Luno Yes No  ??  ?? Yes No  ??  ?? Yes No  ??  ?? Yes Yes Planned before Activation  ??
Square CashApp Yes No  ??  ?? Yes Yes  ??  ??
Walltime Yes Yes  ??  ?? Yes Yes  ??  ?? Yes Yes  ??  ??
Xapo Yes No  ??  ??

Bitcoin ATM Models

Hopefully when a model updates then all its ATMs everywhere will gain that feature. See

Name Send to Bech32 Receive to P2WPKH/P2WSH Send to Bech32m Receive to P2TR Notes
GenesisCoin No No  ??  ??
General Bytes Yes Yes  ??  ?? Depending on configuration. Since version 20190613
Lamassu Douro Yes No  ??  ??

Blockchain Explorers

To investigate bech32 capability, you can use mainnet TXIDs 4ef47f6eb681d5d9fa2f7e16336cd629303c635e8da51e425b76088be9c8744c and 514a33f1d46179b89e1fea7bbb07b682ab14083a276979f91038369d1a8d689b or look up the addresses bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq and bc1qc7slrfxkknqcq2jevvvkdgvrt8080852dfjewde450xdlk4ugp7szw5tk9.

Some blockchain explorers can only parse the bech32 address and display it, they don't build an index so users cannot search for bech32 addresses.

To verify bech32m readiness, you can look up the mainnet TXID b10c007c60e14f9d087e0291d4d0c7869697c6681d979c6639dbd960792b4d41 on which the first output should be addressed as bc1pqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqsyjer9e. Note that the superseded bech32 encoding only differs in the last six characters that encode the checksum: bc1pqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqs_3wf0qm_.

See also:

Name Display Bech32 Index Bech32 Display Bech32m Index Bech32m Notes Yes Yes No No
Bitflyer Yes Yes Yes Yes
Blockbook Yes Yes Yes Yes Yes Yes Yes Yes
Blockchair Yes Yes Planned Planned
Blockcypher Yes Yes Yes No
Blockonomics Yes Yes No No
Blockpath Yes Yes No No Yes Yes Yes Yes
Esplora Yes Yes Yes Yes Open source explorer, instances are and Issue for BIP350 support.
Insight Yes Yes No No Open source explorer, instances include Yes Yes On test instance On test instance
OXT Yes Yes No No
Tradeblock Yes Yes No No
WalletExplorer Yes Yes Yes Yes
Bitcoin Explorer Yes Yes Yes Yes,

Payment Processors

Name P2WPKH/P2WSH Invoices Bech32 Withdrawal addresses P2TR Invoices Bech32m Withdrawal addresses Notes
Apirone Yes Yes  ??  ?? Payment notifications, merchant dashboard, plugins for Magento, WooCommerce, OpenCart 2, Opencart 3.x, Virtuemart
Bitaps Yes Yes  ??  ?? Payment forwarding API, Wallet API, fault tolerance callback.
BTCPay Server Yes Yes Yes Supported since 1.3.0,
CoinGate No Yes  ??  ??
CONFIRMO Yes Yes  ??  ??
CryptoChill Yes Yes  ??  ?? Highly customizable Bitcoin and Lightning Network payment gateway. Multi-sig, HD wallets, API, SDK.

Mining Pools

Name Payout to Bech32 Payout to Bech32m Notes Pool No  ??
Ckpool Yes  ??
KanoPool Yes  ?? bitcointalk source
Poolin Yes  ?? bitcointalk source
SBICrypto Pool Yes Ready to release at activation
Slush Pool Yes At activation Tweet
Ukr Pool Yes  ?? bitcointalk source
ViaBTC Pool No  ??


Name Language Send to Bech32 Receive to P2WPKH/P2WSH Send to Bech32m Receive to P2TR Notes
libbase58 C No n/a No n/a
NBitcoin .NET Yes Yes Yes Yes
bcoin JS Yes Yes In Review  ??
btcsuite/btcutil Go Yes Yes Yes  ??
bitcoinjs-lib JS Yes Yes Merged but unreleased  ??
bitcoinj Java Yes Yes Yes  ??
bitcoin-s Scala Yes Yes Yes Around activation
rust-bitcoin Rust Yes  ?? Yes  ??
Lightning Dev Kit Rust Yes Yes Yes Pending BOLT update
Bitcoin Dev Kit Rust Yes Yes WIP WIP
libwally-core C Yes Yes Since 0.8.4 Since 0.8.4
GDK C Yes Yes Since 0.0.47  ??
python-bitcointx Python Yes Yes WIP WIP
NBXPlorer C# Yes Yes Yes Yes
Kotlin Multiplatform Bitcoin Library Kotlin Yes Yes Yes Planned