metamask/metamask-extension — explained in plain English
Analysis updated 2026-06-24
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
| metamask/metamask-extension | juice-shop/juice-shop | typestrong/ts-node | |
|---|---|---|---|
| Stars | 13,120 | 13,120 | 13,134 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | hard | easy | easy |
| Complexity | 4/5 | 2/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Node 24, Yarn via Corepack, and an Infura API key to build and run locally.
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.
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.
Mainly TypeScript. The stack also includes TypeScript, JavaScript, Node.js.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.