Identify Snap is a sophisticated plugin that developers can incorporate into a variety of applications to enhance MetaMask's functionality beyond its native capabilities. Specifically, Identify Snap extends MetaMask's features by adding support for Decentralized Identifiers (DIDs) and Verifiable Credentials (VCs). This plugin can be seamlessly installed as a JavaScript npm package on web applications, thereby offering a range of advanced features to users.
With Identify Snap, users can create Verifiable Credentials using either their MetaMask account or a non-MetaMask account (e.g., by directly importing their private key). Additionally, this plugin enables DID resolution and VC verification, among other functionalities.
Examples of use cases for Identify Snap include:
  1. 1.
    Secure access control: Identify Snap can be employed for authentication and authorization purposes, granting users secure access to various online services and resources based on their verifiable credentials.
  2. 2.
    Credential management: Users can create, manage, and verify their credentials, such as educational qualifications or professional certifications, with the added convenience and security provided by the MetaMask extension.
  3. 3.
    Decentralized identity management: Identify Snap empowers users to establish and maintain control over their digital identities through the use of DIDs and VCs, thus ensuring privacy, security, and reduced reliance on centralized authorities.
In summary, Identify Snap is a valuable addition to the MetaMask ecosystem, offering users an array of enhanced features and enabling developers to incorporate advanced identity management functionalities into their applications.

What is a Snap?

Snaps is a plugin system introduced by MetaMask, a popular Ethereum wallet and browser extension. Snaps, short for "Snapshots," are designed to extend the functionality of MetaMask by allowing developers to create custom plugins that can be integrated into the wallet. A snap is basically a program that runs in an isolated environment that can customize the wallet experience.
These plugins enable users to interact with new blockchains, protocols, and decentralized applications (dApps) beyond what is natively supported by MetaMask. The goal of the MetaMask Snaps plugin system is to create a more open, customizable, and extensible wallet experience for users, while fostering innovation and collaboration within the blockchain and decentralized application ecosystem.
Developers can write MetaMask Snaps using JavaScript, making it accessible and convenient for a broad range of developers to create custom solutions. Users can then opt to install these plugins to enhance their MetaMask experience, provided they trust the source of the plugin.
To learn more about Snaps, visit Metamask Snap Guide.

How does the Identify Snap work?

What are some of the Identify Snap features?

  • Get the Decentralized Identifier(DID) associated with the currently connected metamask account or a non-metamask account(i.e. imported via private key)
  • Control non-EVM accounts(eg. Hedera Accounts that deal with Account Ids) and assets in MetaMask
  • Store and manage Verifiable Credentials(VC) data on your device and remotely(eg. storing VCs on personal google drive to allow sync feature)
  • Generate Verifiable Presentation(VP) from one or more VCs
  • Verify VC and VP
  • Display a custom confirmation screen in MetaMask before performing important actions via the snap
  • Populate MetaMask's pre-transaction window with custom transaction insights
  • Schedule actions with cron jobs

Official Snap Release