Description
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
Network identifier. Use when the verification workflow should be tied to a specific chain context. See the Chain enumeration.
Block Context
Canonical block height where the log was emitted. Use when the verification workflow should be tied to a specific block height context.
2048-bit bloom filter represented as a 512-character hex string (no 0x prefix). Typically sourced from a block header or receipt.
Logs that should populate the bloom filter. Order is irrelevant.
Address that emitted the log (hex string, 20 bytes, no 0x prefix). Encoded into the bloom.
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.
Recommended default 250; maximum 1000 to stay under ~10 MB responses.
Pagination cursor from a prior call.
Response Fields
Echoed from the request when provided; otherwise null.
Data
Bloom filter supplied in the request.
Bloom filter recomputed from logs.
true when expected_bloom and computed_bloom match bit-for-bit.
Envelope Fields
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"
]
}
]
}'
{
"chain_id": 1,
"data": [
{
"expected_bloom": "0000…",
"computed_bloom": "0000…",
"is_identical": true
}
],
"count": 1
}