Skip to main content

0.01 credits per call

eth_getProof on Ethereum: Returns the Merkle proof for an account and storage slots.

Endpoint

https://rpc.goldrushdata.com/v1/eth-mainnet
Authenticate with Authorization: Bearer <GOLDRUSH_API_KEY>. See authentication.

Parameters

NameTypeRequiredDescriptionExample
addressDATA, 20 bytesyesAddress to prove."0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
storageKeysArray<DATA, 32 bytes>yesArray of storage keys to include in the proof.["0x0000000000000000000000000000000000000000000000000000000000000000"]
blockTagQUANTITY | TAGyesBlock number (hex) or block tag."latest"

Returns

Object: {address, accountProof[], balance, codeHash, nonce, storageHash, storageProof[]}
{"address":"0xa0b86991...","balance":"0x0","accountProof":["0xf90211..."]}

Examples

curl https://rpc.goldrushdata.com/v1/eth-mainnet \
  -H "Authorization: Bearer $GOLDRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "eth_getProof",
    "params": ["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", ["0x0000000000000000000000000000000000000000000000000000000000000000"], "latest"]
  }'
import { ethers } from "ethers";

const url = "https://rpc.goldrushdata.com/v1/eth-mainnet";
const fetchReq = new ethers.FetchRequest(url);
fetchReq.setHeader("Authorization", `Bearer ${process.env.GOLDRUSH_API_KEY}`);

const provider = new ethers.JsonRpcProvider(fetchReq);
const result = await provider.send("eth_getProof", ["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", ["0x0000000000000000000000000000000000000000000000000000000000000000"], "latest"]);
console.log(result);
import { createPublicClient, http } from "viem";

const client = createPublicClient({
  transport: http("https://rpc.goldrushdata.com/v1/eth-mainnet", {
    fetchOptions: {
      headers: {
        Authorization: `Bearer ${process.env.GOLDRUSH_API_KEY}`,
      },
    },
  }),
});

const result = await client.request({
  method: "eth_getProof",
  params: ["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", ["0x0000000000000000000000000000000000000000000000000000000000000000"], "latest"],
});
console.log(result);
import { Web3 } from "web3";

const provider = new Web3.providers.HttpProvider(
  "https://rpc.goldrushdata.com/v1/eth-mainnet",
  {
    headers: [
      { name: "Authorization", value: `Bearer ${process.env.GOLDRUSH_API_KEY}` },
    ],
  }
);
const web3 = new Web3(provider);

const result = await web3.currentProvider.request({
  method: "eth_getProof",
  params: ["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", ["0x0000000000000000000000000000000000000000000000000000000000000000"], "latest"],
});
console.log(result);
from os import environ
from web3 import Web3

w3 = Web3(Web3.HTTPProvider(
    "https://rpc.goldrushdata.com/v1/eth-mainnet",
    request_kwargs={
        "headers": {
            "Authorization": f"Bearer {environ['GOLDRUSH_API_KEY']}",
        },
    },
))
result = w3.manager.request_blocking("eth_getProof", ["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", ["0x0000000000000000000000000000000000000000000000000000000000000000"], "latest"])
print(result)

Errors

Standard JSON-RPC errors: -32600 invalid request, -32601 method not found, -32602 invalid params.

Also available on