Skip to main content
POST
/
v1
/
evm
/
verify
/
logs-bloom
curl -X POST "https://api.blockdb.io/v1/evm/verify/logs-bloom" \
  -H "Authorization: Bearer $BLOCKDB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "chain_id": 1,
  "block_number": 18767124,
  "expected_bloom": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
  "logs": [
    {
      "contract_address": "0000000000000000000000000000000000000000",
      "topics": [
        "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
        "0000000000000000000000000000000000000000000000000000000000000000"
      ]
    }
  ]
}'
{
  "meta": {
    "chain_id": 1
  },
  "data": [
    {
      "expected_bloom": "0000…",
      "computed_bloom": "0000…",
      "is_identical": true
    }
  ],
  "count": 1
}

Documentation Index

Fetch the complete documentation index at: https://docs.blockdb.io/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Recomputes an Ethereum receipt logs bloom filter from the logs you supply and compares it against an expected bloom (for example, the value published in a block header or receipt). Useful when you only care about log-topic coverage without re-verifying the full receipt trie.

Parameters

chain_id
number
Network identifier. Use when the verification workflow should be tied to a specific chain context. See the Chain enumeration.

Block Context

block_number
number
required
Canonical block height where the log was emitted. Use when the verification workflow should be tied to a specific block height context.
expected_bloom
string
required
2048-bit bloom filter represented as a 512-character hex string (no 0x prefix). Typically sourced from a block header or receipt.

Log Inputs

logs
object[]
required
Logs that should populate the bloom filter. Order is irrelevant.
contract_address
string
required
Address that emitted the log (hex string, 20 bytes, no 0x prefix). Encoded into the bloom.
topics
string[]
required
0-4 indexed topics (hex string, 32 bytes each, no 0x prefix). Each topic contributes to the bloom. Supply an empty array for topic-less logs.

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

Meta

meta
object
Echo of request metadata applied to the response.
meta.chain_id
number | null
EVM chain ID echoed from the request when provided; otherwise null.

Data

data
object[]
Verification results.
data.expected_bloom
string
Bloom filter supplied in the request.
data.computed_bloom
string
Bloom filter recomputed from logs.
data.is_identical
boolean
true when expected_bloom and computed_bloom match bit-for-bit.

Envelope Fields

count
number
Number of verification entries returned (currently 1).

Use Cases

  • Sanity-check log ingestion pipelines without fetching receipts or recomputing trie roots.
  • Confirm that filtered event subscriptions captured all expected topics before downstream processing.
  • Lightweight guardrail for block producers or relayers to ensure bloom accuracy after custom transformations.
curl -X POST "https://api.blockdb.io/v1/evm/verify/logs-bloom" \
  -H "Authorization: Bearer $BLOCKDB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "chain_id": 1,
  "block_number": 18767124,
  "expected_bloom": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
  "logs": [
    {
      "contract_address": "0000000000000000000000000000000000000000",
      "topics": [
        "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
        "0000000000000000000000000000000000000000000000000000000000000000"
      ]
    }
  ]
}'
{
  "meta": {
    "chain_id": 1
  },
  "data": [
    {
      "expected_bloom": "0000…",
      "computed_bloom": "0000…",
      "is_identical": true
    }
  ],
  "count": 1
}
Last modified on March 21, 2026