> For the complete documentation index, see [llms.txt](/llms.txt).

# Create a custom mini app using Snaps

Snaps is an open source system that allows anyone to safely create a mini app that runs inside the MetaMask extension, enabling new web3 end user experiences. Get started building your own Snaps by [installing MetaMask Flask](/snaps/get-started/install-flask/).

## What can you do with a Snap?[​](#what-can-you-do-with-a-snap "Direct link to What can you do with a Snap?")

A Snap can add new API methods to MetaMask, add support for different blockchain protocols, or modify existing functionalities using the [Snaps API](/snaps/reference/snaps-api/). Learn more in this video:

The following Snaps features are available in the stable version of MetaMask:

- [Cron jobsSchedule periodic actions for your users.](/snaps/features/cron-jobs/)
- [Custom EVM accountsConnect to custom EVM accounts in MetaMask.](/snaps/features/custom-evm-accounts/)
- [Custom name resolutionResolve names to addresses and vice versa.](/snaps/features/custom-name-resolution/)
- [Custom UIDisplay custom UI in MetaMask using a set of pre-defined components.](/snaps/features/custom-ui/)
- [Data storageStore encrypted and unencrypted data within a Snap.](/snaps/features/data-storage/)
- [DialogsDisplay custom alert, confirmation, or prompt screens in MetaMask.](/snaps/features/custom-ui/dialogs/)
- [Home pagesDisplay a dedicated UI page in MetaMask for your Snap.](/snaps/features/custom-ui/home-pages/)
- [Interactive UIDisplay interactive UI in MetaMask that can be updated dynamically.](/snaps/features/custom-ui/interactive-ui/)
- [Lifecycle hooksCall an action when your Snap is installed or updated.](/snaps/features/lifecycle-hooks/)
- [LocalizationTranslate your Snap UI based on the user's locale.](/snaps/features/localization/)
- [Network accessAccess the internet using the fetch function.](/snaps/features/network-access/)
- [Non-EVM networksManage non-EVM accounts and assets in MetaMask.](/snaps/features/non-evm-networks/)
- [NotificationsNotify users directly in MetaMask, or natively in their OS.](/snaps/features/notifications/)
- [Signature insightsProvide signature insights before a user signs a message.](/snaps/features/signature-insights/)
- [Static filesLazy-load static files such as Wasm modules or ZK circuits.](/snaps/features/static-files/)
- [Transaction insightsProvide transaction insights in MetaMask's transaction confirmation window.](/snaps/features/transaction-insights/)

The following Snaps features are only available in [MetaMask Flask](/snaps/get-started/install-flask/), the canary distribution of MetaMask:

- [FlaskAccount abstractionConnect to ERC-4337 accounts in MetaMask.](/snaps/features/custom-evm-accounts/#account-abstraction-erc-4337)

## New to Snaps?[​](#new-to-snaps "Direct link to New to Snaps?")

If you're new to Snaps, get started learning with the following topics:

- [About SnapsSee a high-level, technical overview of the Snaps system.](/snaps/learn/about-snaps/)
- [About the Snaps APIsLearn about how Snaps, dapps, and MetaMask communicate with each other.](/snaps/learn/about-snaps/apis/)
- [Gas estimation Snap tutorialFollow an end-to-end tutorial to create a Snap that estimates gas fees.](/snaps/learn/tutorials/gas-estimation/)
- [Snaps resourcesLearn and explore MetaMask Snaps with supplemental resources, tools, examples, and guides.](/snaps/learn/resources/)

## Questions?[​](#questions "Direct link to Questions?")

If you have questions about using MetaMask Snaps or want to propose a new feature, you can interact with the MetaMask Snaps team and community on [GitHub discussions](https://github.com/MetaMask/snaps/discussions) and the **mm-snaps-dev** channel on [Consensys Discord](https://discord.gg/consensys).

See the full list of [Snaps resources](/snaps/learn/resources/) for more information.

MetaMask user support

If you need MetaMask user support, visit the [MetaMask Help Center](https://support.metamask.io/).
