How to Use MetaMask Snaps
MetaMask Snaps can be installed directly into your MetaMask wallet from the MetaMask Snaps Directory, and these Snaps can enable cross-chain interoperability and improve wallet security through transaction insights.
In this article, we explain MetaMask Snaps, how it works, and how you can start using the new feature.
Key Takeaways
-
MetaMask announced the launch of the Snaps feature on September 12, 2023.
-
Snaps allows wallet users to install external applications that can be used on their wallets and add extra functionalities to their wallets.
-
Available MetaMask Snaps at the time of writing include a wide range of applications like wallet applications for non-EVM networks, transaction analysis to improve security, and notification applications.
Following the official announcement on September 12, 2023, Snaps emerged as the first product of the MetaMask Flask. Flask is a playground for developers introduced by Consensys, designed to serve as a front for brainstorming, developing, and testing innovative features for the MetaMask wallet.
First significant feature on Flask? MetaMask Snaps. MetaMask claims that Snaps is set to offer new and even more exciting ways to use the MetaMask wallet with features working towards interoperability and utility information solutions. Before you start testing out this feature, let's take a look at what it is and how it actually works. So, what are MetaMask Snaps?
What Are MetaMask Snaps?
MetaMask Snaps lets you add extra functionalities to your wallet. Put simply, MetaMask Snaps lets you integrate a Snap into your wallet. A Snap is a third-party application developed for the MetaMask wallet, where users can install Snaps and use them alongside their MetaMask wallets. MetaMask claims that Snaps are able to add new possibilities to wallets, including the ability to interact with non-EVM networks from their MetaMask wallet and other routine utility applications like transaction notification and other insight applications.
MetaMask has, over the years, only concentrated on EVM networks, letting users integrate and use new EVM networks by entering and storing the network details. Through Snaps, it claims to be growing past this and opening up a gateway for developers to experiment with other features and extend the usability of the MetaMask wallet beyond Ethereum and EVM networks. Like a browser extension, users can install Snaps, but how do these work with the MetaMask wallet?
How Do MetaMask Snaps Work?
Snaps are permissioned applications; they are javascript programs that run in an isolated environment. Snaps are pre-packaged functionalities that are dependent on the MetaMask wallet, and their properties are activated through permissions which give them access to the user’s MetaMask wallet. Consider them as applications stored in your MetaMask wallet or widgets integrated into a website. Snaps uses the wallet’s facilities, but only on due approval. On installation, users are notified of the required permissions for each Snap, and if permitted, the Snap runs operations as required by the user. Operations could range from simple transaction notifications to connecting to a non-EVM network.
As Snaps interact with users’ wallets, questions could arise regarding the safety of users’ assets. MetaMask claims that Snaps run in a sandboxed environment and the permissions are the only avenue through which a Snap can access users’ wallets. This doesn’t remove the need for extra caution, so always read through the permissions you are granting the Snap.
There are four basic management operations for Snaps: installation, permissions, disabling, and uninstalling. The installation process for MetaMask Snaps is similar to regular application and extension installation. A significant difference is the process of integrating them with your MetaMask wallet.
At the time of writing, Snaps can only be used in the MetaMask browser extensions and can be installed from the MetaMask Snaps Directory. On installation, your wallet prompts for permission. This process gets the Snap ready for use. You can disable and uninstall a Snap through the Snaps tab under the Settings menu.
Exploring MetaMask Snaps
You can browse MetaMask Snaps based on their type. MetaMask Snaps are currently split into three categories:
-
Interoperability: These Snaps enable MetaMask users to connect to other supported networks.
-
Transaction Insights: These Snaps provide additional information about a transaction you’re about to undertake.
-
Notifications: These Snaps let you stay updated on important information, or offer other communication features like wallet-to-wallet-chats.
At time of writing, the MetaMask Snaps Directory features Snaps that have been audited by the MetaMask team and third parties, with future plans to open up the auditing process to create a permissionless platform.
Now, let’s look at how to install and disable a Snap using the Tenderly TX Preview Snap.
How to Install a MetaMask Snap
-
Visit the MetaMask Snap Directory, and search for Tenderly (or any Snap you wish to install) using the search bar.
-
Click on the Tenderly Snap (the snap you wish to install) and click Add to MetaMask to start the installation process.
-
Once you click on Add to MetaMask, your MetaMask browser extension opens a dialog. Read through the notice to understand the implications of every installed Snap.
-
Follow the prompts and accept the terms after review.
-
The final dialog is a connection request. Click Connect to accept this and complete the installation process.
How to Disable and Uninstall a MetaMask Snap
Uninstalling a Snap disables the application and removes it from your MetaMask wallet and device. Disabling a Snap only stops it from interacting with your wallet, but the application is still installed and can be enabled at will.
How to Disable a Snap
For instance, let’s disable the Tenderly TX preview Snap we just installed
-
Click the kebab menu on the top right corner of your MetaMask wallet and select Settings.
-
On the settings page, select Snaps to see installed Snaps.
-
Click on the Snap you wish to disable. On the individual Snaps pages, you can find other details including permissions.
-
To disable the Snap, toggle the Enabled button. You can re-enable the Snap through this process.
How to Uninstall a Snap
-
Click the kebab menu on the top right corner of your MetaMask wallet and select Settings.
-
On the settings page, select Snaps to see installed Snaps.
-
Click on the Snap you wish to uninstall.
-
Scroll to the bottom of the page and click Remove to uninstall the Snap. You can also Disconnect the related sites from your MetaMask wallet here.
Now that you understand the basic operations, let's look at a few Snaps for different functionalities.
Interoperability: Connect to Other Networks
The MetaMask wallet is shifting away from its traditional support for EVM networks alone. With the MetaMask Snap, MetaMask users can now connect to other networks from their MetaMask wallet. Connecting to new and existing networks is as easy as installing a Snap associated with the new network and running it through your MetaMask wallet.
Notably, a Snap for Bitcoin support has already been developed – ShapeShift Multichain. With applications like this, you can now receive and send Bitcoin from your wallet. The interoperability provided by Snaps isn’t limited to existing network; new non-EVM networks can develop a Snap to allow their users to connect to the network from their MetaMask wallet.
To better understand how this works, let's install and use the Solana wallet Snap by SolFlare. This will allow us to connect to the Solana blockchain from MetaMask.
Note that you can use this procedure to install any other wallet Snap, although there may be some differences in the individual process.
Installing a Solana Wallet Snap
-
Visit the MetaMask Snap Directory and search for “Solana wallet”.
-
On the Solana Wallet application’s page, click Add to MetaMask from the top right corner of the page.
-
This begins the installation process. Follow the prompts to connect the Snap to your wallet, after reading and understanding the risks involved and permissions required.
-
Once the installation process is completed, you can now use the Solana wallet from your MetaMask browser extension.
-
You can now use MetaMask as a wallet on supported Solana dApps, like Solend. Once you select MetaMask as the wallet to connect, the Snap will take you through the Solflare wallet setup process.
Transaction Insights: Improving Wallet Security
Trading is the most common use case for cryptocurrency and blockchain technology. However, users often have little or no extra information about their transactions apart from the amount being sent (or received) and the sender's (or receiver’s) address. Through MetaMask Snaps, developers are able to develop informative applications that provide more insights into transactions.
Information provided by Snaps like these includes a detailed analysis of the safety of the transaction and information on the sender or recipient. Transaction insight Snaps are able to obtain information on the legitimacy of a wallet address and notify users of the likely outcomes of the transaction. These Snaps are embedded into the MetaMask wallet and users can easily obtain this information as part of the transaction confirmation process.
Let’s install and run a Snap that provides transaction insights.
We will be using the Tenderly TX Preview. You can install any other similar Snap from the MetaMask Snap Directory by following the same procedure.
Installing Tenderly TX Preview
-
Visit the MetaMask Snap Directory and search for “Tenderly”.
-
On the Tenderly TX Preview page, click Add to MetaMask from the top right corner.
-
This starts the installation process; follow the prompts to connect the Snap to your wallet. Follow the prompts to connect the Snap to your wallet, after reading and understanding the risks involved and permissions required.
-
Once the installation process is completed, you can now see a TX preview section on the transaction tabs. However, you will need to create a Tenderly account and connect it to your MetaMask before you can use this feature.
Creating and Connecting a Tenderly Account
-
Visit the Tenderly registration portal to create an account.
-
Confirm your Email and follow the prompts to start your account creation.
-
Visit the Tenderly authorization page to complete the setup process and click Connect to Tenderly Snap.
-
Select Project: The project created while setting up your account will be selected automatically. If you created multiple projects, you can select any of them for this step.
-
Click Connect and follow the wallet prompt to complete.
Using Tenderly TX Preview
The Tenderly transaction insight tab is located next to the transaction details tab on the confirmation page of your MetaMask wallet.
After setting up a transfer, move to the Tenderly TX Preview tab to get more information before executing the transaction, such as whether the transaction is likely to succeed.
Notifications: Chats and Alerts on MetaMask Wallet
In addition to interoperability and transaction insight Snaps, some Snaps on the MetaMask Snaps Directory let you do even more with your MetaMask wallet. These notifications and chats Snaps offer extended and fun communication features to MetaMask users.
Depending on the provisions of the Snap installed, MetaMask notification and chat snaps can offer features ranging from simple notifications about developments regarding assets in your wallet to powering real-time conversations.
To experiment with this feature, you can install the desired notification Snap from the Snap Directory and follow the normal installation procedure to add it to your MetaMask.
Closing up, we have explored the three major functionalities of the MetaMask Snaps and have installed some of these Snaps throughout this tutorial. Available Snaps aren’t limited to the ones shown, however, the installation processes are similar. You can follow these steps to get started and refer to resources from the Snaps you’ve installed for more advanced operations.
Do note that featured snaps aren’t a form of endorsement or recommendation, and is only meant to showcase the capabilities of MetaMask Snaps.
Final Thoughts
MetaMask, through MetaMask Snaps, is crossing borders. The multiple non-EVM Snaps wallets could mark the end of EVM monotony which MetaMask is known for. It is not certain how well these wallet applications will function alongside the original EVM support on MetaMask, but it looks promising. Meanwhile, extra features like transaction analysis and notification applications will introduce users to a new way of using their wallet application.
While the official Snaps Directory managed by MetaMask is the most reliable source for installing a Snap and current Snaps are audited, it is still recommended that users do their own research before installing or using any Snaps. Always read through the permissions and understand how the application interacts with your wallet and other potential risks before connecting your wallet. Also, note that this article is only for educational purposes and should not be taken as financial advice.
Subscribe to the CoinGecko Daily Newsletter!