eth_estimateGas
curl --request POST \
--url https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/ \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"params": [
{
"from": "0x9729187D9E8Bbefa8295F39f5634cA454dd9d294",
"to": "0x20c0000000000000000000000000000000000000",
"data": "0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294"
}
],
"id": 1
}
'import requests
url = "https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/"
payload = {
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"params": [
{
"from": "0x9729187D9E8Bbefa8295F39f5634cA454dd9d294",
"to": "0x20c0000000000000000000000000000000000000",
"data": "0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294"
}
],
"id": 1
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
method: 'eth_estimateGas',
params: [
{
from: '0x9729187D9E8Bbefa8295F39f5634cA454dd9d294',
to: '0x20c0000000000000000000000000000000000000',
data: '0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294'
}
],
id: 1
})
};
fetch('https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'method' => 'eth_estimateGas',
'params' => [
[
'from' => '0x9729187D9E8Bbefa8295F39f5634cA454dd9d294',
'to' => '0x20c0000000000000000000000000000000000000',
'data' => '0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294'
]
],
'id' => 1
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_estimateGas\",\n \"params\": [\n {\n \"from\": \"0x9729187D9E8Bbefa8295F39f5634cA454dd9d294\",\n \"to\": \"0x20c0000000000000000000000000000000000000\",\n \"data\": \"0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294\"\n }\n ],\n \"id\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_estimateGas\",\n \"params\": [\n {\n \"from\": \"0x9729187D9E8Bbefa8295F39f5634cA454dd9d294\",\n \"to\": \"0x20c0000000000000000000000000000000000000\",\n \"data\": \"0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294\"\n }\n ],\n \"id\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_estimateGas\",\n \"params\": [\n {\n \"from\": \"0x9729187D9E8Bbefa8295F39f5634cA454dd9d294\",\n \"to\": \"0x20c0000000000000000000000000000000000000\",\n \"data\": \"0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294\"\n }\n ],\n \"id\": 1\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": "<string>"
}Tempo node API
eth_estimateGas | Tempo
Tempo API method that estimates the gas needed to execute a transaction. On Tempo, gas fees are paid in TIP-20 stablecoins, not a native token.
POST
/
eth_estimateGas
curl --request POST \
--url https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/ \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"params": [
{
"from": "0x9729187D9E8Bbefa8295F39f5634cA454dd9d294",
"to": "0x20c0000000000000000000000000000000000000",
"data": "0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294"
}
],
"id": 1
}
'import requests
url = "https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/"
payload = {
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"params": [
{
"from": "0x9729187D9E8Bbefa8295F39f5634cA454dd9d294",
"to": "0x20c0000000000000000000000000000000000000",
"data": "0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294"
}
],
"id": 1
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
method: 'eth_estimateGas',
params: [
{
from: '0x9729187D9E8Bbefa8295F39f5634cA454dd9d294',
to: '0x20c0000000000000000000000000000000000000',
data: '0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294'
}
],
id: 1
})
};
fetch('https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'method' => 'eth_estimateGas',
'params' => [
[
'from' => '0x9729187D9E8Bbefa8295F39f5634cA454dd9d294',
'to' => '0x20c0000000000000000000000000000000000000',
'data' => '0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294'
]
],
'id' => 1
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_estimateGas\",\n \"params\": [\n {\n \"from\": \"0x9729187D9E8Bbefa8295F39f5634cA454dd9d294\",\n \"to\": \"0x20c0000000000000000000000000000000000000\",\n \"data\": \"0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294\"\n }\n ],\n \"id\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_estimateGas\",\n \"params\": [\n {\n \"from\": \"0x9729187D9E8Bbefa8295F39f5634cA454dd9d294\",\n \"to\": \"0x20c0000000000000000000000000000000000000\",\n \"data\": \"0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294\"\n }\n ],\n \"id\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_estimateGas\",\n \"params\": [\n {\n \"from\": \"0x9729187D9E8Bbefa8295F39f5634cA454dd9d294\",\n \"to\": \"0x20c0000000000000000000000000000000000000\",\n \"data\": \"0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294\"\n }\n ],\n \"id\": 1\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": "<string>"
}Tempo API method that estimates the gas needed to execute a transaction. On Tempo, gas fees are paid in TIP-20 stablecoins, not a native token.
Get your own node endpoint todayStart 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.
Parameters
callObject— the call object:from— (optional) address the transaction is sent fromto— (optional) address the transaction is directed togas— (optional) gas provided for the transactiongasPrice— (optional) gas pricevalue— (optional) value sent with the transactiondata— (optional) hash of the method signature and encoded parameters
Response
result— the estimated gas amount encoded as hexadecimal
eth_estimateGas code examples
const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);
const estimateGas = async () => {
const gas = await provider.estimateGas({
from: "0x9729187D9E8Bbefa8295F39f5634cA454dd9d294",
to: "0x20c0000000000000000000000000000000000000",
data: "0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294"
});
console.log(`Estimated gas: ${gas}`);
};
estimateGas();
from web3 import Web3
node_url = "CHAINSTACK_NODE_URL"
web3 = Web3(Web3.HTTPProvider(node_url))
gas = web3.eth.estimate_gas({
'from': "0x9729187D9E8Bbefa8295F39f5634cA454dd9d294",
'to': "0x20c0000000000000000000000000000000000000",
'data': "0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294"
})
print(f"Estimated gas: {gas}")
curl -X POST "CHAINSTACK_NODE_URL" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"params": [{"from": "0x9729187D9E8Bbefa8295F39f5634cA454dd9d294", "to": "0x20c0000000000000000000000000000000000000", "data": "0x70a082310000000000000000000000009729187d9e8bbefa8295f39f5634ca454dd9d294"}],
"id": 1
}'
Last modified on June 25, 2026
Was this page helpful?
⌘I