How to Build a MetaMask Snap

This tutorial explores the process of creating a MetaMask Snap from scratch while guiding you through installing and setting up MetaMask Flask and essential prerequisites like Node.js for successful development.

by Kingsley Okonkwo & Ziad SaabDecember 4, 2023
How to Build a MetaMask Snap image

In part one of the MetaMask Snaps series, we learned what snaps are and explored the capabilities of MetaMask's Snaps, focusing on the key APIs. In this second installment, we delve into the practical aspects of creating your own MetaMask Snap from scratch.

The first step is to install MetaMask Flask. This special version of MetaMask allows developers to experiment with Snaps without the need for prior approval. Unlike the standard version of MetaMask, Flask is a developer-focused platform that functions similarly but provides the freedom to develop Snaps unimpeded.

Important considerations:


  • Installation requirements: MetaMask Flask cannot be installed alongside the regular MetaMask extension. You'll need to either disable the standard MetaMask or use a separate browser profile for Flask.
  • Security best practices: It's crucial not to use MetaMask Flask with the private keys of your main wallet holding your assets instead, create a new secret recovery phrase specifically for your development activities with Flask.

By the end of this tutorial, you'll have a clear understanding of how to create and develop a MetaMask Snap, setting the stage for you to explore the vast potential of blockchain technology.

For more insightful tutorials like this, visit the new MetaMask Developers website.

Receive our Newsletter