eth_getProof
Last updated:
`eth_getProof` returns a cryptographic proof that an account — and the storage slots you ask for — held specific values at a specific block. The proof is the list of Merkle-Patricia trie nodes from the state root down to the account, and from each storage root down to the requested slot, as standardized in [EIP-1186](https://eips.ethereum.org/EIPS/eip-1186).
Use it when you need to *verify* on-chain state against a trusted block header without trusting the RPC node itself — for example in light clients, L2 fraud/validity proofs, cross-chain bridges, or any system that checks account balances and storage values against a known state root.
This is a `pro`-tier method. It is heavier than ordinary reads, so it carries a lower rate limit than `eth_getBalance` / `eth_getStorageAt`. Request only the storage keys you actually need to verify — every extra key adds another proof branch to compute and return.
Parameters
This method takes no parameters.
Returns
| Field | Type |
|---|---|
| result | object |
Examples
curl https://<your-endpoint>/ \
-X POST -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_getProof","params":[]}'const res = await fetch("https://<your-endpoint>/", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"id": 1,
"method": "eth_getProof",
"params": [],
"jsonrpc": "2.0"
}),
});
const data = await res.json();import requests
resp = requests.post("https://<your-endpoint>/", json={"id":1,"method":"eth_getProof","params":[],"jsonrpc":"2.0"})
print(resp.json())Usage
- Transport: HTTP (JSON-RPC).
- Networks: mainnet.
- Credit cost: 1 per call.
FAQ
- What does eth_getProof do?
- Returns the Merkle-Patricia proof for an account and, optionally, a set of its storage slots at a given block, per EIP-1186.
- How many credits does eth_getProof cost?
- eth_getProof costs 1 credit(s) per call on Triport by default.
- Is eth_getProof available over WebSocket?
- eth_getProof is an HTTP JSON-RPC method.