Optimism node API
eth_estimateGas | Optimism
APIs introduction
Ethereum node API
- Getting started | Ethereum
- Enable Debug & Trace APIs for your Ethereum Node
- Ethereum API Postman Collection
- Blocks info | Ethereum
- Transactions info | Ethereum
- Executing transactions | Ethereum
- Debug and Trace | Ethereum
- Chain info | Ethereum
- Gas data | Ethereum
- Accounts info | Ethereum
- Logs & events | Ethereum
- Client information | Ethereum
- Filter handling | Ethereum
- Subscriptions | Ethereum
Ethereum Beacon Chain API
- Getting tarted | Beacon Chain
- Beacon Chain configuration info
- Beacon Chain events
- Beacon Chain validators info
- Beacon Chain state
Polygon node API
- Getting started | Polygon
- Blocks Info | Polygon
- Transactions info | Polygon
- Executing transactions | Polygon
- Debug & Trace | Polygon
- Chain info | Polygon
- Gas data | Polygon
- Accounts info | Polygon
- Logs & events | Polygon
- Filter handling | Polygon
- Client information | Polygon
- Subscriptions | Polygon
BNB node API
- Getting started | BNB Chain
- Endpoints
Base node API
- Getting started | Base
- Endpoints
Avalanche node API
- Getting started | Avalanche
- Blocks Info | Avalanche
- Transactions info | Avalanche
- Executing transactions | Avalanche
- Debug & Trace | Avalanche
- Chain info | Avalanche
- Gas data | Avalanche
- Accounts info | Avalanche
- Logs & events | Avalanche
- Filter handling | Avalanche
- Client information | Avalanche
- Subscriptions | Avalanche
TON node API
- Getting started | TON
- Getting started | TON
- GETgetAddressInformation | TON v2
- GETgetExtendedAddressInformation | TON v2
- GETgetWalletInformation | TON v2
- GETgetTransactions | TON v2
- GETgetAddressBalance | TON v2
- GETgetAddressState | TON v2
- GETpackAddress | TON v2
- GETunpackAddress | TON v2
- GETgetTokenData | TON v2
- GETdetectAddress | TON v2
- GETgetMasterchainInfo | TON v2
- GETgetMasterchainBlockSignatures | TON v2
- GETgetShardBlockProof | TON v2
- GETgetConsensusBlock | TON v2
- GETlookupBlock | TON v2
- GETshards | TON v2
- GETgetBlockTransactions | TON v2
- GETgetBlockTransactionsExt | TON v2
- GETgetBlockHeader | TON v2
- GETtryLocateTx | TON v2
- GETtryLocateResultTx | TON v2
- GETtryLocateSourceTx | TON v2
- GETgetConfigParam | TON v2
- POSTrunGetMethod | TON v2
- GETmasterchainInfo | TON v3
- GETblocks | TON v3
- GETmasterchainBlockShardState | TON v3
- GETaddressBook | TON v3
- GETmasterchainBlockShards | TON v3
- GETtransactions | TON v3
- GETtransactionsByMasterchainBlock | TON v3
- GETtransactionsByMessage | TON v3
- GETadjacentTransactions | TON v3
- GETmessages | TON v3
- GETnft/collections | TON v3
- GETnft/items | TON v3
- GETnft/transfers | TON v3
- GETjetton/masters | TON v3
- GETjetton/wallets | TON v3
- GETjetton/transfers | TON v3
- GETjetton/burns | TON v3
- POSTrunGetMethod | TON v3
- POSTestimateFee | TON v3
- GETaccount | TON v3
- GETwallet | TON v3
Arbitrum node API
- Getting Started | Arbitrum
- Blocks info | Arbitrum
- Transactions info | Arbitrum
- Executing transactions | Arbitrum
- Debug & Trace | Arbitrum
- Chain info | Arbitrum
- Gas data | Arbitrum
- Accounts info | Arbitrum
- Logs & events | Arbitrum
- Filter handling | Arbitrum
- Client information | Arbitrum
- Subscriptions | Arbitrum
Zksync node API
- Getting started | ZKsync
- Getting started | ZKsync
- POSTzks_L1ChainId | zkSync Era
- POSTzks_estimateFee | zkSync Era
- POSTzks_estimateGasL1ToL2 | zkSync Era
- POSTzks_getAllAccountBalances | zkSync Era
- POSTzks_getBlockDetails | zkSync Era
- POSTzks_getBridgeContracts | zkSync Era
- POSTzks_getBytecodeByHash | zkSync Era
- POSTzks_getL1BatchBlockRange | zkSync Era
- POSTzks_getL1BatchDetails | zkSync Era
- POSTzks_getL2ToL1LogProof | zkSync Era
- POSTzks_getMainContract | zkSync Era
- POSTzks_getRawBlockTransactions | zkSync Era
- POSTzks_getTestnetPaymaster | zkSync Era
- POSTzks_getTransactionDetails | zkSync Era
- POSTzks_L1BatchNumber | zkSync Era
Polygon zkEVM node API
- Getting started
- zkEVM methods | Polygon zkEVM
- POSTeth_blockNumber | zkEVM
- POSTeth_getBlockByNumber | zkEVM
- POSTeth_getBlockByHash | zkEVM
- POSTeth_getBlockTransactionCountByNumber | zkEVM
- POSTeth_getBlockTransactionCountByHash | zkEVM
- POSTeth_newBlockFilter | zkEVM
- POSTeth_getTransactionByHash | zkEVM
- POSTeth_getTransactionReceipt | zkEVM
- POSTeth_getTransactionByBlockNumberAndIndex | zkEVM
- POSTeth_getTransactionByBlockHashAndIndex | zkEVM
- POSTeth_newPendingTransactionFilter | zkEVM
- POSTeth_call | zkEVM
- POSTeth_sendRawTransaction | zkEVM
- POSTeth_getBalance | zkEVM
- POSTeth_getCode | zkEVM
- POSTeth_getStorageAt | zkEVM
- POSTeth_getTransactionCount | zkEVM
- POSTeth_chainId | zkEVM
- POSTeth_syncing | zkEVM
- POSTweb3_clientVersion | zkEVM
- POSTeth_estimateGas | zkEVM
- POSTeth_gasPrice | zkEVM
- POSTeth_getLogs | zkEVM
- POSTeth_newFilter | zkEVM
- POSTeth_getFilterChanges | zkEVM
- POSTeth_uninstallFilter | zkEVM
Optimism node API
- Getting started | Optimism
- POSTeth_blockNumber | Optimism
- POSTeth_getBlockByHash | Optimism
- POSTeth_getBlockByNumber | Optimism
- POSTeth_getBlockTransactionCountByHash | Optimism
- POSTeth_getBlockTransactionCountByNumber | Optimism
- POSTeth_getUncleCountByBlockHash | Optimism
- POSTeth_getUncleCountByBlockNumber | Optimism
- POSTeth_getBlockReceipts | Optimism
- POSTeth_chainId | Optimism
- POSTeth_syncing | Optimism
- POSTeth_call | Optimism
- POSTeth_estimateGas | Optimism
- POSTeth_createAccessList | Optimism
- POSTeth_gasPrice | Optimism
- POSTeth_feeHistory | Optimism
- POSTeth_newFilter | Optimism
- POSTeth_newBlockFilter | Optimism
- POSTeth_uninstallFilter | Optimism
- POSTeth_getFilterChanges | Optimism
- POSTeth_getFilterLogs | Optimism
- POSTeth_getLogs | Optimism
- POSTeth_getBalance | Optimism
- POSTeth_getStorageAt | Optimism
- POSTeth_getTransactionCount | Optimism
- POSTeth_getCode | Optimism
- POSTeth_getProof | Optimism
- POSTeth_getTransactionByHash | Optimism
- POSTeth_getRawTransactionByHash | Optimism
- POSTeth_getTransactionByBlockHashAndIndex | Optimism
- POSTeth_getRawTransactionByBlockHashAndIndex | Optimism
- POSTeth_getTransactionByBlockNumberAndIndex | Optimism
- POSTeth_getRawTransactionByBlockNumberAndIndex | Optimism
- POSTeth_getTransactionReceipt | Optimism
- eth_subscribe newHeads | Optimism
- eth_subscribe logs | Optimism
- eth_unsubscribe | Optimism
- POSTeth_maxPriorityFeePerGas | Optimism
- POSTeth_sendRawTransaction | Optimism
- POSTweb3_clientVersion | Optimism
- POSTweb3_sha3 | Optimism
- POSTnet_listening | Optimism
- POSTeth_callMany | Optimism
- POSTdebug_getModifiedAccountsByNumber | Optimism
- POSTdebug_getModifiedAccountsByHash | Optimism
- POSTdebug_storageRangeAt | Optimism
- POSTdebug_traceBlockByHash | Optimism
- POSTdebug_traceBlockByNumber | Optimism
- POSTdebug_traceTransaction | Optimism
- POSTdebug_traceCall | Optimism
- POSTdebug_traceCallMany | Optimism
Aurora node API
- Getting started | Aurora
- POSTeth_blockNumber | Aurora
- POSTeth_getBlockByNumber | Aurora
- POSTeth_getBlockByHash | Aurora
- POSTeth_getBlockTransactionCountByNumber | Aurora
- POSTeth_getBlockTransactionCountByHash | Aurora
- POSTeth_newBlockFilter | Aurora
- POSTeth_getTransactionByHash | Aurora
- POSTeth_getTransactionReceipt | Aurora
- POSTeth_getTransactionByBlockNumberAndIndex | Aurora
- POSTeth_getTransactionByBlockHashAndIndex | Aurora
- POSTeth_newPendingTransactionFilter | Aurora
- POSTeth_call | Aurora
- POSTeth_sendRawTransaction | Aurora
- POSTeth_getBalance | Aurora
- POSTeth_getCode | Aurora
- POSTeth_getStorageAt | Aurora
- POSTeth_getTransactionCount | Aurora
- POSTeth_chainId | Aurora
- POSTeth_syncing | Aurora
- POSTweb3_clientVersion | Aurora
- POSTnet_listening | Aurora
- POSTnet_peerCount | Aurora
- POSTeth_estimateGas | Aurora
- POSTeth_gasPrice | Aurora
- POSTeth_getLogs | Aurora
- POSTeth_newFilter | Aurora
- POSTeth_getFilterChanges | Aurora
- POSTeth_uninstallFilter | Aurora
Solana node API
- Getting started | Solana
- POSTgetAccountInfo | Solana
- POSTgetBalance | Solana
- POSTgetBlockHeight | Solana
- POSTgetBlock | Solana
- POSTgetBlockProduction | Solana
- POSTgetBlockCommitment | Solana
- POSTgetBlocks | Solana
- POSTgetBlocksWithLimit | Solana
- POSTgetBlockTime | Solana
- POSTgetClusterNodes | Solana
- POSTgetEpochInfo | Solana
- POSTgetEpochSchedule | Solana
- POSTgetFeeForMessage | Solana
- POSTgetFirstAvailableBlock | Solana
- POSTgetGenesisHash | Solana
- POSTgetHighestSnapshotSlot | Solana
- POSTgetIdentity | Solana
- POSTgetInflationGovernor | Solana
- POSTgetInflationRate | Solana
- POSTgetInflationReward | Solana
- POSTgetLatestBlockhash | Solana
- POSTgetLeaderSchedule | Solana
- POSTgetMaxRetransmitSlot | Solana
- POSTgetMaxShredInsertSlot | Solana
- POSTgetMinimumBalanceForRentExemption | Solana
- POSTgetMultipleAccounts | Solana
- POSTgetProgramAccounts | Solana
- POSTgetRecentBlockhash | Solana
- POSTgetRecentPerformanceSamples | Solana
- POSTgetRecentPrioritizationFees | Solana
- POSTgetSignaturesForAddress | Solana
- POSTgetSignatureStatuses | Solana
- POSTgetSlot | Solana
- POSTgetSlotLeader | Solana
- POSTgetStakeActivation | Solana
- POSTgetStakeMinimumDelegation | Solana
- POSTgetSupply | Solana
- POSTgetTokenAccountBalance | Solana
- POSTgetTokenAccountsByOwner | Solana
- POSTgetTokenLargestAccounts | Solana
- POSTgetLargestAccounts | Solana
- POSTgetTransaction | Solana
- POSTisBlockhashValid | Solana
- POSTsimulateTransaction | Solana
- logsSubscribe | Solana
- logsUnsubscribe | Solana
- blockSubscribe | Solana
- blockUnsubscribe | Solana
- accountSubscribe | Solana
- accountUnsubscribe | Solana
- programSubscribe | Solana
- programUnsubscribe | Solana
- rootSubscribe | Solana
- rootUnsubscribe | Solana
- signatureSubscribe | Solana
- signatureUnsubscribe | Solana
- slotSubscribe | Solana
- slotUnsubscribe | Solana
- slotsUpdatesSubscribe | Solana
- slotsUpdatesUnsubscribe | Solana
Ronin node API
- Getting started | Ronin
- POSTeth_blockNumber | Ronin
- POSTeth_getBlockByHash | Ronin
- POSTeth_getBlockByNumber | Ronin
- POSTeth_getBlockTransactionCountByHash | Ronin
- POSTeth_getBlockTransactionCountByNumber | Ronin
- POSTeth_newBlockFilter | Ronin
- POSTeth_getTransactionByHash | Ronin
- POSTeth_getTransactionReceipt | Ronin
- POSTeth_getTransactionByBlockHashAndIndex | Ronin
- POSTeth_getTransactionByBlockNumberAndIndex | Ronin
- POSTeth_getFilterChanges | Ronin
- POSTeth_call | Ronin
- POSTeth_sendRawTransaction | Ronin
- POSTdebug_traceBlockByHash | Ronin
- POSTdebug_traceBlockByNumber | Ronin
- POSTdebug_traceTransaction | Ronin
- POSTdebug_traceCall | Ronin
- POSTeth_chainId | Ronin
- POSTeth_syncing | Ronin
- POSTeth_estimateGas | Ronin
- POSTeth_gasPrice | Ronin
- POSTeth_maxPriorityFeePerGas | Ronin
- POSTeth_getTransactionCount | Ronin
- POSTeth_getBalance | Ronin
- POSTeth_getCode | Ronin
- POSTeth_getStorageAt | Ronin
- POSTeth_getLogs | Ronin
- POSTeth_newFilter | Ronin
- POSTweb3_clientVersion | Ronin
- POSTnet_listening | Ronin
- POSTnet_peerCount | Ronin
- POSTeth_getFilterChanges | Ronin
- POSTeth_uninstallFilter | Ronin
- eth_subscribe ("newHeads") | Ronin
- eth_subscribe("newPendingTransactions") | Ronin
- eth_subscribe ("logs") | Ronin
- eth_unsubscribe | Ronin
Gnosis Chain node API
- Getting started | Gnosis
- Beacon Chain | Gnosis
- Blocks info | Gnosis
- Transactions info | Gnosis
- Executing transactions | Gnosis
- Chain info | Gnosis
- Gas data | Gnosis
- Accounts info | Gnosis
- Logs & events | Gnosis
- Filter handling | Gnosis
- Client information | Gnosis
- Subscriptions | Gnosis
Cronos node API
- Getting started | Cronos
- POSTeth_blockNumber | Cronos
- POSTeth_getBlockByNumber | Cronos
- POSTeth_getBlockByHash | Cronos
- POSTeth_getBlockTransactionCountByNumber | Cronos
- POSTeth_getBlockTransactionCountByHash | Cronos
- POSTeth_newBlockFilter | Cronos
- POSTeth_getTransactionByHash | Cronos
- POSTeth_getTransactionReceipt | Cronos
- POSTeth_getTransactionByBlockNumberAndIndex | Cronos
- POSTeth_getTransactionByBlockHashAndIndex | Cronos
- POSTeth_newPendingTransactionFilter | Cronos
- POSTeth_call | Cronos
- POSTeth_sendRawTransaction | Cronos
- POSTeth_getBalance | Cronos
- POSTeth_getCode | Cronos
- POSTeth_getStorageAt | Cronos
- POSTeth_getProof | Cronos
- POSTeth_getTransactionCount | Cronos
- POSTeth_chainId | Cronos
- POSTeth_syncing | Cronos
- POSTweb3_clientVersion | Cronos
- POSTnet_listening | Cronos
- POSTnet_peerCount | Cronos
- POSTeth_estimateGas | Cronos
- POSTeth_gasPrice | Cronos
- POSTeth_maxPriorityFeePerGas | Cronos
- POSTeth_getLogs | Cronos
- POSTeth_newFilter | Cronos
- POSTeth_getFilterChanges | Cronos
- POSTeth_uninstallFilter | Cronos
Fantom node API
- Getting started | Fantom
- POSTeth_blockNumber | Fantom
- POSTeth_getBlockByNumber | Fantom
- POSTeth_getBlockByHash | Fantom
- POSTeth_getBlockTransactionCountByNumber | Fantom
- POSTeth_getBlockTransactionCountByHash | Fantom
- POSTeth_newBlockFilter | Fantom
- POSTeth_getTransactionByHash | Fantom
- POSTeth_getTransactionReceipt | Fantom
- POSTeth_getTransactionByBlockNumberAndIndex | Fantom
- POSTeth_getTransactionByBlockHashAndIndex | Fantom
- POSTeth_newPendingTransactionFilter | Fantom
- POSTeth_call | Fantom
- POSTeth_sendRawTransaction | Fantom
- POSTeth_getBalance | Fantom
- POSTeth_getCode | Fantom
- POSTeth_getStorageAt | Fantom
- POSTeth_getProof | Fantom
- POSTeth_getTransactionCount | Fantom
- POSTeth_chainId | Fantom
- POSTeth_syncing | Fantom
- POSTweb3_clientVersion | Fantom
- POSTnet_listening | Fantom
- POSTnet_peerCount | Fantom
- POSTeth_estimateGas | Fantom
- POSTeth_gasPrice | Fantom
- POSTeth_maxPriorityFeePerGas | Fantom
- POSTeth_getLogs | Fantom
- POSTeth_newFilter | Fantom
- POSTeth_getFilterChanges | Fantom
- POSTeth_uninstallFilter | Fantom
- Custom JS tracer | Fantom
- debug traceBlockByHash | Fantom Chain
- debug traceBlockByNumber | Fantom
- debug traceTransaction | Fantom
- trace block | Fantom
- trace transaction | Fantom
- trace filter | Fantom
- trace get | Fantom
Bitcoin node API
- Bitcoin API reference
- Bitcoin API Postman collection
- POSTgetbestblockhash | Bitcoin
- POSTgetblock | Bitcoin
- POSTgetblockchaininfo | Bitcoin
- POSTgetblockfilter | Bitcoin
- POSTgetblockhash | Bitcoin
- POSTgetblockheader | Bitcoin
- POSTgetblockstats | Bitcoin
- POSTgetchaintips | Bitcoin
- POSTgetchaintxstats | Bitcoin
- POSTgetdifficulty | Bitcoin
- POSTgetmempoolancestors | Bitcoin
- POSTgetmempooldescendants | Bitcoin
- POSTgetmempoolentry | Bitcoin
- POSTgetmempoolinfo | Bitcoin
- POSTgetrawmempool | Bitcoin
- POSTgettxoutsetinfo | Bitcoin
- POSTgettxout | Bitcoin
- POSTverifychain | Bitcoin
- POSTgettxoutproof | Bitcoin
- POSTpreciousblock | Bitcoin
- POSTverifytxoutproof | Bitcoin
- POSTuptime | Bitcoin
- POSTgetmemoryinfo | Bitcoin
- POSTgetrpcinfo | Bitcoin
- POSTgetblocktemplate | Bitcoin
- POSTgetmininginfo | Bitcoin
- POSTgetnetworkhashps | Bitcoin
- POSTprioritisetransaction | Bitcoin
- POSTgetpeerinfo | Bitcoin
- POSTgetnetworkinfo | Bitcoin
- POSTgetconnectioncount | Bitcoin
- POSTgetnettotals | Bitcoin
- POSTlistbanned | Bitcoin
- POSTping | Bitcoin
- POSTgetnodeaddresses | Bitcoin
- POSTdecodescript | Bitcoin
- POSTdecoderawtransaction | Bitcoin
- POSTgetrawtransaction | Bitcoin
- POSTestimatesmartfee | Bitcoin
- POSTvalidateaddress | Bitcoin
Starknet node API
- Getting started | Starknet
- POSTstarknet_call | Starknet
- POSTstarknet_estimateFee | Starknet
- POSTstarknet_estimateMessageFee | Starknet
- POSTstarknet_simulateTransactions | Starknet
- POSTstarknet_traceBlockTransactions | Starknet
- POSTstarknet_getClassHashAt | Starknet
- POSTstarknet_getNonce | Starknet
- POSTstarknet_getStorageAt | Starknet
- POSTstarknet_getTransactionByBlockIdAndIndex | Starknet
- POSTstarknet_getTransactionByHash | Starknet
- POSTstarknet_getClassAt | Starknet
Chainstack platform API
- Getting started
- Quick tutorial
- Organization
- Project
- Network
- Node
- Marketplace
- IPFS storage
- Faucet
Optimism node API
eth_estimateGas | Optimism
POST
/
efb0a5eccd2caa5135eb54eba6f7f300
curl --request POST \
--url https://optimism-mainnet.core.chainstack.com/efb0a5eccd2caa5135eb54eba6f7f300 \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"id": 1,
"params": [
{
"from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"to": "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8"
},
"latest"
]
}'
{
"jsonrpc": "<string>",
"id": 123,
"result": "<string>"
}
eth_estimateGas
RPC Method
The eth_estimateGas
method estimates the amount of gas required to execute a transaction. This is useful for understanding how much gas might be consumed by a transaction before actually sending it. The estimation is not always accurate but provides a good approximation.
Get you own node endpoint today
Start for free and get your app to production levels immediately. No credit card required.
You can sign up with your GitHub, X, Google, or Microsoft account.
Request
To use eth_estimateGas
, send a POST request with a JSON RPC call in the body.
Parameters
A single object containing:
- from (
string
): (optional) The address the transaction is sent from. - to (
string
): The address the transaction is directed to. - gas (
string
): (optional) The gas limit provided by the sender. - gasPrice (
string
): (optional) The gas price for the transaction. - value (
string
): (optional) The value transferred for the transaction in Wei. - data (
string
): (optional) The data sent along with the transaction.
Response
The method returns the estimated gas required as a hexadecimal number.
- result (
string
): The estimated gas required for the transaction.
Use case
The eth_estimateGas
method is essential for:
- Developers to estimate transaction costs before sending them.
- Wallets and interfaces that calculate transaction fees.
- Optimizing smart contract interactions by understanding gas requirements.
Body
application/json
Was this page helpful?
curl --request POST \
--url https://optimism-mainnet.core.chainstack.com/efb0a5eccd2caa5135eb54eba6f7f300 \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"id": 1,
"params": [
{
"from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"to": "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8"
},
"latest"
]
}'
{
"jsonrpc": "<string>",
"id": 123,
"result": "<string>"
}