Accounts & state20 CUFree key required

eth_getProof on Ethereum

Returns the account and storage Merkle-Patricia proofs for an address — used by light clients and cross-chain bridges to verify state against a block's state root. A heavy method: needs a free API key.

The primitive behind trustless bridges and light clients: the returned proofs verify against a block's stateRoot with no trust in the RPC. Historical blocks need archive state, which is why it's key-gated.

Ethereum endpoint (keyed — free)

https://rpc.nodeflare.app/eth/v1/YOUR_KEY

Method

eth_getProof

Cost

20 CU

Chain ID

1

Block time

~12 s

Finality

~13 min (finalized)

Accounts & state on Ethereum

Ethereum state is the largest of any EVM chain. Reads default to the latest block; pass an explicit block tag for point-in-time reads, and expect deep-historical state queries to be slower than near-head ones.

Parameters

[address, storageKeys[], blockNumber|tag]

cURL

curl https://rpc.nodeflare.app/eth/v1/YOUR_KEY \
  -X POST \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","method":"eth_getProof","params":["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", [], "latest"],"id":1}'

The example targets the USDC contract on Ethereum — you can run it as-is.

ethers.js

import { ethers } from 'ethers';

const provider = new ethers.JsonRpcProvider(
  'https://rpc.nodeflare.app/eth/v1/YOUR_KEY'
);

const result = await provider.send('eth_getProof', ["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", [], "latest"]);

Try it live

Runs the example above against the public Ethereum endpoint — straight from your browser.

eth_getProof on Ethereum — FAQ

How do I call eth_getProof on Ethereum?

POST a JSON-RPC 2.0 request with "method": "eth_getProof" to NodeFlare's Ethereum endpoint at https://rpc.nodeflare.app/eth/v1/YOUR_KEY. This method requires a free API key — it is not available on the public endpoint.

What does eth_getProof cost on the free tier?

eth_getProof is weighted at 20 compute units per call. The free tier includes 2,000,000 CU/month, so that is roughly 100,000 eth_getProof calls per month — no credit card.

Is eth_getProof available on the public Ethereum endpoint?

No. eth_getProof is a heavy method and requires a free API key. The public no-key endpoint serves standard read methods; create a free key to unlock eth_getProof, eth_getLogs, trace_* and debug_*.

Anything Ethereum-specific to know when using eth_getProof?

Ethereum state is the largest of any EVM chain. Reads default to the latest block; pass an explicit block tag for point-in-time reads, and expect deep-historical state queries to be slower than near-head ones.

Call eth_getProof on Ethereum with a free key

2,000,000 compute units/month, heavy methods unlocked, every chain included. No credit card.

Get your free API key →