metamask-extension
:globe_with_meridians: :electric_plug: The MetaMask browser extension enables browsing Ethereum blockchain enabled websites
MetaMask is the source code for the MetaMask browser extension, an Ethereum wallet that stores crypto, connects to decentralized apps, and lets you approve blockchain transactions directly from Chrome or Firefox.
MetaMask is a browser extension that acts as a wallet for Ethereum and other compatible blockchains. You install it in Chrome, Firefox, or another Chromium-based browser, and it gives you a way to store cryptocurrency, connect to decentralized applications (dapps), and sign transactions directly from your browser without going through a centralized exchange.
When you visit a dapp, the website can ask MetaMask to show a prompt asking you to approve a transaction or sign a message. MetaMask sits between the website and the blockchain: the website requests an action, MetaMask shows you what is being asked, and you decide whether to approve or reject. Your private keys stay in the extension and are never sent to the website.
This repository is the source code for that browser extension. It is written in TypeScript and JavaScript, built using Node.js and Yarn, and compiled into a distributable package you load into your browser as an unpacked extension. The README covers how to build it locally or spin up a development environment in GitHub Codespaces. Building requires Node 24, a Yarn setup via Corepack, and an Infura API key (Infura is a service that provides access to Ethereum nodes without running your own).
The official release is available from metamask.io and the browser extension stores. This GitHub repository is where contributors submit bug fixes and new features. The project has separate documentation sites for end users, developers building dapps, and contributors working on the extension itself.
Where it fits
- Build and run a local development version of MetaMask to contribute a bug fix or new feature
- Understand how a browser wallet communicates with decentralized apps by reading the extension source code
- Fork MetaMask as a starting point for building a custom Ethereum wallet browser extension