> ## Documentation Index
> Fetch the complete documentation index at: https://chainstack-docs-polygon-flatcalltracer-getproof.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# eth_getProof | Polygon

> Polygon API method eth_getProof returns the account and storage Merkle proof for an address, letting clients verify state without the full chain. On Polygon via Chainstack.

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.

<Warning>
  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.
</Warning>

<Note>
  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](/docs/request-units#archive-state-methods).
</Note>

## 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.


## OpenAPI

````yaml openapi/polygon_node_api/account_info/eth_getProof.json POST /a9bca2f0f84b54086ceebe590316fff3
openapi: 3.0.0
info:
  title: eth_getProof example
  version: 1.0.0
  description: >-
    Get the account and storage values of the specified account including the
    Merkle proof.
servers:
  - url: https://nd-828-700-214.p2pify.com
security: []
paths:
  /a9bca2f0f84b54086ceebe590316fff3:
    post:
      tags:
        - Ethereum Operations
      summary: eth_getProof
      operationId: eth_getProof
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - method
                - id
                - params
              properties:
                jsonrpc:
                  type: string
                  default: '2.0'
                method:
                  type: string
                  default: eth_getProof
                id:
                  type: integer
                  default: 1
                params:
                  type: array
                  default:
                    - '0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270'
                    - []
                    - latest
                  items:
                    oneOf:
                      - type: string
                      - type: array
                        items:
                          type: string
      responses:
        '200':
          description: Result
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                  id:
                    type: integer
                  result:
                    type: object
                    properties:
                      address:
                        type: string
                      accountProof:
                        type: array
                        items:
                          type: string
                      balance:
                        type: string
                      codeHash:
                        type: string
                      nonce:
                        type: string
                      storageHash:
                        type: string
                      storageProof:
                        type: array
                        items:
                          type: object
                          properties:
                            key:
                              type: string
                            value:
                              type: string
                            proof:
                              type: array
                              items:
                                type: string

````