eth_estimateGas
curl --request POST \
--url https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085 \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"params": [
{
"to": "0x0000000000000000000000000000000000000000"
}
]
}
'import requests
url = "https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"params": [{ "to": "0x0000000000000000000000000000000000000000" }]
}
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({
id: 1,
jsonrpc: '2.0',
method: 'eth_estimateGas',
params: [{to: '0x0000000000000000000000000000000000000000'}]
})
};
fetch('https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085', 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://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085",
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([
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'eth_estimateGas',
'params' => [
[
'to' => '0x0000000000000000000000000000000000000000'
]
]
]),
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://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_estimateGas\",\n \"params\": [\n {\n \"to\": \"0x0000000000000000000000000000000000000000\"\n }\n ]\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://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_estimateGas\",\n \"params\": [\n {\n \"to\": \"0x0000000000000000000000000000000000000000\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085")
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 \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_estimateGas\",\n \"params\": [\n {\n \"to\": \"0x0000000000000000000000000000000000000000\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}Plasma node API
eth_estimateGas | Plasma
Plasma API method that generates and returns an estimate of how much gas is necessary for the transaction to complete. Plasma via Chainstack.
POST
/
be84184cd12967be5a65d06651c60085
eth_estimateGas
curl --request POST \
--url https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085 \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"params": [
{
"to": "0x0000000000000000000000000000000000000000"
}
]
}
'import requests
url = "https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"params": [{ "to": "0x0000000000000000000000000000000000000000" }]
}
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({
id: 1,
jsonrpc: '2.0',
method: 'eth_estimateGas',
params: [{to: '0x0000000000000000000000000000000000000000'}]
})
};
fetch('https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085', 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://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085",
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([
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'eth_estimateGas',
'params' => [
[
'to' => '0x0000000000000000000000000000000000000000'
]
]
]),
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://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_estimateGas\",\n \"params\": [\n {\n \"to\": \"0x0000000000000000000000000000000000000000\"\n }\n ]\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://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_estimateGas\",\n \"params\": [\n {\n \"to\": \"0x0000000000000000000000000000000000000000\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085")
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 \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_estimateGas\",\n \"params\": [\n {\n \"to\": \"0x0000000000000000000000000000000000000000\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}Plasma API method that generates and returns an estimate of how much gas is necessary for the transaction to complete.
Parameters
object— the transaction call object with fields likefrom,to,gas,gasPrice,value,data
Response
quantity— the amount of gas used
eth_estimateGas code examples
const { JsonRpcProvider } = require("ethers");
const provider = new JsonRpcProvider("CHAINSTACK_NODE_URL");
async function call() {
const result = await provider.send("eth_estimateGas", [
{
to: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e"
}
]);
console.log(result);
}
call();
from web3 import Web3
node_url = "CHAINSTACK_NODE_URL"
web3 = Web3(Web3.HTTPProvider(node_url))
# Make the call
# Add your parameters here
# result = web3.eth.<method_name>(...)
print(result)
curl -X POST "CHAINSTACK_NODE_URL" \
-H "Content-Type: application/json" \
--data '{
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"params": [],
"id": 1
}'
Last modified on July 7, 2026
Was this page helpful?
⌘I