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
}
],
"page_count": 1
}
Verification
Verify Logs Bloom
Regenerate logs bloom filters for targeted reconciliations.
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
}
],
"page_count": 1
}
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
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.Log Inputs
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.Pagination Controls
Recommended default
250; maximum 1000 to stay under ~10 MB responses.Pagination cursor from a prior call.
Response Fields
Meta
Echo of request metadata applied to the response.
EVM chain ID echoed from the request when provided; otherwise
null.Data
Verification results.
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"
]
}
]
}'
{
"meta": {
"chain_id": 1
},
"data": [
{
"expected_bloom": "0000…",
"computed_bloom": "0000…",
"is_identical": true
}
],
"page_count": 1
}
Last modified on May 29, 2026
Was this page helpful?
⌘I