eth_getProof
curl --request POST \
--url https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085 \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getProof",
"params": [
"0x0000000000000000000000000000000000000000",
[],
"latest"
]
}
'import requests
url = "https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getProof",
"params": ["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_getProof',
params: ['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_getProof',
'params' => [
'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_getProof\",\n \"params\": [\n \"0x0000000000000000000000000000000000000000\",\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_getProof\",\n \"params\": [\n \"0x0000000000000000000000000000000000000000\",\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_getProof\",\n \"params\": [\n \"0x0000000000000000000000000000000000000000\",\n [],\n \"latest\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}Plasma node API
eth_getProof | Plasma
Plasma API method that returns the account and storage values including the Merkle-proof. Available on Plasma via Chainstack JSON-RPC nodes.
POST
/
be84184cd12967be5a65d06651c60085
eth_getProof
curl --request POST \
--url https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085 \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getProof",
"params": [
"0x0000000000000000000000000000000000000000",
[],
"latest"
]
}
'import requests
url = "https://plasma-mainnet.core.chainstack.com/be84184cd12967be5a65d06651c60085"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getProof",
"params": ["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_getProof',
params: ['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_getProof',
'params' => [
'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_getProof\",\n \"params\": [\n \"0x0000000000000000000000000000000000000000\",\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_getProof\",\n \"params\": [\n \"0x0000000000000000000000000000000000000000\",\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_getProof\",\n \"params\": [\n \"0x0000000000000000000000000000000000000000\",\n [],\n \"latest\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}Plasma API method that returns the account and storage values including the Merkle-proof.
Parameters
address— the address of the accountarray— an array of storage keys to generate proofs forquantity or tag— the block number in hex format or block tag (latest,earliest,pending,safe,finalized)
Response
object— account object with balance, codeHash, nonce, storageHash, accountProof, and storageProof
eth_getProof code examples
const { JsonRpcProvider } = require("ethers");
const provider = new JsonRpcProvider("CHAINSTACK_NODE_URL");
async function call() {
const result = await provider.send("eth_getProof", []);
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_getProof",
"params": [],
"id": 1
}'
Body
application/json
Last modified on July 7, 2026
Was this page helpful?
⌘I