eth_estimateGas - zkSync
Example code for the eth_estimateGas JSON-RPC method. Сomplete guide on how to use eth_estimateGas JSON-RPC in GetBlock.io Web3 documentation.
Estimates the gas required to execute a transaction. zkSync's fee model includes both compute and pubdata components — zks_estimateFee Returns a more detailed breakdown.
Parameters
callObject
object
Yes
Transaction-shaped object with to, data, and optional from, value
blockParameter
string
No
Optional block parameter (default: "latest")
Request Example
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": "0x36615cf349d7f6344891b1e7ca7c72883f5dc049",
"to": "0xd85498dbeaeb1df24be52eed4f52eac2fbd56245",
"value": "0x16345785d8a0000"
}
],
"id": "getblock.io"
}'import axios from 'axios';
const data = JSON.stringify({
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"params": [
{
"from": "0x36615cf349d7f6344891b1e7ca7c72883f5dc049",
"to": "0xd85498dbeaeb1df24be52eed4f52eac2fbd56245",
"value": "0x16345785d8a0000"
}
],
"id": "getblock.io"
});
const config = {
method: 'post',
url: 'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/',
headers: {
'Content-Type': 'application/json'
},
data: data
};
axios(config)
.then(response => console.log(JSON.stringify(response.data, null, 2)))
.catch(error => console.log(error));Response Example
Response Parameters
result
string
Estimated gas units required (hex)
Use Cases
Setting an appropriate gas limit before signing a transaction
Showing users an estimated cost in wallet UIs
Detecting transactions that would revert (estimate fails)
Error Handling
403
Forbidden
Missing or invalid <ACCESS-TOKEN>
-32602
Invalid params
Request parameters are missing or malformed
429
Too Many Requests
Rate limit exceeded for your plan
-32000
Execution reverted
Transaction would revert; estimate cannot be returned
3
Insufficient fund
Low fund for gas and value
SDK Integration
Last updated
Was this helpful?