Add Taproot feature selector to wallet selection#4779
Conversation
Adds a 'taproot' feature so users can filter wallets by Taproot (bc1p) support, alongside the existing bech32 / legacy_addresses selectors. Changes: - Wizard checkbox (helper-step-4.html) and wallet selector checkbox + tooltip (wallets-selector.html) - Feature label and description (wizard-feature-taproot keys in en.yml) - Feature documentation (managing-wallets.md) - Tag Sparrow with taproot; its P2TR send/receive support is documented (Sparrow release notes / Bitcoin Optech) The selector is introduced together with a tagged wallet (Sparrow) rather than as an empty filter, to avoid an unsupported-tag rendering issue like the one previously seen with the mixing_shuffling tag. English (en.yml) only; other locale translations to follow separately, per the project's translation workflow.
|
I would recommend that the Taproot description be more consistent with the other wizard descriptions, in particular SegWit, for consistency reasons. For example: wizard-feature-taproot-description: "Some wallets support Taproot, which can increase privacy and use block chain space more efficiently for complex transactions such as multisig. Some bitcoin wallets and services do not yet support sending or receiving to the Bech32m addresses (which begin with 'bc1p') which Taproot uses." |
Good call...consistency with the SegWit/Bech32 descriptions makes sense. Updated to match your wording. Thanks. |
- Use Bech32m, not Taproot, for the address format in the qualification criterion (address format vs output type distinction) - Align the taproot feature description with the selector tooltip wording - Drop the bech32-does-not-imply-taproot sentence
|
Thanks Craig. These changes come out of our email exchange about whether "Taproot" or "Bech32m" is the right term when describing the address format, and whether full nodes (Core, Knots, Specter) should carry the feature. Summary of what we landed on, for the record:
Applied here:
|
|
There was a typo in my suggestion above. Bitcoin should have been capitalized. I had copied that from the SegWit description, so you might want to fix that also. |
…review) Craig noted the lowercase 'bitcoin' was copied from the SegWit/bech32 description; fixed it in both the bech32 and taproot descriptions, in managing-wallets.md and en.yml.
Done....capitalized "Bitcoin" in that sentence. Since it came from the bech32 description, I fixed it in both the bech32 and taproot descriptions (in managing-wallets.md and en.yml), so they stay consistent. |
|
utACK. Shall we hold off merging until we add the other currently listed wallets that support Taproot to this PR? |
Thanks! On holding off to add the others, I'd actually lean toward merging this one as-is (selector + Sparrow) and adding the remaining wallets in follow-up PRs, for a couple of reasons: Reviewability: I've verified Taproot support for ~16 more wallets by checking each project's source directly (P2TR receive + Schnorr signing), and a few overturned what the release notes claimed. Batching them in small per-type PRs (software / signing devices / full nodes) keeps each set easy to review and verify, rather than one large diff. So my suggestion: merge this as the infrastructure + one verified wallet, then I open the attribution PRs right after (I already have the per-wallet source evidence ready). Either way, none of the follow-ups can land until this one creates the taproot token, so merging this first unblocks the rest. |
|
It doesn't seem wise to me to merge this before the evaluation of the other wallets is ready. That would be publishing information that implies that Bitcoin Core (along with a number of other wallets) don't support Taproot when in fact they do. I don't see any compelling reason to rush this. |
Adds the taproot feature to the 19 currently-listed wallets whose Taproot send+receive support was verified directly against each project's source (P2TR address generation + Schnorr/BIP-340 signing), not only release notes. Software: Wasabi, Bitcoin Safe, Ginger, Green, Mycelium, Unstoppable Signing devices: Passport, BitBox, Jade, SeedSigner, Krux, OneKey, Cypherock Full nodes: Bitcoin Core, Bitcoin Knots, Specter Currently listed (removal pending): Trezor One, Trezor Model T, Ledger Nano S
|
Added the Software wallets
Signing devices
Full nodesThese generate bech32m receive addresses and sign Taproot inputs; they already carry
Currently listed, removal pending (#4664 / #4665)Tagging since they're still published and verifiably support Taproot; if the removal PRs land, the tags go with them.
Not tagged — verified they do not qualifyEach was checked against its own source; they fail the send-and-receive criterion for different reasons:
All paths above were re-verified against current source. |
|
Wow! Great. LGTM. (still utACK) |
Closes #4773
Adds a
taprootfeature selector so users can filter wallets by Taproot (bc1p) support, alongside the existingbech32andlegacy_addressesaddress-format selectors, and tags every currently-listed wallet whose Taproot support is verified.What this does
Taproot wallets use
bc1paddresses (bech32m encoding), distinct from thebc1q(bech32) addresses already covered by thebech32selector. This adds the selector across the wizard, the sidebar, and the feature documentation, and applies thetaproottag to the wallets that support sending and receiving Taproot.Changes
helper-step-4.html): adds the Taproot checkbox.wallets-selector.html): adds the Taproot checkbox with tooltip.en.yml): addswizard-feature-taprootandwizard-feature-taproot-description.managing-wallets.md): adds thetaproottoken, its description, and the qualification criterion. Per the output-type vs address-type distinction, the feature is named "Taproot" while the criterion refers to the Bech32m address format.taprootadded to the 20 listed wallets with verified support (see verification comment below).Verification method
Each wallet's Taproot support was checked directly against the project's own source — P2TR receive-address generation and Schnorr/BIP-340 signing — rather than relying on release notes or third-party trackers (which proved inaccurate in several cases). Wallets that recognize/send-to
bc1pbut cannot generate or sign their own Taproot (e.g. Coldcard stable, Electrum software-only, KeepKey) were deliberately left untagged. Full per-wallet evidence is in the comment below.Wallets tagged
Notes
bech32; taggingtaprootis consistent).en.yml(English) only; other locale strings to follow via the usual translation workflow.cc @crwatkins