Accounts & state20 CUFree key required

eth_getProof on Arbitrum One

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.

Arbitrum One endpoint (keyed — free)

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

Method

eth_getProof

Cost

20 CU

Chain ID

42161

Block time

~250 ms

Finality

<1 s sequencer · L1-final ~13 min

Accounts & state on Arbitrum One

State reads work as on any EVM chain, but remember block numbers move very fast — pin an explicit block number when correlating multiple state reads.

Parameters

[address, storageKeys[], blockNumber|tag]

cURL

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

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

ethers.js

import { ethers } from 'ethers';

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

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

Try it live

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

eth_getProof on Arbitrum One — FAQ

How do I call eth_getProof on Arbitrum One?

POST a JSON-RPC 2.0 request with "method": "eth_getProof" to NodeFlare's Arbitrum One endpoint at https://rpc.nodeflare.app/arb/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 Arbitrum One 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 Arbitrum One-specific to know when using eth_getProof?

State reads work as on any EVM chain, but remember block numbers move very fast — pin an explicit block number when correlating multiple state reads.

Call eth_getProof on Arbitrum One with a free key

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

Get your free API key →