How EIP-1559 Gas Fees Work With MetaMask

Learn how EIP-1559 works with MetaMask.

MetaMask fox in a rocket with a gas tank

Enhanced Gas UI to improve how EIP-1559 gas fees work with MetaMask

We’ve been monitoring, analyzing and taking your feedback on all things EIP-1559 for MetaMask since it launched in August 2021. Based on what we’ve seen and heard, we have made some changes to improve the experience and accuracy of our gas settings. Watch the video and read below what changes you will find when you start using Extension v10.10.0. These changes will be coming to the Mobile App soon and are opt-in for Extension at launch of v10.10.0. You can opt in under “Settings > Experimental” where you can toggle the button ON“.

Youtube overlay image

Enhanced Gas UI with Extension v10.10.0 (Mobile App changes coming soon)

  1. Changes in Gas Estimations
  2. Changes in Advanced Settings
  3. The use of icons/emojis to reflect estimations (low, market, aggressive)

Changes in Gas Estimates

What has changed:

After EIP-1559 launched, we’ve been observing the market and adapting our estimations and UI to account for the dramatic price spikes that still exist on the Ethereum Mainnet due to popular NFT drops and other projects. When editing estimations, we have changed terms from low, medium, high to low 🐢, market 🦊 and aggressive 🦍 respectively:

  • “Low“ (previously “Low”): is much lower than market prices and it allows a user to pay a lower fee when they are willing to wait a longer time. It allows you to wait a longer period and skip the price spikes (i.e. save money). Note that this setting is based on past trends, which means we can never be sure the transaction goes through. If you require a transaction to go through, this may not be the right setting for you.
  • “Market“ (previously “Medium”): reflects market prices.
  • “Aggressive“ (previously “High”): is much higher compared to market prices. It allows you to set a really high max fee and priority fee to increase the likelihood of your transaction being successful if you’re expecting to participate in a gas war.
NOTE: As of the rollout of the EIP-1559 updates on Extension, you will have to opt-in to this new experience. You will see a prompt to opt in, but you can also find it under “Settings > Experimental” where you can toggle the button ON:

In the near future we will change this to automatic opt-in.

Why we changed it:

We changed this to be more accurate. Before, "Low", "Medium" and "High" were all variations of "market” prices in a way. Now, there is a bigger difference between the various options, "Market" is the current market price. Low means a "Lower than market" which is not always "slow". "Aggressive” is not just high, but really high compared to market rate.

Gas estimate changes

Gas Estimate Before
Before
Gas Estimate After
After

Changes in Advanced Settings

In our Advanced Settings, we made two changes:

1. MAX BASE FEE AND PRIORITY FEE SIMPLIFICATION

What has changed:

We simplified how to customize the Max Base Fee and the Priority Fee. No more math required to calculate the Max Fee. Hooray!

Why we changed it:

For a few reasons:

  1. The first iteration of our EIP-1559 Advanced Settings UI turned out to be a bit too technical and not necessarily relevant for users. The new experience includes more information so it’s easier to make decisions for your priority fee and max base fee.
  2. We know some users spend time checking gas prices with other services. Now, you no longer need to do this: we added some details below the “Max base fee” and “Priority fee” inputs that help you understand the latest gas status. Below you can find what we added and what it means:
    • Current: Most recent gas fees from the network
    • Arrow: Trend (up or down from last block)
    • 12hrs: The 12 hour range

2. SETTING YOUR ADVANCED SETTINGS AS YOUR DEFAULT SETTINGS

What has changed:

You can now set “Advanced” as your default option and it remembers your last set values to better support users who want to use their custom gas strategy.

Why we changed it:

This change will help people pursuing extreme use cases such as NFT drops, yet still optimizing for the everyday transaction by providing network status, clear inclusion time estimates and max gas fees. For users that are mostly using MetaMask for aggressive asset buying, you can go directly to the advanced gas option each time saving you several clicks.

Advanced Settings changes

Advanced Settings Before
Before
Advanced Settings After
After

The Use of Icons/Emojis to Reflect Gas Estimations (Low, Market, Aggressive)

You will be in good company when setting your Gas Estimations:

  • Low 🐢
  • Market 🦊
  • Aggressive 🦍

General FAQs

What is EIP-1559?
Will EIP-1559 make ETH deflationary?
How much ETH has been burned?
What has changes for me as a user with EIP-1559?
What is the difference in gas fees on L1 vs L2?

Fees

Will EIP-1559 make gas fees cheaper?
How do I set the right gas fee?
Should I edit the gas fee?
How much faster will my transaction go through on EIP-1559?
How is the gas fee calculated?
Are gas fees higher on MetaMask than anywhere else?
How much will the estimated gas fee differ from what I will actually pay?
Should I consider a different approach for setting gas fees for Swaps vs other transactions?
What does base fee/max fee/priority fee/etc. mean?
Since I am setting a “max priority fee,” how can I see the amount that I actually pay for a transaction?
Can I transact without a priority fee (“miner’s tip”)?
Will typical users be selecting the “tip” amount or will that be part of an overall fee preselected for users?
Where can someone see what they paid for a tip/priority fee? Will block explorers like Etherscan now show this information?

Integrations

How does EIP-1559 work with supported hardware wallets on MetaMask?
Is the implementation on a wallet or dapp level? In other words, will all my dapp connections show the new interface in the wallet, or only the dapps who have adopted EIP-1559?

User experience

How else might EIP-1559 change wallet user experience?
Is the user experience going to be different during times of network congestion?

FAQs for developers

What changes for me as a developer with EIP-1559?
How do I implement EIP-1559 with MetaMask for my dapp?
Is the implementation on a user or dapp level? In other words, if I implement EIP-1559, will all my dapp users see the new gas fee settings, or only the users who have agreed to adopt EIP-1559?
Who estimates gas estimates, the dapp or MetaMask?
Are there any potential risks for dapps on Ethereum?
What are the changes my project may need to consider if I haven’t switched over yet?

Glossary

EIP-1559 (Ethereum Improvement Protocol 1559):

This proposal was initially created by Vitalik Buterin with the intent of reducing the cost per transaction by not paying the miners the gas fee that Ethereum users pay by bidding for the gas fee. Ethereum users will now have a more fairly accurate estimate of the average gas price of a transaction based on the network's internal averages. A side effect of a more predictable base fee may lead to some reduction in gas prices if we assume that fee predictability means users will overpay for gas less frequently. For more information about how EIP-1559 will change Ethereum, see here.

Gas fee:
Gas refers to the transaction fee on the Ethereum blockchain. It is what users pay to get their transaction validated, or completed.

MetaMask-specific Gas Estimations:

  • “Low” 🐢: is much lower than market prices and it allows a user to pay a lower fee when they are willing to wait a longer time. It allows you to wait a longer period and skip the price spikes (i.e. save money). This setting is based on past trends, which means we can never be sure the transaction goes through. If you require a transaction to go through, this may not be the right setting for you.
  • “Market” 🦊: reflects market prices.
  • “Aggressive” 🦍: is much higher compared to market prices. It allows you to set a really high max fee and priority fee to increase the likelihood of your transaction being successful if you’re expecting to participate in a gas war.

Base fee:
Generated by the protocol. Represents the minimum gasUsed multiplier required for a transaction to be included in a block (i.e. for a transaction to be completed). This is the part of the transaction fee that is burnt.

Max Priority fee - i.e. Priority fee or the miner’s tip
MetaMask will initially set this amount based on the previous block’s history. However, users will be allowed to to edit this amount within the Advanced Settings. It is added to the transaction and represents the part of the transaction fee that goes to the miner.

Max fee:
MetaMask will initially set this amount based on the previous block’s history. However, users will be allowed to edit this amount within the Advanced Settings. It represents the maximum amount that a user is willing to pay for their transaction (inclusive of base fee and max priority fee). The difference between max fee per gas and base fee + max priority fee is “refunded” to the user.

Gas limit:
The maximum amount of gas units that the transaction may be able to consume.

Gwei:
​​Gwei is a unit of ether, the smallest denomination, which stands for gigawei (or 1,000,000,000).¹ Gwei is used for gas fees, or rather payments made by users to compensate for the computing energy required to process and validate transactions on the Ethereum blockchain.²

Slippage:
Slippage is the expected percentage difference between a quoted and an executed price.

Sources:

  1. https://www.investopedia.com/terms/g/gwei-ethereum.asp