// the find
MetaMask/metamask-extension
:globe_with_meridians: :electric_plug: The MetaMask browser extension enables browsing Ethereum blockchain enabled websites
MetaMask is the dominant Ethereum browser wallet, a TypeScript extension targeting Chrome, Firefox, and other Chromium browsers. It's the reference implementation for the EIP-1193 provider API and the de facto standard that most dapps test against first. If you're building anything in the EVM ecosystem, you're building against this.
The build tooling is serious — separate LavaMoat policy files for webapp and build system, Webpack with Snow for supply chain security that most browser extensions ignore entirely. The CI pipeline is genuinely sophisticated: automatic build artifact reuse based on source hashing, selective E2E skipping, and a feature flag registry with a CI check that enforces consistency between code references and registered flags. The controller architecture is well-decomposed with a published visual dependency graph, and the Snaps system gives third-party devs a sandboxed extension mechanism without forking the whole extension. GitHub Codespaces setup with noVNC is a clever onboarding shortcut that actually works.
The dependency surface is enormous — the yarn.lock patch directory alone has 40+ vendored patches for packages that upstream won't fix, which means MetaMask owns the maintenance burden of those patches forever or until they upstream them. The Redux state shape is a historical accident that's never been fully cleaned up; the architecture diagram is from 2022 and explicitly noted as outdated. LavaMoat policy regeneration is documented as behaving inconsistently across platforms (macOS vs Windows produce different outputs), which is a footgun for contributors on different OSes. Local development requires an Infura API key just to run the thing, which is a friction point for casual contributors who don't already have Web3 infrastructure accounts.