Payload Examples

Here are 4 different sample batch query payloads for Header Access, Account Access, Account Storage Access, and an additional example. Let's go through each of them:

Header Access

{
  "destinationChainId": "SN_SEPOLIA",
  "fee": "0",
  "data": {
    "11155111": {
      "block:5856869": {
        "header": [
          "STATE_ROOT",
          "TIMESTAMP",
          "BLOCK_NUMBER",
          "GAS_LIMIT",
          "GAS_USED"
        ]
      }
    }
  }
}

This query is requesting specific header information from block 5856869 on the Sepolia testnet (chain ID 11155111). It's asking for the state root, timestamp, block number, gas limit, and gas used. The results will be proven and made available on the Starknet Sepolia network (SN_SEPOLIA). This query is useful for accessing and verifying key block header information across different networks.

Example request: https://dashboard.herodotus.dev/explorer/query/01J2VM6636VWW45ZRPGEQEZ5E5

Account Access

{
  "destinationChainId": "11155111",
  "fee": "0",
  "data": {
    "11155111": {
      "block:5150551": {
        "accounts": {
          "0x17C2D875CB397D813eAE817DaFD25807E348Df07": {
            "props": ["BALANCE"],
            "slots": []
          }
        }
      }
    }
  }
}

This query is focused on retrieving the balance of a specific Ethereum account (0x17C2D875CB397D813eAE817DaFD25807E348Df07) at block 5150551 on the Sepolia testnet. The query is both initiated and proven on the Sepolia network (chain ID 11155111). This type of query is helpful for verifying an account's balance at a specific point in time, which could be useful for various financial applications or audits.

Example request: https://dashboard.herodotus.dev/explorer/query/01J2VM6JSA6VKKZ0ENWGYYPR18

Account Storage Access

{
  "destinationChainId": "SN_SEPOLIA",
  "fee": "0",
  "data": {
    "11155111": {
      "block:5856869": {
        "accounts": {
          "0x76a1b9e4712e45c4c3d0ac6e2c3028ee0ce4d3b0": {
            "props": ["STORAGE_ROOT"],
            "slots": [
              "0x000000000000000000000000000000000000000000000000000000000000000b"
            ]
          }
        }
      }
    }
  }
}

This query is requesting the storage root and the value of a specific storage slot (0x000000000000000000000000000000000000000000000000000000000000000b) for a particular account (0x76a1b9e4712e45c4c3d0ac6e2c3028ee0ce4d3b0) at block 5856869 on the Sepolia testnet. The results will be proven on the Starknet Sepolia network. This type of query allows verification of specific data stored within a contract.

Example request: https://dashboard.herodotus.dev/explorer/query/01J2VM6Y5JH6BG3AP73K3YJRM7

Additional Example (Multiple Data Points):

This more complex query combines multiple types of data requests in a single batch. It's requesting:

  • Header information (state root and timestamp) for block 6373286

  • Balance, nonce, and storage root for the account associated with the ENS name kozi.eth

  • Code hash and a specific storage slot value for the account 0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4

Remember to replace "https://your-webhook-url.com/callback" with your actual webhook URL where you want to receive the results.

{
    "destinationChainId": "11155111",
    "fee": "0",
    "data": {
        "11155111": {
            "block:6373286": {
                "header": [
                    "STATE_ROOT",
                    "TIMESTAMP"
                ],
                "accounts": {
                    "kozi.eth": {
                        "props": [
                            "BALANCE",
                            "NONCE",
                            "STORAGE_ROOT"
                        ],
                        "slots": []
                    },
                    "0x08210F9170F89Ab7658F0B5E3fF39b0E03C594D4": {
                        "props": [
                            "CODE_HASH"
                        ],
                        "slots": [
                            "0x0000000000000000000000000000000000000000000000000000000000000001"
                        ]
                    }
                }
            }
        }
    },
    "webhook": {
        "url": "https://your-webhook-url.com/callback",
        "headers": {
            "Content-Type": "application/json"
        }
    }
}

These examples demonstrate different ways to use the Storage Proof API for accessing various types of blockchain data. The results will be sent to the specified webhook URL, allowing for asynchronous processing of the data once it's available.

Example request:

https://dashboard.herodotus.dev/explorer/query/01J3N2MB216H2QFBS91JJC6QRF

Last updated