WalletMatrix

37

Bitcoin wallets and stacking!

Schema

WalletMatrix allows its users to select individual wallet features for a side-by-side comparison. Each feature only becomes available for searching because it was ratified by participating vendorsThe ratification process occurs every time a new schema version is planned for release. Once completed, some modifications to the automated import system may need to be made and tested, whereupon it's just a matter of time waiting for the next import before the search fields become available for use.

Contributions take the form of a standardised JSON file which vendors' developers push to a Github repository. The file is based on a Draft 07 JSON Schema which is detailed below.

Available Versions

The latest stable schema version is Version 2 and was released in October 2020. The next iteration of the WalletMatrix JSON schema will be version 3 and we invite comment from vendors as to option and value naming.

Planned Options for Version 3

vendor.soft.data_retention_policy

  • Status: NEW
  • Rationale: Since the 2020 Ledger hack, it has become increasingly important for wallet users to know the kinds of customer data that is held about them, and the retention policies around these data
  • Values: "Y" "N" "?" "P" (Yes, No, Unknown, Parked)

vendor.soft.product_support

  • Status: NEW
  • Rationale: Some newer users may have come to expect some level of support to be available for their wallet
  • Values: "email", "phone", "web"

wallet.features.form_factor

  • Status: DEPRECATED
  • Rationale: The property: wallet.features.platforms.type performs the same function
  • Values: N/A

wallet.version

  • Status: DEPRECATED
  • Rationale: Moved to wallet.platforms.version which makes a 5th key alongside "name", "github", "download" and "language"
  • Values: N/A

wallet.features.coin_labels

  • Status: NEW
  • Rationale: The ability for users to optionally name one or more UTXOs in a wallet for ease of identification. Both Wasabi and Sparrow do this
  • Values: "Y" "N" "?" "P" (Yes, No, Unknown, Parked)

wallet.features.hwi

  • Status: NEW
  • Rationale: Indicates that a wallet supports the HWI standard for hardware wallet interoperability (List of supported hardware)
  • Values: "Y" "N" "?" "P" (Yes, No, Unknown, Parked)

wallet.lightning.custom_node

  • Status: NEW
  • Rationale: Indicates that a wallet with Lightning support allows users to connect their LN wallets to their own BOLT compatible LN node like LND or C-Lightning
  • Values: "Y" "N" "?" "P" (Yes, No, Unknown, Parked)

wallet.lightning.lnurl

  • Status: NEW
  • Rationale: Indicates that Lightning wallets will allow users to generate and request LNURL compatible invoices and QR codes
  • Values: "Y" "N" "?" "P" (Yes, No, Unknown, Parked)

wallet.features.hardware

  • Status: NEW
  • Rationale: The wallet.features.hardware option already exists, but we wish to add new values to it
  • Values: "BLE" (Bluetooth Low Energy connectivity), "mobile-app" (Mobile wallet connectivity), "read-only-screen" (To differentiate from touch-screen), "camera" (See Blockstream Jade)

wallet.features.security

  • Status: NEW
  • Rationale: The wallet.features.security option already exists, but we wish to add new values to it
  • Values: "face-id" (In addition to "touch-id", see Zengo Wallet), "auto-lock", "auto-power-off" (See Ledger Nano S), "remote-wipe" (See Samourai Wallet), "emergency-lock" (See CasaApp)

wallet.features.wallet_types

  • Status: NEW
  • Rationale: The wallet.features.wallet_types option already exists, but we wish to add new values to it.
  • Values: "donation". Donation wallets allow individuals and organisations to receive donated funds directly from a wallet (See HexaWallet).

wallet.features.refill

  • Status: NEW
  • Rationale: The wallet.features.refill option already exists, but we wish to add new values to it.
  • Values: "fastbitcoins". Some apps offer the ability to use your Fastbitcoins account in-app, in order to purchase Bitcoin.

wallet.features.offline

NOTE: There is already an "offline" option as part of the existing wallet.features.privacy block. We might deprecate this, in order to further refine which types of offline transactions a wallet is able to make.

  • Status: NEW
  • Rationale: Indicates that a wallet has the ability for users to transmit their Bitcoin transactions using an alternative to a direct internet connection such as SMS or Mesh Network (See Samourai Walllet)
  • Values: "SMS", "Mesh", "Radio"