eth_getProof on Optimism
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.
Optimism endpoint (keyed — free)
https://rpc.nodeflare.app/op/v1/YOUR_KEYMethod
eth_getProof
Cost
20 CU
Chain ID
10
Block time
~2 s
Finality
~2 s soft · L1-final ~13 min
Accounts & state on Optimism
State reads behave as on Ethereum. The regenesis history (pre-Bedrock, Nov 2021–Jun 2023) means very old state may not be reachable the way recent state is.
Parameters
[address, storageKeys[], blockNumber|tag]cURL
curl https://rpc.nodeflare.app/op/v1/YOUR_KEY \
-X POST \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","method":"eth_getProof","params":["0x0b2c639c533813f4aa9d7837caf62653d097ff85", [], "latest"],"id":1}'The example targets the USDC contract on Optimism — you can run it as-is.
ethers.js
import { ethers } from 'ethers';
const provider = new ethers.JsonRpcProvider(
'https://rpc.nodeflare.app/op/v1/YOUR_KEY'
);
const result = await provider.send('eth_getProof', ["0x0b2c639c533813f4aa9d7837caf62653d097ff85", [], "latest"]);Try it live
Runs the example above against the public Optimism endpoint — straight from your browser.
eth_getProof on Optimism — FAQ
How do I call eth_getProof on Optimism?
POST a JSON-RPC 2.0 request with "method": "eth_getProof" to NodeFlare's Optimism endpoint at https://rpc.nodeflare.app/op/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 Optimism 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 Optimism-specific to know when using eth_getProof?
State reads behave as on Ethereum. The regenesis history (pre-Bedrock, Nov 2021–Jun 2023) means very old state may not be reachable the way recent state is.
Call eth_getProof on Optimism with a free key
2,000,000 compute units/month, heavy methods unlocked, every chain included. No credit card.
Get your free API key →