Skip to main content
POST
eth_getProof
Polygon API method eth_getProof returns the Merkle proof for an account and, optionally, for specific storage slots. Clients use it to verify account balances, nonces, contract code hashes, and storage values against a block’s state root without holding the entire state.
Polygon runs on the Bor client. On Bor archive nodes (Bor with the path-based storage scheme), eth_getProof returns proofs only for roughly the latest 128 blocks — historical proof queries are not available.
When called against a block older than the latest ~128 blocks, this method is billed as an archive request (2 RUs instead of 1 RU). See request units.
Get your own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.

Parameters

  • address — the address of the account to prove.
  • storageKeys — an array of 32-byte storage slot keys to prove. Pass an empty array to prove the account only.
  • block — the block number in hexadecimal, or one of earliest, latest, or pending. Defaults to latest.

Response

  • result — an object with the account proof and state values:
    • address — the account address.
    • accountProof — an array of RLP-encoded Merkle-trie nodes proving the account against the block state root.
    • balance — the account balance, in hexadecimal wei.
    • codeHash — the hash of the account’s contract code; for a non-contract (EOA) account this is the Keccak-256 hash of empty code.
    • nonce — the account nonce, in hexadecimal.
    • storageHash — the root hash of the account storage trie.
    • storageProof — an array of objects, one per requested storageKeys entry, each with the key, its value, and the proof (RLP-encoded trie nodes).

Use case

eth_getProof is used by light clients, cross-chain bridges, and auditing tools that need cryptographic proof of an account or storage value at a specific block without syncing the full Polygon state.

Body

application/json
jsonrpc
string
default:2.0
required
method
string
default:eth_getProof
required
id
integer
default:1
required
params
(string | string[])[]
required

Response

200 - application/json

Result

jsonrpc
string
id
integer
result
object
Last modified on July 15, 2026