Skip to main content
POST
https://api.blockdb.io
/
v1
/
evm
/
verify
/
receipt-root
curl -X POST "https://api.blockdb.io/v1/evm/verify/receipt-root" \
  -H "Authorization: Bearer $BLOCKDB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "chain_id": 1,
  "block_number": 18767124,
  "block_hash": "7b5c0972efb6a0b5be4a4d4a0de5d1abd922478a53f32b2c717a800c862ba9e0",
  "receipt_root": "b4d8cfe4b87590afe7ed95fbf7798142e8fb1ce86307ff0eb6580b8bc23de92f",
  "transactions": [
    {
      "index": 0,
      "status": 1,
      "root": null,
      "cumulative_gas_used": 21000,
      "logs": [
        {
          "contract_address": "0000000000000000000000000000000000000000",
          "topics": [
            "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
            "0000000000000000000000000000000000000000000000000000000000000000",
            "0000000000000000000000000000000000000000000000000000000000000000"
          ],
          "data": "0x"
        }
      ]
    }
  ]
}'
{
  "chain_id": 1,
  "data": [
    {
      "block_number": 18767124,
      "block_hash": "7b5c0972efb6a0b5be4a4d4a0de5d1abd922478a53f32b2c717a800c862ba9e0",
      "parent_block_hash": "8a1e67f5d30a6a56f5afc7f9deee5ee97d6af872637dcf71aa41cc403baba2d2",
      "receipt_root": "b4d8cfe4b87590afe7ed95fbf7798142e8fb1ce86307ff0eb6580b8bc23de92f",
      "computed_receipt_root": "b4d8cfe4b87590afe7ed95fbf7798142e8fb1ce86307ff0eb6580b8bc23de92f",
      "is_identical": true
    }
  ],
  "cursor": null,
  "count": 1
}

Description

Validates a block’s receipt Merkle root by recomputing it from the receipts you provide. Use this endpoint to independently confirm that BlockDB (or any upstream source) delivered a complete, ordered receipt set.

Parameters

chain_id
number
required
EVM network identifier. See the Chain enumeration for supported values.

Block Context

block_number
number
required
Canonical block height whose receipts you want to verify.
block_hash
string
required
Block hash (hex string, 32 bytes, no 0x prefix). Acts as a guard to ensure you are verifying the intended block.
receipt_root
string
required
Receipt trie root reported by your data source (e.g., the block header). The endpoint recomputes the root from the supplied receipts and compares it to this value.

Transaction Inputs

transactions
object[]
required
Complete list of transaction receipts for the block (order-insensitive).
transactions[].index
number
required
Zero-based transaction index within the block.
transactions[].status
number
Post-Byzantium execution status (1 = success, 0 = revert). Mutually exclusive with root.
transactions[].root
string
Pre-Byzantium state root (hex string, 32 bytes, no 0x prefix). Provide only for receipts before Byzantium; omit or set to null for modern blocks.
transactions[].cumulative_gas_used
number
required
Total gas consumed in the block up to and including this transaction.
transactions[].logs
object[]
required
Logs emitted by the transaction.
transactions[].logs[].contract_address
string
required
Address emitting the log (hex string, 20 bytes, no 0x prefix).
transactions[].logs[].topics
string[]
required
0-4 indexed topics (hex string, 32 bytes each, no 0x prefix) in emission order. May be empty.
transactions[].logs[].data
string
required
Hex-encoded ABI payload (hex string, even length, no 0x prefix). Use "0x" when empty.

Pagination Controls

limit
number
default:"250"
Recommended default 250; maximum 1000 to stay under ~10 MB responses.
cursor
string
Pagination cursor from a prior call.

Response Fields

chain_id
number
EVM chain ID.

Data

data
object[]
Array of verification results (currently one per request).
data.block_number
number
Sequential block height.
data.block_hash
string
Keccak-256 hash of the block header (hex string, 32 bytes, no 0x prefix).
data.parent_block_hash
string
Keccak-256 hash of the parent block.
data.receipt_root
string
Receipt trie root sourced from the request.
data.computed_receipt_root
string
Root recomputed from the supplied receipts.
data.is_identical
boolean
true when computed_receipt_root matches receipt_root; otherwise false.

Envelope Fields

cursor
string | null
Reserved for future pagination.
count
number
Number of result objects in data.
curl -X POST "https://api.blockdb.io/v1/evm/verify/receipt-root" \
  -H "Authorization: Bearer $BLOCKDB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "chain_id": 1,
  "block_number": 18767124,
  "block_hash": "7b5c0972efb6a0b5be4a4d4a0de5d1abd922478a53f32b2c717a800c862ba9e0",
  "receipt_root": "b4d8cfe4b87590afe7ed95fbf7798142e8fb1ce86307ff0eb6580b8bc23de92f",
  "transactions": [
    {
      "index": 0,
      "status": 1,
      "root": null,
      "cumulative_gas_used": 21000,
      "logs": [
        {
          "contract_address": "0000000000000000000000000000000000000000",
          "topics": [
            "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
            "0000000000000000000000000000000000000000000000000000000000000000",
            "0000000000000000000000000000000000000000000000000000000000000000"
          ],
          "data": "0x"
        }
      ]
    }
  ]
}'
{
  "chain_id": 1,
  "data": [
    {
      "block_number": 18767124,
      "block_hash": "7b5c0972efb6a0b5be4a4d4a0de5d1abd922478a53f32b2c717a800c862ba9e0",
      "parent_block_hash": "8a1e67f5d30a6a56f5afc7f9deee5ee97d6af872637dcf71aa41cc403baba2d2",
      "receipt_root": "b4d8cfe4b87590afe7ed95fbf7798142e8fb1ce86307ff0eb6580b8bc23de92f",
      "computed_receipt_root": "b4d8cfe4b87590afe7ed95fbf7798142e8fb1ce86307ff0eb6580b8bc23de92f",
      "is_identical": true
    }
  ],
  "cursor": null,
  "count": 1
}