Architecture
The following diagram outlines the high-level architecture of the MetaMask web3 stack.
Using MetaMask SDK, dapps built on multiple platforms can connect to their users' Ethereum accounts through the MetaMask browser extension and MetaMask Mobile. Dapps can send JSON-RPC API calls to the users' MetaMask wallet clients. MetaMask then responds to these requests directly or uses Infura (or another user-configured node provider) when the call requires access to information on a blockchain network.