eth_simulateV1
curl --request POST \
--url https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085 \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_simulateV1",
"params": [
{
"blockStateCalls": [
{
"calls": [
{
"to": "0x0000000000000000000000000000000000000000"
}
]
}
]
},
"latest"
]
}
'import requests
url = "https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_simulateV1",
"params": [{ "blockStateCalls": [{ "calls": [{ "to": "0x0000000000000000000000000000000000000000" }] }] }, "latest"]
}
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_simulateV1',
params: [
{
blockStateCalls: [{calls: [{to: '0x0000000000000000000000000000000000000000'}]}]
},
'latest'
]
})
};
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_simulateV1',
'params' => [
[
'blockStateCalls' => [
[
'calls' => [
[
'to' => '0x0000000000000000000000000000000000000000'
]
]
]
]
],
'latest'
]
]),
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_simulateV1\",\n \"params\": [\n {\n \"blockStateCalls\": [\n {\n \"calls\": [\n {\n \"to\": \"0x0000000000000000000000000000000000000000\"\n }\n ]\n }\n ]\n },\n \"latest\"\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_simulateV1\",\n \"params\": [\n {\n \"blockStateCalls\": [\n {\n \"calls\": [\n {\n \"to\": \"0x0000000000000000000000000000000000000000\"\n }\n ]\n }\n ]\n },\n \"latest\"\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_simulateV1\",\n \"params\": [\n {\n \"blockStateCalls\": [\n {\n \"calls\": [\n {\n \"to\": \"0x0000000000000000000000000000000000000000\"\n }\n ]\n }\n ]\n },\n \"latest\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}Plasma node API
eth_simulateV1 | Plasma
Plasma API method that simulates transaction execution. eth_simulateV1 JSON-RPC method available on the Plasma blockchain via Chainstack.
POST
/
be84184cd12967be5a65d06651c60085
eth_simulateV1
curl --request POST \
--url https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085 \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_simulateV1",
"params": [
{
"blockStateCalls": [
{
"calls": [
{
"to": "0x0000000000000000000000000000000000000000"
}
]
}
]
},
"latest"
]
}
'import requests
url = "https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_simulateV1",
"params": [{ "blockStateCalls": [{ "calls": [{ "to": "0x0000000000000000000000000000000000000000" }] }] }, "latest"]
}
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_simulateV1',
params: [
{
blockStateCalls: [{calls: [{to: '0x0000000000000000000000000000000000000000'}]}]
},
'latest'
]
})
};
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_simulateV1',
'params' => [
[
'blockStateCalls' => [
[
'calls' => [
[
'to' => '0x0000000000000000000000000000000000000000'
]
]
]
]
],
'latest'
]
]),
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_simulateV1\",\n \"params\": [\n {\n \"blockStateCalls\": [\n {\n \"calls\": [\n {\n \"to\": \"0x0000000000000000000000000000000000000000\"\n }\n ]\n }\n ]\n },\n \"latest\"\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_simulateV1\",\n \"params\": [\n {\n \"blockStateCalls\": [\n {\n \"calls\": [\n {\n \"to\": \"0x0000000000000000000000000000000000000000\"\n }\n ]\n }\n ]\n },\n \"latest\"\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_simulateV1\",\n \"params\": [\n {\n \"blockStateCalls\": [\n {\n \"calls\": [\n {\n \"to\": \"0x0000000000000000000000000000000000000000\"\n }\n ]\n }\n ]\n },\n \"latest\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}Plasma API method that simulates transaction execution.
Parameters
object— the simulation configuration objectquantity or tag— the block number in hex format or block tag (latest,earliest,pending,safe,finalized)
Response
object— the simulation result
eth_simulateV1 code examples
const { JsonRpcProvider } = require("ethers");
const provider = new JsonRpcProvider("CHAINSTACK_NODE_URL");
async function call() {
const result = await provider.send("eth_simulateV1", []);
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_simulateV1",
"params": [],
"id": 1
}'
Last modified on July 7, 2026
Was this page helpful?
⌘I