EVM Network Fee Management
Ethereum Improvement Proposal 1559 (EIP-1559) was introduced to enhance Ethereum's transaction fee structure, aiming to stabilize transaction costs and improve network efficiency. Implemented as part of the London Hard Fork in August 2021, EIP-1559 revamped the traditional auction-style gas fee model, replacing it with a base fee mechanism that adjusts dynamically based on network demand. This base fee is burned (removed from circulation), reducing ETH supply and introducing a deflationary effect, while an optional "tip" incentivizes miners.
For decentralized finance (DeFi) software, EIP-1559 has provided more predictable transaction fees, improving user experience and enabling more efficient budgeting for gas costs across DeFi protocols. This update is instrumental in reducing fee volatility, encouraging broader adoption, and laying groundwork for Ethereum's scalability roadmap.
The Komodo Defi Framework allows users to benefit from this improvement with cheaper fees on EMV networks like Ethereum and Polygon.
For more information about EIP1559, refer to https://www.blocknative.com/blog/eip-1559-fees
-
Get estimated fee per gas for an EVM coin/token get_eth_estimated_fee_per_gas.
-
Get swap transaction fee policy for an EVM coin/token get_swap_transaction_fee_policy.
-
Set swap transaction fee policy for an EVM coin/token set_swap_transaction_fee_policy.
-
Start tracking the fee market for an EVM coin/token start_eth_fee_estimator.
-
Stop tracking the fee market for an EVM coin/token stop_eth_fee_estimator.
There is also a new gas_fee_estimator
parameter in the coins file, which can be set to provider
or simple
.
By default, simple
gas fee estimation suggests a fee based on fee history. If set gas_fee_estimator
is set to provider
, users must set the gas_api
setting in their MM2.json file to source recommended fee values from third party providers Infura or Blocknative.
Below is an example of the information required in EVM token configurations in your coins
file.
{
"coin": "1INCH-BEP20",
"name": "1inch_bep20",
"fname": "1Inch",
"rpcport": 80,
"mm2": 1,
"chain_id": 56,
"avg_blocktime": 3,
"required_confirmations": 3,
"protocol": {
"type": "ERC20",
"protocol_data": {
"platform": "BNB",
"contract_address": "0x111111111117dC0aa78b770fA6A738034120C302"
}
},
"derivation_path": "m/44'/60'",
"use_access_list": true,
"max_eth_tx_type": 2,
"gas_fee_estimator": "provider",
"gas_limit": {
"eth_send_erc20": 60000,
"erc20_payment": 110000,
"erc20_receiver_spend": 85000,
"erc20_sender_refund": 85000
}
}
For EIP1559 features, a coin/token's config needs to include the chain_id
(sourced from chainlist.org) and max_eth_tx_type
(set to 2
if compatible) fields.
The gas_limit
object values in your coins
file will set the default limits in both Legacy
and Eip1559
fee configs.
If gas_fee_estimator
is set to provider
, you'll also need to add the gas_api
parameter to your MM2.json configuration file:
{
"netid": 8762,
"rpcport": 8777,
...
"gas_api": {
"provider": "blocknative",
"url": https://your-provider-url.com
}
}
The currently available third party providers Infura or Blocknative.