eth_getProof
curl --request POST \
--url https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/ \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getProof",
"params": [
"0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f",
[],
"latest"
]
}
'import requests
url = "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getProof",
"params": ["0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f", [], "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: ['0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f', [], 'latest']
})
};
fetch('https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/', 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://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/",
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' => [
'0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f',
[
],
'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://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getProof\",\n \"params\": [\n \"0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f\",\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://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getProof\",\n \"params\": [\n \"0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f\",\n [],\n \"latest\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/")
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 \"0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f\",\n [],\n \"latest\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": {
"address": "0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f",
"balance": "0x61869834abff6a",
"codeHash": "0x22bcbefe2dacbb6289d731af9eabb98fdfb6480f4c59c9b2f45f574f008ef68f",
"nonce": "0x1",
"storageHash": "0x4efabc865a8e5e15c76df7d2b448237b3f2502b1deb19a3ffaef54bdd4c89034",
"accountProof": [
"0xf90211a09d309a9154545dea04384fb972e15c9701e0d051d056de3918060be663465eb2a0c84911403b5b7852981cb4c3d4ae7599908c45793e95702cd758a94c6eaf5c8ca0a70ce4d0971ccd1aca11a51d1f8fab0b4a4d2b4f703811632120a09037587544a0b450edd3829c37eb8c5b7a6cabe6a2b305f1089c45e3343f86004f518f78bab9a04dca02c9126c77a615f09be644c869a4906e57b2e45c91c1d73b63c68df98e8fa060c29fca7f26ad3f4f461a540f772da308af48d2640b732481255f7ea5ea7af5a04dc48cf78971cf3d47ad786f6eeb30e3f4d006273196b78b44c6d7a8a9ba3e76a0c755c57aac3977e216ef61307d350f2103fadc20668f89b27787ad1fbd9df146a0b6b55e0684ac34aa6da03e5928d86523c29705f2b7b2c907e33cbd8a4dceb051a0ced31f93806bef7e782aff3cc0e2f096c85da74cdc3ea7f8c2c9e1124301e097a0c35febc3bc86ca301feaca60bb5a2c620c94df0ec13bbd3d3dc48834ec0a96a5a063cefcc721708af8e8f2776e7426161820b59f4f4b3693f49334d2609e146031a0a05b5fcab413f8ac990abad0c7f46d23dc9467fab9efbebed2163b070f1fd046a0e1544f9d7a1d36d72e9829684f6e21308432748ae8fc51425012325ec2c38a8fa0d927101426bdebd7b3d73224e7c44fcb998f43b8c7cfb968391e116abe9db6aea09aad537d221ab5bce44a992980da549b528eca812164666c1a72cc7dc4c0c26980",
"0xf90211a074a177ac2c48afdf7a3bca6c4f98a95f35fa2279cfaa1a7c592d1c748aae5d45a077575351397402ab5f78c1e7577a0c92481cb2d26240561c93f038399ce3e7cba0e24a6595ad40c1279b21447dc3fb87318034321f39c2a68010faef9bac2a2feca0045596f3d5bc450bd1d95a95da80aaf74cfd3a365c6845f8f943e24d0615de0ba0aeaf0262e7aa6ba504efba916788bfb8b8691e076ac70b05e760c0f194bbab1aa01e0d63eedccdca3dddccae6fdaa13140799b7ea08ff80902385f71b91bd12bbba0fb63aa089484777ca90f38be541dcf8603e6549f6336c971ffa4ffd997b619f3a02b3e65363e6424e8f8848f34d2527fa606fe356a538ab0150912c70abeebb3f6a0874ac6c15b75a2502d09c4519d0ef8e6e57212a379b64cc757755622207776f9a06e859a18612a2fdaf5403d60a376dd78ec6001e08547069c9e167f29bc598f43a03bec4460c7ddbd1ef23e4ea53c0b0bad14ff8793338ab622828768a54d914f4fa086c63ef666f04709862f7ee778096357a2652938fa9e62e6eff2257fe25a4ec2a0c3ea08e9689b78fd0b701a8d50725243b81ded3d040adcf7c858f0144307c303a0e94092c85b042e528bd225beb8ca09ba6fefdc172087a2c4919b4d187183869ca055834ac54bfd6810d587dadd5496ee5c69942e016ff45e8f913033d2c732b5f3a06914eab8cda79520258c6887d742c248c420672b4da91e0ca7445b9845096e9e80",
"0xf90211a0836df6d2fe4a08d4c505f3c9fcaf99c6054c441bd07b2d14dbacd274f452a9faa080ba571e9c3bc07f8d1150bcf5cfadfdfea5f03e332fc46688114bde606d59eea0f70303b25732f0d83f98e0713c1581c7f79f6df1de442ace9a9be8f3aef284cca0e261660abb8f0e55f12cbcbf3d5d69f910f030c8aa063d78af292254db32f462a0a507c5c6e94380c40f11235c04a6d63583e26fcaf198ded3a2398ebb99bc7660a0cf5c5691fdbfb2959c27d3542fc0cfdbcc3c65f9a02d02cbe3a9a064013b3fd6a0b810e0b9aaef8447409f0eebaa47a72c217865f0e9adb1eae68b57570df81978a0484b7e2f3437c2e7e6da705b948e486b65fbdcc6c2a1836efe69523414b77d20a09b5b038cff017fe755cb961fd3f8fd229bfa6fd783389d7c1490291e96864df9a0e82ae1a3640a330f91ab954e0c2a8197ec4c4ac3a46624c6f7d3ec4b1ec4cb1ba07a00642c30e3948b3865396de1b88f46324f42d84fa9ec050f0f0bee71646734a03f231a3ecfabfca1de6e37f8bb81909b4207fb6f4e3f5b72d15f619caaf38074a06db6fbc415329c64b0f6db63b23b9e0bfad5532727a909a8d5227b74c73c13c0a0da5c6392dcd1f0b8350bee04476bad1b2b1e5202843b01cfd5e443d4f5a1094ba073636c92aa78b1619b26841d93689b548eca246b7b469b9a56e927a9a3134a9aa09f60d16ba873a56721d4d145bf852d6b74b5c10b61646d9cd2cbd7ee46e3f6c180",
"0xf90211a08a315242a5f19e16c7179064573fc4d97e68c547d37af40bc8fa8a45ca95d500a0609a3587057cd1d84bda99c07cc273dde726fb3f2be53fdb7e2d953fa74a8815a0ba7f8cdd259a3395dfbce91ef3df767671a5320fb049472a4262410752a59845a018c0d318cdb5715e90ee795036775670cdbc9a51c891de76fad0a1cba1b9007ea0701d54421d556d988cb5aba1abd3945321fe496b73ea11a02e9228943192edfea026538047d29b7249c6db0ef2aa5663f0973451922bf85b2077626cc5d6f0737fa0fdd86e52344ac3a58765f0f05543197394d6a16ac4a0861dc999582d7a0b9084a051b10f257e6a142b9188912dbeafe2c78627c73146540b21ff20e2a892fa3f36a0e15c5914ff7f10898a9e32f84fc60da3b285f8520f879225210f5f97de4e19cba0d4b3475dd395998c91eece33dc7205d2b9353472e31a6aeae88b0efc7647bdd0a0090aa68d81a03c0820613d49d3c98d552bff60626ae6131ad3de8865e66c53b3a01bd9da11ab260eeac694f979668e53cfa2f47b7cdb16c2559000a19959b8eee2a00c9f8cca52e67b3e19e5f66a0198bf2a2e508ae8734f8cd05d9bd078912015fea0afaf6d8c34afcb6273c3096199c43fb13a839c57fb54e762a7c8162c1246389fa0124a31a03d80c486b51577d0de271faeca329bcf10fa8d273b95697c0ffe1f3ca0cfc767d7b9fc91ee77eff83b7db3b14f186cf9e4c2d7c744fea00250d2415ad480",
"0xf90211a0a0b96fdc5c23891d895f97692bd58369a1d494af5fdd0ac1ced3106b380da1d6a0ff8b200af11d98b316edb53d77d62716f570c5bd39439fbce73ad66f707fb6bca058c745872b3fe9bd5392173f6a1380217f1937f968b18ff51482469cc68a928da04f13ed5e2eadd22df7d8d698ee67c894e2b47b28d6c7d6a7a26a00328be02a29a0c4ed683858d795a60ea880b72dd5f4e6616d218048007d53839c42c94d16a4c0a0ec1d69ed00252a8d832ffc9d57a29eb7b4d315a9a4707643bf51d21a624e02aca0a50a2f4ce8f8937df69ae454f323db36617683204bb94ea9c9ff60b4fc8f3e03a071d19f11c5907fc0115275c3f0b7f5e2775bc9d2301ceb6b9276460719e3d012a0ed5bf1fdbcfbadeecdbac5ac99b94fc34c8be421d65178a6442b0bb03afce8f3a0fd33fbdb63f2f8c711c2ea1bf852147bde065aa43df1d7adf979ca81dbd51716a0f547a4f39fb173cf9566f254c5b070289129d96c7f1d49065fbdcd6db3452424a09d9ca75e710cbe47c4890a342e9aba8bf06a4109c79756c31d12968a4be27aaaa0b909604adbbdcc0aa48b78e9243817149c9f4b38404565458f9011a3cefda011a0e356fcbba8a0276e8ad5eed11e66fec6d957dcd9d232a4e8f4f40c66f5c78feba0b6daa6be49150ec9ee01b2b725010877539d9841dc7d681c26ba0472024103f6a0ef4d5f09ffb9fe8dcc40e7f9ef5bd3bf416085990ec9698e44f451987629ca1480",
"0xf901f1a072c90c85b7e8bf06bd7e315f7a436307498c9895af57ef9afd9f82cecbb05df1a0329dc9f6014a2490c0524c2d69d1a35d7804a568e4478d8a7fb48f4506954638a093702e82c4dce34b04994de4ff8c3600ba4c5c61aec79e9fc11ec2b4781f06c2a015b41c39a428bca50b388ee99754723e658677a0416f3167961fc8ed357b2cfaa02fa177dc0b921847d3d920389708a7c28d3ff534333c597e17f7bc3afdb506c5a08a276a4dde566177c29e17a0075a2d785e4481ff1a802744761502985c12bf76a0d879aeb8118249302d5bbcf8b414ab324277ed81ce9d1c1c45715d0d379191fda0f211b5df8465013413717247d4d3943aed47d67836c5d6f01afff6f7e3d9e705a0c19b12400fe9c1e46df9d989b39d3e62d814d093161a33e82026cf59e16ed6e3a08c4117a49b13cec25bbe327c5b74bbe732bcba2b42a77178f383178f6299b865a0c31c3eafb792e38d58a097491cf48a2737b330ccac9aa5e15f0764b824d1fd46a09be7e64057f45b872b17f01f55c4a17f60013d125c80c81879c556fb81d62500a046a0aaafc10228d7e2d315d7135997f6b2569948ebef175c85abf6ffc0e8e5f8a04ddd085fec81884f7b3ec0a761b8b47470c7ab96f03e1469aa7aef8c2c76df2ea04eac4407b3473e23280b4ac40eb8fdcaa46889a96b397d1a46ef7b6f481235bf8080",
"0xf8d180a043e6860aeb2d3e4ddd4b63a702798470105905472cf510f3d87f3fdfb88461ca80a0319aaf62172100727463502525bcc5c3701aee3cb98ed839a0413ab2cb75790e8080a063e6aa07f945c34e9ba5089e050e166eabeb20a1ceb8d7a2993e489f928b6e75a0800ffaaf1baa86f993c83191fc8a71760e0f95dea3b9ff48df51c33d1a3af062a098623011f631eb069fdb0e505d4f66a2a23bf01c02f17fef452c513250473323808080808080a09de3b71a73edede8cda04e4325d85c3b5552e074a0d889ed92d05fd4d49551b080",
"0xf86d9d35e2220390b07a25c54222039c4fe32abfc4851128cba0d7adb3753b23b84df84b018761869834abff6aa04efabc865a8e5e15c76df7d2b448237b3f2502b1deb19a3ffaef54bdd4c89034a022bcbefe2dacbb6289d731af9eabb98fdfb6480f4c59c9b2f45f574f008ef68f"
],
"storageProof": []
}
}Arc node API
eth_getProof | Arc
Arc API method that returns the Merkle proof for an account and optionally some storage keys. Available on Arc via Chainstack.
POST
/
eth_getProof
curl --request POST \
--url https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/ \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getProof",
"params": [
"0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f",
[],
"latest"
]
}
'import requests
url = "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getProof",
"params": ["0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f", [], "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: ['0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f', [], 'latest']
})
};
fetch('https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/', 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://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/",
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' => [
'0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f',
[
],
'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://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getProof\",\n \"params\": [\n \"0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f\",\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://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getProof\",\n \"params\": [\n \"0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f\",\n [],\n \"latest\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/")
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 \"0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f\",\n [],\n \"latest\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": {
"address": "0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f",
"balance": "0x61869834abff6a",
"codeHash": "0x22bcbefe2dacbb6289d731af9eabb98fdfb6480f4c59c9b2f45f574f008ef68f",
"nonce": "0x1",
"storageHash": "0x4efabc865a8e5e15c76df7d2b448237b3f2502b1deb19a3ffaef54bdd4c89034",
"accountProof": [
"0xf90211a09d309a9154545dea04384fb972e15c9701e0d051d056de3918060be663465eb2a0c84911403b5b7852981cb4c3d4ae7599908c45793e95702cd758a94c6eaf5c8ca0a70ce4d0971ccd1aca11a51d1f8fab0b4a4d2b4f703811632120a09037587544a0b450edd3829c37eb8c5b7a6cabe6a2b305f1089c45e3343f86004f518f78bab9a04dca02c9126c77a615f09be644c869a4906e57b2e45c91c1d73b63c68df98e8fa060c29fca7f26ad3f4f461a540f772da308af48d2640b732481255f7ea5ea7af5a04dc48cf78971cf3d47ad786f6eeb30e3f4d006273196b78b44c6d7a8a9ba3e76a0c755c57aac3977e216ef61307d350f2103fadc20668f89b27787ad1fbd9df146a0b6b55e0684ac34aa6da03e5928d86523c29705f2b7b2c907e33cbd8a4dceb051a0ced31f93806bef7e782aff3cc0e2f096c85da74cdc3ea7f8c2c9e1124301e097a0c35febc3bc86ca301feaca60bb5a2c620c94df0ec13bbd3d3dc48834ec0a96a5a063cefcc721708af8e8f2776e7426161820b59f4f4b3693f49334d2609e146031a0a05b5fcab413f8ac990abad0c7f46d23dc9467fab9efbebed2163b070f1fd046a0e1544f9d7a1d36d72e9829684f6e21308432748ae8fc51425012325ec2c38a8fa0d927101426bdebd7b3d73224e7c44fcb998f43b8c7cfb968391e116abe9db6aea09aad537d221ab5bce44a992980da549b528eca812164666c1a72cc7dc4c0c26980",
"0xf90211a074a177ac2c48afdf7a3bca6c4f98a95f35fa2279cfaa1a7c592d1c748aae5d45a077575351397402ab5f78c1e7577a0c92481cb2d26240561c93f038399ce3e7cba0e24a6595ad40c1279b21447dc3fb87318034321f39c2a68010faef9bac2a2feca0045596f3d5bc450bd1d95a95da80aaf74cfd3a365c6845f8f943e24d0615de0ba0aeaf0262e7aa6ba504efba916788bfb8b8691e076ac70b05e760c0f194bbab1aa01e0d63eedccdca3dddccae6fdaa13140799b7ea08ff80902385f71b91bd12bbba0fb63aa089484777ca90f38be541dcf8603e6549f6336c971ffa4ffd997b619f3a02b3e65363e6424e8f8848f34d2527fa606fe356a538ab0150912c70abeebb3f6a0874ac6c15b75a2502d09c4519d0ef8e6e57212a379b64cc757755622207776f9a06e859a18612a2fdaf5403d60a376dd78ec6001e08547069c9e167f29bc598f43a03bec4460c7ddbd1ef23e4ea53c0b0bad14ff8793338ab622828768a54d914f4fa086c63ef666f04709862f7ee778096357a2652938fa9e62e6eff2257fe25a4ec2a0c3ea08e9689b78fd0b701a8d50725243b81ded3d040adcf7c858f0144307c303a0e94092c85b042e528bd225beb8ca09ba6fefdc172087a2c4919b4d187183869ca055834ac54bfd6810d587dadd5496ee5c69942e016ff45e8f913033d2c732b5f3a06914eab8cda79520258c6887d742c248c420672b4da91e0ca7445b9845096e9e80",
"0xf90211a0836df6d2fe4a08d4c505f3c9fcaf99c6054c441bd07b2d14dbacd274f452a9faa080ba571e9c3bc07f8d1150bcf5cfadfdfea5f03e332fc46688114bde606d59eea0f70303b25732f0d83f98e0713c1581c7f79f6df1de442ace9a9be8f3aef284cca0e261660abb8f0e55f12cbcbf3d5d69f910f030c8aa063d78af292254db32f462a0a507c5c6e94380c40f11235c04a6d63583e26fcaf198ded3a2398ebb99bc7660a0cf5c5691fdbfb2959c27d3542fc0cfdbcc3c65f9a02d02cbe3a9a064013b3fd6a0b810e0b9aaef8447409f0eebaa47a72c217865f0e9adb1eae68b57570df81978a0484b7e2f3437c2e7e6da705b948e486b65fbdcc6c2a1836efe69523414b77d20a09b5b038cff017fe755cb961fd3f8fd229bfa6fd783389d7c1490291e96864df9a0e82ae1a3640a330f91ab954e0c2a8197ec4c4ac3a46624c6f7d3ec4b1ec4cb1ba07a00642c30e3948b3865396de1b88f46324f42d84fa9ec050f0f0bee71646734a03f231a3ecfabfca1de6e37f8bb81909b4207fb6f4e3f5b72d15f619caaf38074a06db6fbc415329c64b0f6db63b23b9e0bfad5532727a909a8d5227b74c73c13c0a0da5c6392dcd1f0b8350bee04476bad1b2b1e5202843b01cfd5e443d4f5a1094ba073636c92aa78b1619b26841d93689b548eca246b7b469b9a56e927a9a3134a9aa09f60d16ba873a56721d4d145bf852d6b74b5c10b61646d9cd2cbd7ee46e3f6c180",
"0xf90211a08a315242a5f19e16c7179064573fc4d97e68c547d37af40bc8fa8a45ca95d500a0609a3587057cd1d84bda99c07cc273dde726fb3f2be53fdb7e2d953fa74a8815a0ba7f8cdd259a3395dfbce91ef3df767671a5320fb049472a4262410752a59845a018c0d318cdb5715e90ee795036775670cdbc9a51c891de76fad0a1cba1b9007ea0701d54421d556d988cb5aba1abd3945321fe496b73ea11a02e9228943192edfea026538047d29b7249c6db0ef2aa5663f0973451922bf85b2077626cc5d6f0737fa0fdd86e52344ac3a58765f0f05543197394d6a16ac4a0861dc999582d7a0b9084a051b10f257e6a142b9188912dbeafe2c78627c73146540b21ff20e2a892fa3f36a0e15c5914ff7f10898a9e32f84fc60da3b285f8520f879225210f5f97de4e19cba0d4b3475dd395998c91eece33dc7205d2b9353472e31a6aeae88b0efc7647bdd0a0090aa68d81a03c0820613d49d3c98d552bff60626ae6131ad3de8865e66c53b3a01bd9da11ab260eeac694f979668e53cfa2f47b7cdb16c2559000a19959b8eee2a00c9f8cca52e67b3e19e5f66a0198bf2a2e508ae8734f8cd05d9bd078912015fea0afaf6d8c34afcb6273c3096199c43fb13a839c57fb54e762a7c8162c1246389fa0124a31a03d80c486b51577d0de271faeca329bcf10fa8d273b95697c0ffe1f3ca0cfc767d7b9fc91ee77eff83b7db3b14f186cf9e4c2d7c744fea00250d2415ad480",
"0xf90211a0a0b96fdc5c23891d895f97692bd58369a1d494af5fdd0ac1ced3106b380da1d6a0ff8b200af11d98b316edb53d77d62716f570c5bd39439fbce73ad66f707fb6bca058c745872b3fe9bd5392173f6a1380217f1937f968b18ff51482469cc68a928da04f13ed5e2eadd22df7d8d698ee67c894e2b47b28d6c7d6a7a26a00328be02a29a0c4ed683858d795a60ea880b72dd5f4e6616d218048007d53839c42c94d16a4c0a0ec1d69ed00252a8d832ffc9d57a29eb7b4d315a9a4707643bf51d21a624e02aca0a50a2f4ce8f8937df69ae454f323db36617683204bb94ea9c9ff60b4fc8f3e03a071d19f11c5907fc0115275c3f0b7f5e2775bc9d2301ceb6b9276460719e3d012a0ed5bf1fdbcfbadeecdbac5ac99b94fc34c8be421d65178a6442b0bb03afce8f3a0fd33fbdb63f2f8c711c2ea1bf852147bde065aa43df1d7adf979ca81dbd51716a0f547a4f39fb173cf9566f254c5b070289129d96c7f1d49065fbdcd6db3452424a09d9ca75e710cbe47c4890a342e9aba8bf06a4109c79756c31d12968a4be27aaaa0b909604adbbdcc0aa48b78e9243817149c9f4b38404565458f9011a3cefda011a0e356fcbba8a0276e8ad5eed11e66fec6d957dcd9d232a4e8f4f40c66f5c78feba0b6daa6be49150ec9ee01b2b725010877539d9841dc7d681c26ba0472024103f6a0ef4d5f09ffb9fe8dcc40e7f9ef5bd3bf416085990ec9698e44f451987629ca1480",
"0xf901f1a072c90c85b7e8bf06bd7e315f7a436307498c9895af57ef9afd9f82cecbb05df1a0329dc9f6014a2490c0524c2d69d1a35d7804a568e4478d8a7fb48f4506954638a093702e82c4dce34b04994de4ff8c3600ba4c5c61aec79e9fc11ec2b4781f06c2a015b41c39a428bca50b388ee99754723e658677a0416f3167961fc8ed357b2cfaa02fa177dc0b921847d3d920389708a7c28d3ff534333c597e17f7bc3afdb506c5a08a276a4dde566177c29e17a0075a2d785e4481ff1a802744761502985c12bf76a0d879aeb8118249302d5bbcf8b414ab324277ed81ce9d1c1c45715d0d379191fda0f211b5df8465013413717247d4d3943aed47d67836c5d6f01afff6f7e3d9e705a0c19b12400fe9c1e46df9d989b39d3e62d814d093161a33e82026cf59e16ed6e3a08c4117a49b13cec25bbe327c5b74bbe732bcba2b42a77178f383178f6299b865a0c31c3eafb792e38d58a097491cf48a2737b330ccac9aa5e15f0764b824d1fd46a09be7e64057f45b872b17f01f55c4a17f60013d125c80c81879c556fb81d62500a046a0aaafc10228d7e2d315d7135997f6b2569948ebef175c85abf6ffc0e8e5f8a04ddd085fec81884f7b3ec0a761b8b47470c7ab96f03e1469aa7aef8c2c76df2ea04eac4407b3473e23280b4ac40eb8fdcaa46889a96b397d1a46ef7b6f481235bf8080",
"0xf8d180a043e6860aeb2d3e4ddd4b63a702798470105905472cf510f3d87f3fdfb88461ca80a0319aaf62172100727463502525bcc5c3701aee3cb98ed839a0413ab2cb75790e8080a063e6aa07f945c34e9ba5089e050e166eabeb20a1ceb8d7a2993e489f928b6e75a0800ffaaf1baa86f993c83191fc8a71760e0f95dea3b9ff48df51c33d1a3af062a098623011f631eb069fdb0e505d4f66a2a23bf01c02f17fef452c513250473323808080808080a09de3b71a73edede8cda04e4325d85c3b5552e074a0d889ed92d05fd4d49551b080",
"0xf86d9d35e2220390b07a25c54222039c4fe32abfc4851128cba0d7adb3753b23b84df84b018761869834abff6aa04efabc865a8e5e15c76df7d2b448237b3f2502b1deb19a3ffaef54bdd4c89034a022bcbefe2dacbb6289d731af9eabb98fdfb6480f4c59c9b2f45f574f008ef68f"
],
"storageProof": []
}
}Arc API method that returns the Merkle proof for an account and optionally some storage keys. This is useful for verifying account state without trusting the node.
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
address— the address to get the proof forstorageKeys— array of storage positions to prove (hex strings)blockParameter— the block number (hex) or tag (latest,earliest,pending)
Response
result— the proof object:address— the account addressaccountProof— array of RLP-encoded Merkle Patricia trie nodes from state root to accountbalance— the account balancecodeHash— the hash of the account codenonce— the account noncestorageHash— the hash of the storage trie rootstorageProof— array of storage proofs, one per requested key:key— the storage keyvalue— the storage valueproof— array of RLP-encoded trie nodes from storage root to value
eth_getProof code examples
const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);
// pathUSD token address
const PATHUSD = "0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f";
const getProof = async () => {
// Get proof for storage slot 0 (often totalSupply)
const proof = await provider.send("eth_getProof", [
PATHUSD,
["0x0", "0x1"],
"latest"
]);
console.log(`Account: ${proof.address}`);
console.log(`Balance: ${proof.balance}`);
console.log(`Nonce: ${parseInt(proof.nonce, 16)}`);
console.log(`Code Hash: ${proof.codeHash}`);
console.log(`Storage Hash: ${proof.storageHash}`);
console.log(`\nAccount Proof nodes: ${proof.accountProof.length}`);
for (const sp of proof.storageProof) {
console.log(`\nStorage Key: ${sp.key}`);
console.log(` Value: ${sp.value}`);
console.log(` Proof nodes: ${sp.proof.length}`);
}
};
getProof();
from web3 import Web3
node_url = "CHAINSTACK_NODE_URL"
web3 = Web3(Web3.HTTPProvider(node_url))
# pathUSD token address
PATHUSD = "0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f"
result = web3.provider.make_request("eth_getProof", [
PATHUSD,
["0x0", "0x1"],
"latest"
])
proof = result['result']
print(f"Account: {proof['address']}")
print(f"Balance: {proof['balance']}")
print(f"Nonce: {int(proof['nonce'], 16)}")
print(f"Code Hash: {proof['codeHash']}")
print(f"Storage Hash: {proof['storageHash']}")
print(f"\nAccount Proof nodes: {len(proof['accountProof'])}")
for sp in proof['storageProof']:
print(f"\nStorage Key: {sp['key']}")
print(f" Value: {sp['value']}")
print(f" Proof nodes: {len(sp['proof'])}")
curl -X POST "CHAINSTACK_NODE_URL" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_getProof",
"params": [
"0xd011948bd0d6d433d4ba6df9dc44eb9a2bfa555f",
["0x0", "0x1"],
"latest"
],
"id": 1
}'
Last modified on August 3, 2026
Was this page helpful?
⌘I