BTC Taro WalletHandbuch

Product feature inventory

This inventory lists every user-facing capability of the app. Each row is one capability, with a matching details entry under docs/product/features/.

It is the product view of what the app does, and the base for the release-critical flows in critical-flows.md.

How to read it

IDs use the form <PREFIX>-<NN> (two digits). Prefixes: A app shell, W wallets, R receive, T transactions, S send, L lightning, B boltcard, D DFX services, O OpenCryptoPay, X settings. The Lightning prefix spans two areas: L-01 to L-08 are Lightning wallets and L-10 to L-18 Lightning payments; L-09 is not used. Critical flows use CF-<NN>.

Columns:

Column Meaning
ID Stable identifier for the capability
Capability Short name of what the user can do
Entry point Where the user starts this capability in the UI
Tier Release priority (see Tiers)
Flows Critical flows that cover this row, or — if none
Details Link to the full entry in the area file

"Not reachable in the current build" means the screen is still registered in navigation, but there is no path from the UI to open it.

The Flows column lists the critical flows that name the row under Covers.

Tiers

App shell

ID Capability Entry point Tier Flows Details
A-01 First launch and onboarding Cold start with no wallet Critical CF-01 details
A-02 Unlock at launch (password, biometrics) Cold start with encrypted storage Critical CF-04 details
A-03 Deep links and URI schemes Opening bitcoin:, lightning:, spark:, LNURL or dfxtaro:// links Important — details
A-04 Quick actions Long press on the app icon Nice — details
A-05 Push notifications Tap on a system notification Important — details
A-06 Screenshot protection on sensitive screens Automatic Important — details
A-07 Handoff, Apple Watch and widgets Handoff through Settings, General, Continuity; Watch and widgets not shipped Nice — details
A-08 Electrum connection and offline behaviour Automatic Critical CF-02, CF-03 details

Wallets

ID Capability Entry point Tier Flows Details
W-01 Create on-chain wallet First launch; after deleting the main wallet Critical CF-01 details
W-02 Import wallet Add wallet, Import wallet Critical CF-03, CF-08 details
W-03 Recovery phrase backup Home backup banner; Settings, wallet, Export Critical CF-01 details
W-04 Home overview After unlock Critical CF-01 details
W-05 Wallet screen Home, wallet row Critical CF-01 details
W-06 Wallet details and delete Settings, wallet row Important CF-01 details
W-07 Extended public key export Wallet details, Show XPUB Important — details
W-08 Addresses Wallet details, Addresses Important — details
W-09 Sign and verify message Wallet details; address list Important — details
W-10 Payment codes (BIP47) Not reachable in the current build Nice — details
W-11 Wallet picker and reorder Used by other flows Nice — details
W-12 Multi-device wallet: create Home, Multi-Device row, Add Important — details
W-13 Multi-device wallet: import Home, Multi-Device row, Import Important — details
W-14 Multi-device wallet: cosigners and coordination export Wallet details Important — details

Receive

ID Capability Entry point Tier Flows Details
R-01 Receive on-chain Wallet screen, Receive (home Receive: multi-device wallet first, else the main wallet when no Lightning wallet exists) Critical CF-01, CF-02 details
R-02 Azteco voucher redeem Not reachable in the current build Nice — details

Transactions

ID Capability Entry point Tier Flows Details
T-01 Transaction list Wallet screen Critical CF-02, CF-03 details
T-02 Transaction status and details Transaction row Critical CF-02 details
T-03 Fee bump and cancel (RBF, CPFP) Transaction status Important — details
T-04 Fiat rates and fee estimates Automatic Important — details

Send

ID Capability Entry point Tier Flows Details
S-01 Send on-chain: destination Home or wallet screen, Send Critical CF-03 details
S-02 Send on-chain: amount, fee, confirm, broadcast After the destination Critical CF-03 details
S-03 Coin control Send details, when coins are frozen Important — details
S-04 Sign with a hardware or watch-only wallet (PSBT) Send details of a watch-only wallet Important — details
S-05 Multi-device co-signing Send from a multi-device wallet; scanned PSBT Important — details
S-06 QR scanner Scan buttons Critical CF-09 details
S-07 Broadcast raw transaction Settings, Tools Nice — details
S-08 Is it my address Settings, Tools Nice — details

Lightning wallets

ID Capability Entry point Tier Flows Details
L-01 Spark wallet (self-custodial Lightning) Home, Lightning row, Add Critical (DFX) CF-05 details
L-02 Lightning slot and provider precedence Home Critical (DFX) CF-05 details
L-03 Existing Lightning wallet restored on Add Home, Lightning row, Add Critical (DFX) CF-08 details
L-04 Lightning address Spark receive Important — details
L-05 Spark on-chain deposits Automatic Important — details
L-06 Spark recovery phrase export Settings, Lightning wallet, Export Critical (DFX) CF-05 details
L-07 lightning.space wallet and provider picker Settings, CHF Taproot Wallet (LDS DEV API flag) Important — details
L-08 Generic LNDHub wallet (legacy) Not reachable in the current build Nice — details

Lightning payments

ID Capability Entry point Tier Flows Details
L-10 Receive Lightning: invoice with amount Home Receive when no multi-device wallet exists; Lightning wallet, Receive Critical (DFX) CF-05, CF-06 details
L-11 Receive Lightning: static address QR Lightning receive without an amount Important CF-06 details
L-12 Invoice view, paid state, preimage Lightning transaction row Important CF-06 details
L-13 Pay Lightning: invoice, address, LNURL-pay Send with a Lightning destination Critical (DFX) CF-07, CF-11 details
L-14 LNURL-auth login Scanned LNURL-auth code Critical (DFX) CF-09 details
L-15 LNURL routing and LNURL-withdraw Scanned LNURL Important CF-09 details
L-16 Point of sale (LNDHub POS mode) POS mode flag Nice — details
L-17 LApp browser (WebLN) Not reachable in the current build Nice — details
L-18 Lightning rows in history Wallet screen Important CF-06, CF-07, CF-10 details

Boltcard

ID Capability Entry point Tier Flows Details
B-01 Create and program a card Wallet screen, Cards, Add Important — details
B-02 Card details, limits, pause, delete Wallet screen, card Important — details
B-03 Card backup Wallet details Nice — details
B-04 Tap a card Scanner, NFC button Important — details

DFX services

ID Capability Entry point Tier Flows Details
D-01 DFX session and login Automatic on the home screen Critical (DFX) CF-10, CF-11 details
D-02 Buy Home, Buy Critical (DFX) CF-10 details
D-03 Sell Home, Sell; return through the dfxtaro://sell link, or through a spark: payment link for a Spark sell Critical (DFX) CF-11 details
D-04 Swap Home, Swap (DFX Swap flag) Important — details
D-05 DFX point of sale Home, POS (DFX Point of Sale flag) Nice — details

OpenCryptoPay

ID Capability Entry point Tier Flows Details
O-01 Pay an OpenCryptoPay request Scanned payment request Important — details

Settings

ID Capability Entry point Tier Flows Details
X-01 Settings menu Home, more icon Important — details
X-02 General and privacy settings Settings, General Important — details
X-03 Currency Settings, Currency Important — details
X-04 Language Settings, Language Important — details
X-05 Default view on launch Not reachable in the current build Nice — details
X-06 Network and Electrum server Settings, Network Important — details
X-07 Notification settings Settings, Network, Notifications Important — details
X-08 Storage encryption and biometrics Settings, Security Critical CF-04 details
X-09 Plausible deniability Settings, Security, while encrypted Important CF-04 details
X-10 Tools Settings, Tools Nice — details
X-11 Feature flags Settings, Feature Flags Important — details
X-12 About, self-test, licensing, release notes Settings, About Nice — details

Keeping it current

A pull request that adds, renames or removes a screen must update the matching inventory row and its details entry. Screens are matched by their registered name; a screen registered in several stacks counts once. npm run unit runs tests/unit/product-inventory.test.js, which runs scripts/product/check-inventory.js. The checker fails on:

Run node scripts/product/check-inventory.js directly to check the same rules.