eth_estimateGas
Generates and returns an estimate of how much gas is necessary to allow the transaction to complete. The transaction will not be added to the blockchain.
Parameters
Section titled “Parameters”-
Object— Transaction call object (same aseth_call):Field Type Required Description from DATA No Sender address to DATA No Recipient address gas QUANTITY No Gas limit gasPrice QUANTITY No Gas price value QUANTITY No Value in wei data DATA No Call data -
QUANTITY|TAG— (Optional) Block number, or"latest".
Returns
Section titled “Returns”QUANTITY — The estimated amount of gas.
Request
Section titled “Request”curl -X POST https://eth-mainnet.blockreq.com/v1/rpc/public \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "eth_estimateGas", "params": [{ "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "value": "0x0", "data": "0xa9059cbb0000000000000000000000001234567890abcdef1234567890abcdef1234567800000000000000000000000000000000000000000000000000000000000f4240" }], "id": 1 }'Response
Section titled “Response”{ "jsonrpc": "2.0", "id": 1, "result": "0xc350"}Code Examples
Section titled “Code Examples”JavaScript (ethers.js v6)
Section titled “JavaScript (ethers.js v6)”import { JsonRpcProvider } from "ethers";const provider = new JsonRpcProvider("https://eth-mainnet.blockreq.com/v1/rpc/YOUR_API_KEY");const gas = await provider.estimateGas({ to: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", data: "0xa9059cbb..."});console.log("Estimated gas:", gas.toString());Python (web3.py)
Section titled “Python (web3.py)”from web3 import Web3w3 = Web3(Web3.HTTPProvider("https://eth-mainnet.blockreq.com/v1/rpc/YOUR_API_KEY"))gas = w3.eth.estimate_gas({ "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "data": "0xa9059cbb..."})print(f"Estimated gas: {gas}")RU Cost
Section titled “RU Cost”| Method | Cost |
|---|---|
| eth_estimateGas | 20 RU |