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

eth_estimateGas - Sonic

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

This method returns an estimate of the gas required to execute a transaction, without submitting it. The estimate accounts for the current state and is commonly padded before sending.

Parameters

Parameter
Type
Required
Description

transaction

object

Yes

Transaction call object

blockParameter

string

No

Block number in hex, or "latest", "earliest", "pending"

Transaction Object

Field
Type
Required
Description

from

string

No

20-byte sender address

to

string

Yes

20-byte recipient or contract address

gas

string

No

Gas limit for the call (hex)

gasPrice

string

No

Gas price in wei (hex)

value

string

No

Value to send in wei (hex)

data

string

No

Encoded function call data

Request

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

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

console.log(response.data.result);
example.py
import requests

response = requests.post(
    'https://go.getblock.io/<ACCESS-TOKEN>/',
    headers={'Content-Type': 'application/json'},
    json={
        'jsonrpc': '2.0',
        'method': 'eth_estimateGas',
        'params': [{"from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "to": "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38", "value": "0xde0b6b3a7640000"}],
        'id': 'getblock.io'
    }
)

print(response.json())

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 estimated gas units

Use Cases

  • Gas Budgeting: Estimate gas before building a transaction

  • Fee Preview: Show a user the expected cost of an action

  • Revert Detection: Detect a call that would revert before submitting

  • Batch Sizing: Size a batch of operations under the block gas limit

Error Handling

Error Code
Message
Description

-32602

Invalid params

Invalid transaction object or block parameter

-32603

Internal error

Contract execution error

3

Execution reverted

The contract reverted the call

-32000

Execution error

Insufficient gas or other execution failure

Web3 Integration

Last updated

Was this helpful?