For the complete documentation index, see llms.txt. This page is also available as Markdown.

eth_estimateGas - Ethereum

Example code for the eth_estimateGas JSON RPC method. Сomplete guide on how to use eth_estimateGas JSON RPC in GetBlock Web3 documentation.

This method returns an estimate of the gas needed to execute a transaction against the current state. It's typically an overestimate — the node runs the transaction and returns the actual gas cost plus a small buffer. Wallets use this to set the gas field before signing and broadcasting.

Parameters

Parameter
Type
Required
Description

transaction

object

Yes

Transaction call object — same shape as eth_call transaction object

blockParameter

string

No

Block number in hex, or latest, earliest, pending, finalized, safe. Defaults to latest

Request

curl --location --request POST 'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "jsonrpc": "2.0",
    "method": "eth_estimateGas",
    "params": [
        {
            "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "to": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
            "value": "0xde0b6b3a7640000"
        }
    ],
    "id": "getblock.io"
}'
example.js
const axios = require('axios');

const response = await axios.post('https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/', {
    jsonrpc: '2.0',
    method: 'eth_estimateGas',
    params: [
        {
            "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "to": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
            "value": "0xde0b6b3a7640000"
        }
    ],
    id: 'getblock.io'
}, {
    headers: { 'Content-Type': 'application/json' }
});

console.log(response.data.result);

Response

Response Parameters

Parameter
Type
Description

jsonrpc

string

JSON-RPC protocol version ("2.0")

id

string

Request identifier matching the request

result

string

Hex-encoded gas estimate (typically slightly higher than actual execution cost)

Use Cases

  • Pre-Send Gas Estimation: Set the gas field on a transaction before signing to avoid out-of-gas failures

  • Transaction Cost Preview: Show users the expected gas cost before they confirm a transaction

  • Contract Interaction Sizing: Estimate gas for arbitrary contract calls to display a fee preview in a dApp UI

  • Revert Detection: A failing gas estimate typically indicates the transaction would revert on-chain

Error Handling

Error Code
Message
Description

-32602

Invalid params

Transaction object is malformed

3

Execution reverted

The transaction would revert — decode the return data to see the reason

-32000

Execution error

Node failed to estimate gas (usually indicates the transaction can't succeed)

Web3 Integration

Last updated

Was this helpful?