walletbeat icon indicating copy to clipboard operation
walletbeat copied to clipboard

Add Support for Identity Wallets

Open zulu0echo opened this issue 6 months ago • 3 comments

Description:

Extension of the wallet assessment framework to include identity wallets, expanding the current focus beyond crypto-asset management. As the ecosystem matures, identity is becoming a foundational primitive, particularly in areas like self-sovereign identity (SSI), decentralized identifiers (DIDs), and verifiable credentials (VCs). These capabilities are becoming just as critical as asset custody in defining wallet utility and user value.

zulu0echo avatar Jun 16 '25 21:06 zulu0echo

What are examples of wallets that would fit under this category?

polymutex avatar Jun 17 '25 07:06 polymutex

Here are some: https://github.com/0xPolygonID https://github.com/rarimo/rarime-ios-app https://github.com/trinsic-id https://docs.walt.id/community-stack/wallet https://www.dock.io/feature/identity-wallet https://docs.cheqd.io/product/studio/credentials/verida

zulu0echo avatar Jun 18 '25 16:06 zulu0echo

These look interesting.

Thinking about how to represent these, I think this can fit under the current framework, by using the WalletProfile enum. We currently only have two:

/**
 * A profile for a wallet. This should roughly describe the intended use-cases
 * and audience for a wallet. It is used to determine which features matter
 * for a wallet, and which attributes it may be exempt from because they do
 * not matter for users of this type of wallet.
 *
 * A profile is **not** something like "web browser wallet" or
 * "mobile wallet"; those are "variants". A single wallet may have
 * multiple variants, i.e. it can have a desktop version, a mobile
 * version, a browser version, and so on.
 *
 * A profile is about the intended audience of the wallet, not about
 * the platform it runs on.
 */
export enum WalletProfile {
  /**
   * A generic wallet is not of any specific type.
   */
  GENERIC = 'GENERIC',

  /**
   * A payments-focused wallet. Focused on sending and receiving money.
   * Not arbitrary transactions.
   */
  PAYMENTS = 'PAYMENTS',
}

... Where PAYMENTS is for peer-to-peer-payments-focused wallets, which Daimo is. For such wallets, we don't evaluate them on things like browser integration EIPs, because being integrated into browsers is not their intended use-case. So the attribute is rated as EXEMPT for Daimo. This is why the Daimo entry has a different number of "Ecosystem" pie slices in the comparison table compared to the other wallets.

I think we could add a value like IDENTITY here, which these wallets would be marked as, and that would in turn make certain attributes (probably the financial ones?) be EXEMPT.

There's also the question of what attributes should be specifically rated for identity wallets, and whether or not they should be also rated of the other kinds of wallets (including the GENERIC ones).

You mention DIDs for example. Would one of the attributes here be "uses a self-sovereign DID scheme & method"? What other attributes would be rated here?

polymutex avatar Jun 19 '25 03:06 polymutex