Skip to content

eth_call: incorrect error message when maxFeePerGas is below block base fee #11177

@svlachakis

Description

@svlachakis

Description

When eth_call is invoked with a maxFeePerGas (or gasPrice) that is lower than the
current block's base fee, Nethermind returns a vague error message "miner premium is negative"
instead of the descriptive Geth-style message that includes the address, the provided fee cap,
and the actual base fee. This makes it harder for callers to understand why the call failed.

Steps to Reproduce

// test_02 — block 0xD59F7F (baseFee ~146.3 gwei)
{
  "jsonrpc": "2.0",
  "method": "eth_call",
  "params": [
    {
      "from": "0xd3181ddbB2CEA7B4954b8D4a05DBf85D8Fc36aef",
      "to": "0xe3782B8688ad2b0D5ba42842d400F7AdF310F88d",
      "gas": "0xDDD2",
      "gasPrice": "0x2098A67800",
      "value": "0x0",
      "data": "0xf242432a..."
    },
    "0xD59F7F"
  ],
  "id": 1
}

Expected (Geth)

{
  "error": {
    "code": -32000,
    "message": "err: max fee per gas less than block base fee: address 0xd3181ddbB2CEA7B4954b8D4a05DBf85D8Fc36aEF, maxFeePerGas: 140000000000, baseFee: 146283608928 (supplied gas 56786)"
  }
}

Actual (Nethermind)

{
  "error": {
    "code": -32000,
    "message": "miner premium is negative"
  }
}

Notes

Same issue reproduces on test_18 with maxFeePerGas: 50 gwei against a block with
baseFee: ~61.5 gwei. The error code -32000 is correct — only the message text differs.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions