🌐 🔌 The MetaMask browser extension enables browsing Ethereum blockchain enabled websites.
Branch: develop
Clone or download
bitpshr and danfinlay EIP-1193: standard provider API (#6170)
* EIP-1193: Implement new provider API

* EIP-1193: Updated implementation

* Remove test file

* Fix tests

* Update ping check

* Update logic

* PR feedback
Latest commit 2f7d449 Feb 20, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Skip drizzle tests unit issue with ci is determined (#5982) Jan 16, 2019
.github Update UI codeowners Jan 30, 2019
.storybook Merge branch 'develop' into i3725-refactor-send-component- May 14, 2018
app EIP-1193: standard provider API (#6170) Feb 20, 2019
development Add visual indicator when displaying a cached balance (#5854) Jan 30, 2019
docs Add sensitive publishing protocol Feb 19, 2019
mascara Refactor first time flow, remove seed phrase from state (#5994) Jan 23, 2019
notices EIP-1102 updates (#6006) Jan 30, 2019
old-ui Privacy mode fixes (#6087) Feb 1, 2019
test Adds tests for advanced gas controls on confim screen (#6144) Feb 13, 2019
ui Merge pull request #6184 from chikeichan/6132 Feb 20, 2019
.babelrc Minimum Browsers Supported (#4873) Aug 22, 2018
.dockerignore mascara - ready to deploy via docker Apr 6, 2017
.editorconfig init commit Aug 1, 2015
.eslintignore Merge pull request #5797 from MetaMask/trezor-v6 Nov 21, 2018
.eslintrc ESLint fixes (#5775) Nov 17, 2018
.gitattributes Fix gitattributes Jun 30, 2016
.gitignore Add html reporter to test coverage output Sep 11, 2018
.nvmrc nvm: Bump Node version to 8.13 Nov 21, 2018
.stylelintignore [WIP] Add packages and tasks for linting scss Aug 14, 2017
.stylelintrc Lint and cleanup all scss Aug 14, 2017
CHANGELOG.md Version 6.1.0 RC1 Feb 19, 2019
CONTRIBUTING.md update contributing.md Jul 5, 2018
Dockerfile Merge branch 'master' into mascara-deploy Feb 27, 2018
ISSUE_TEMPLATE Merge branch 'master' into NewUI-flat-merge-with-master Dec 7, 2017
LICENSE License Jun 22, 2018
MISSION.md Mission v2 May 29, 2018
README.md Add native deps compilation troubleshooting to docs Feb 11, 2019
USER_AGREEMENT.md fix tos link; Jul 12, 2018
auto-changelog.sh detect os Nov 15, 2018
docker-compose.yml mascara - fix words and enviroment vars Nov 2, 2017
fonts Improved Ui Dev Mode Jul 1, 2016
gentests.js fix gentests.js Jul 2, 2018
gulpfile.js Add c3 and d3 to the separate dependencies bundle. Dec 4, 2018
images Improved Ui Dev Mode Jul 1, 2016
package-lock.json Fix 1 moderate severity vulnerability with deps Feb 8, 2019
package.json Fixed issue #5838 (#6001) Feb 13, 2019


MetaMask Browser Extension

Build Status Coverage Status Stories in Ready

You can find the latest version of MetaMask on our official website.

For help using MetaMask, visit our User Support Site.

For up to the minute news, follow our Twitter or Medium pages.

To learn how to develop MetaMask-compatible applications, visit our Developer Docs.

To learn how to contribute to the MetaMask project itself, visit our Internal Docs.

Building locally

  • Install Node.js version 8 and the latest available npm@6
    • If you are using nvm (recommended) running nvm use will automatically choose the right node version for you.
    • If you install Node.js manually, ensure you're using npm@6
      • Install npm@6 using npm install -g npm@6
  • Install dependencies: npm install
    • If you have issues with node-sass compilation, try npm rebuild node-sass
  • Install gulp globally with npm install -g gulp-cli.
  • Build the project to the ./dist/ folder with gulp build.
  • Optionally, to rebuild on file changes, run gulp dev.
  • To package .zip files for distribution, run gulp zip, or run the full build & zip with gulp dist.

Uncompressed builds can be found in /dist, compressed builds can be found in /builds once they're built.


You can read our internal docs here.

You can re-generate the docs locally by running npm run doc, and contributors can update the hosted docs by running npm run publish-docs.

Running Tests

Requires mocha installed. Run npm install -g mocha.

Then just run npm test.

You can also test with a continuously watching process, via npm run watch.

You can run the linter by itself with gulp lint.


Architecture Diagram


npm install
npm start

Build for Publishing

npm run dist

Writing Browser Tests

To write tests that will be run in the browser using QUnit, add your test files to test/integration/lib.

Other Docs