On this page

latest contributor to this doc

Last Edit:

@smk762

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

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.