Schema
WalletMatrix inverts the manual and centralised process employed by similar projects: It encourages vendors to advertise their wallet's features in a file that they compose. And because it's written in a standard format based on JSON Schema, it can be consumed automatically by WalletMatrix.
This JSON file is based on a common schema and wallet features become available for searching on because they were ratified for inclusion in the schema via GitHub pull requests with participating vendors. The ratification process occurs for each new schema version release. When complete, some modifications to the automated import system may be needed before new features become available for use.
Added a new feature recently? It'll be available on WalletMatrix at most an hour later.
Available Versions
The latest stable schema version is Version 2 and was released in Q4 2020. The next iteration of the WalletMatrix JSON schema will be version 3 incoming in Q3 2021 and we invite comment from vendors as to option and value naming. See below for the features implemented to-date.
Version 3
One of the major changes in version 3 is that it allows vendors to include the features of multiple wallets in a single file. Prior to version 3, WalletMatrix had been rightly accused of featuring companies and not wallets. The inclusion of multiple wallets makes far more sense, especially for those codebases that are used to derive wallets for multiple platforms.
Feature: organisation.soft
Values: "data-retention-policy", "product-support"
Status: NEW
Rationale: Since the 2020 Ledger hack, it has become increasingly important for wallet users to know the kinds of customer data that are held about them, as well as the retention policies around these data. It's also imperative for users to be able to contact some sort of support. Both values will support a "link" field to allow users to navigate directly to the appropriate page on the vendor's website.
Feature: wallet.version
Value: N/A
Status: DEPRECATED
Rationale: It was a tall order to require something that changes so frequently. Added in v2, removed in v3.
Feature: wallet.features.tx_labelling
Values: "Y" "N" "?" "P" (Yes, No, Unknown, Parked)
Status: NEW
Rationale: The ability for users to optionally name one or more UTXOs in a wallet for ease of identification. Wasabi, Exodus and Sparrow do this.
Feature: wallet.features.lightning.custom-node
Values: N/A
Status: NEW
Rationale: Indicates that a wallet with Lightning support also allows users to connect their wallets to their own BOLT compatible LN node like LND or C-Lightning
Feature: wallet.features.lightning.lnurl
Values: N/A
Status: NEW
Rationale: Indicates that an LN wallet allows payees to directly withdraw an amount of funds from the wallet. Somewhat like a direct debit or a subscription system or a standing order - where a repeat withdrawal can occur without authorisation for each payment made.
Feature: wallet.features.hardware
Values: "ble" (Bluetooth Low Energy connectivity), "mobile-app" (Mobile wallet connectivity), "camera" (QR scanning), "air-gapped" (Wireless transaction signing)
Status: NEW
Rationale: New features are appearing all the time in the hardware wallet space. Since version 2, the above features have appeared and will be included.
Feature: wallet.features.security
Values: "face-id", "remote-wipe", "withdrawal-limit"
Status: NEW
Rationale: Self-explanatory.
Feature: wallet.features.refill
Status: NEW
Values: "fastbitcoins"
Rationale: Some apps offer the ability to use your Fastbitcoins account in-app, in order to purchase Bitcoin.