{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "eth_getProof",
  "params": [
    "0x407d73d8a49eeb85d32cf465507dd71d507100c1",
    ["0x0000000000000000000000000000000000000000000000000000000000000000"],
    "latest"
  ]
}
{
  "id": 1,
  "jsonrpc": "2.0",
  "result": {
    "address": "0x407d73d8a49eeb85d32cf465507dd71d507100c1",
    "accountProof": [
      "0xf90211a0...",
      "0xf90211a0..."
    ],
    "balance": "0x0",
    "codeHash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
    "nonce": "0x0",
    "storageHash": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "storageProof": [
      {
        "key": "0x0000000000000000000000000000000000000000000000000000000000000000",
        "value": "0x0",
        "proof": [
          "0xf90211a0..."
        ]
      }
    ]
  }
}

Defined in the Ethereum JSON-RPC Specification

Returns the account and storage values of the specified account including the Merkle-proof.

Parameters

address
string
required

The address of the account (20 bytes).

storageKeys
array
required

Array of storage-keys which should be proofed and included.

blockParameter
string
required

Integer block number, or the string “latest”, “earliest” or “pending”.

Returns

result
object

The proof object containing account and storage proofs.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "eth_getProof",
  "params": [
    "0x407d73d8a49eeb85d32cf465507dd71d507100c1",
    ["0x0000000000000000000000000000000000000000000000000000000000000000"],
    "latest"
  ]
}
{
  "id": 1,
  "jsonrpc": "2.0",
  "result": {
    "address": "0x407d73d8a49eeb85d32cf465507dd71d507100c1",
    "accountProof": [
      "0xf90211a0...",
      "0xf90211a0..."
    ],
    "balance": "0x0",
    "codeHash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
    "nonce": "0x0",
    "storageHash": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "storageProof": [
      {
        "key": "0x0000000000000000000000000000000000000000000000000000000000000000",
        "value": "0x0",
        "proof": [
          "0xf90211a0..."
        ]
      }
    ]
  }
}

Error Handling

CodeMessageDescription
-32602Invalid parametersInvalid address, storage keys, or block parameter
4100Requested method not supportedThe method is not supported by the wallet

This method is useful for verifying account states and storage values using Merkle proofs without trusting the provider.