Accounts & state20 CUFree key required

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_KEY

Method

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 →