Links

eth_getProof

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

REQUEST

POST https://<network>.infura.io/v3/YOUR-API-KEY

HEADERS

Content-Type: application/json

REQUEST PARAMS

  • address - a string representing the address (20 bytes) to check for balance
  • storageKeys - Array of 32-Byte storage keys to proofed and include
  • blockParameter- a hexadecimal block number, or the string "latest" or"earliest"

EXAMPLE

## JSON-RPC over HTTPS POST
## Replace YOUR-API-KEY with an API key from your Infura Dashboard
## You can also replace mainnet with a different supported network
curl https://mainnet.infura.io/v3/YOUR-API-KEY \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0","method": "eth_getProof","id": 1,"params": ["0x7F0d15C7FAae65896648C8273B6d7E43f58Fa842", ["0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"], "latest"]}'
## JSON-RPC over WSS
## Replace YOUR-API-KEY with an API key from your Infura Dashboard
## You can also replace mainnet with a different supported network
wscat -c wss://mainnet.infura.io/ws/v3/YOUR-API-KEY
>{"jsonrpc":"2.0","method":"eth_getProof","params": ["0x7F0d15C7FAae65896648C8273B6d7E43f58Fa842", ["0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"], "latest"],"id":1}

RESPONSE

RESULT FIELDS

  • balance: hexadecimal of the current balance in wei.
  • codeHash: 32-Byte hash of the code of the account.
  • nonce: nonce of the account.
  • storageHash: 32 Bytes - SHA3 of the StorageRoot. All storage will deliver a Merkle proof starting with this rootHash.
  • accountProof: array of rlp-serialized MerkleTree-Nodes, starting with the stateRoot-Node, following the path of the SHA3 (address) as key.
  • storageProof: array of storage-entries as requested. Each entry is an object with these properties:
    • key: the requested storage key.
    • value: the storage value.
    • proof: array of rlp-serialized MerkleTree-Nodes, starting with the storageHash-Node, following the path of the SHA3 (key) as path.

BODY

{
"id": 1,
"jsonrpc": "2.0",
"result": {
"accountProof": [
"0xf90211a...0701bc80",
"0xf90211a...0d832380",
"0xf90211a...5fb20c80",
"0xf90211a...0675b80",
"0xf90151a0...ca08080"
],
"balance": "0x0",
"codeHash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"nonce": "0x0",
"storageHash": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"storageProof": [
{
"key": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"proof": [
"0xf90211a...0701bc80",
"0xf90211a...0d832380"
],
"value": "0x1"
}
]
}
}