Skip to main content

Background

Metamask, like other wallets, uses infrastructure to communicate with the blockchain. By default it talks to Infura, one of the biggest infrastructure providers in the ethereum ecosystem.

How communication works

The way this communication takes place is through Remote Procedure Calls (RPC), and call data is formatted as Java Script Object Notation (JSON). This is why you might see the term JSON RPC somewhere. For a more detailed explanation, check out Infura' documentation.

MetaMask polls for information about the blockchain's state, including gas prices, wallet balances, and more. After creating and signing transactions, it sends these to the selected RPC endpoint.

When interacting with EVM-compatible chains (other than Ethereum Mainnet), such as testnets, Polygon, or Gnosis Chain, MetaMask must use different RPC endpoints. Chainlist provides a directory of established endpoints to facilitate this process.

Until now, advanced users have manually edited their network configurations to use personal nodes or services like Flashbots when working with the Ethereum Mainnet.

GasHawk's role

GasHawk acts as an intermediary between MetaMask and the node provider.

Being in the position between a Wallet/Service and the Node provider allows GasHawk to:

CAN DOCAN NEVER DO
Hold transactionsCreate transactions
Delete transactionsAlter transactions
Record activityAccess private keys
Report the state of the blockchainAlter the state of the blockchain

When you add a custom network, MetaMask warns you about these risks:

Key Takeaway: Being your RPC node does NOT grant GasHawk the ability to steal your funds. Even if GasHawk were ever compromised, your funds would remain safe. 😌