eth_getProof

Returns the account and storage values of the specified account including the Merkle-proof. This call can be used to verify that the data you are pulling from is not tampered with.

Parameters

  • DATA, 20 Bytes - address of the account.
  • ARRAY, 32 Bytes - an array of storage-keys that should be proofed and included. See eth_getStorageAt
  • QUANTITY|TAG- integer block number, or the string "latest" or "earliest", see the default block parameter
curl https://ethereum-mainnet-archive.allthatnode.com/8U3JLUhzIDg3GShvy9hkCCSYkLGc11kj \
--request POST \
--header "Content-Type: application/json" \
--data '{
    "jsonrpc":"2.0",
    "id":1,
    "method":"eth_getProof",
    "params":[
        "0x7F0d15C7FAae65896648C8273B6d7E43f58Fa842",
        ["0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"],
        "latest"
    ]
}'

Returns

  • Object - A account object:
    • balance: QUANTITY - the balance of the account. See eth_getBalance.
    • codeHash: DATA, 32 Bytes - hash of the code of the account. For a simple Account without code it will return "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
    • nonce: QUANTITY, - nonce of the account. See eth_getTransactionCount
    • storageHash: DATA, 32 Bytes - SHA3 of the StorageRoot. All storage will deliver a MerkleProof starting with this rootHash.
    • accountProof: ARRAY - Array of rlp-serialized MerkleTree-Nodes, starting with the stateRoot-Node, following the path of the SHA3 (address) as key.
    • storageProof: ARRAY - Array of storage-entries as requested. Each entry is an object with these properties:
      • key: QUANTITY - the requested storage key
      • value: QUANTITY - the storage value
      • proof: ARRAY - Array of rlp-serialized MerkleTree-Nodes, starting with the storageHash-Node, following the path of the SHA3 (key) as path.
{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "address": "0x7f0d15c7faae65896648c8273b6d7e43f58fa842",
        "accountProof": [
            "0xf90211...45780",
            "0xf90211...0ed80",
            "0xf90211...98d80",
            "0xf90211...90880",
            "0xf90211...da680",
            "0xf90211...b1b80",
            "0xf90151...ac780",
            "0xf8669d...db0ac"
        ],
        "balance": "0x0",
        "codeHash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
        "nonce": "0x0",
        "storageHash": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
        "storageProof": [
            {
                "key": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
                "value": "0x0",
                "proof": []
            }
        ]
    }
}


Try Yourself

Language
Click Try It! to start a request and see the response here!