Skip to main content
POST

Overview

Parameters

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

Range Filters (mutually exclusive)

number
Starting block number (inclusive) for the query. Use with to_block.
number
Ending block number (inclusive) for the query. Use with from_block.
string
Starting timestamp (ISO-8601). If it falls between blocks, the next block after this timestamp is used. Use with to_timestamp.
string
Ending timestamp (ISO-8601). If it falls between blocks, the last block before this timestamp is used. Use with from_timestamp.
Scoping rule: Every request must include at least one primary criterion: a block range (from_block/to_block), a time range (from_timestamp/to_timestamp), block_numbers, or tx_hashes. A block range and a time range are mutually exclusive, as are block_numbers and tx_hashes.contract_addresses and topic_zeros are refinement filters that require a block range or time range specifically — they cannot be used on their own, and a block_numbers/tx_hashes set does not satisfy this (an unbounded scan over a hot contract or topic would time out).Providing none of the above returns HTTP 400.

Bounding Windows

number[]
Explicit set of block numbers (a bounding window). Mutually exclusive with tx_hashes.
string[]
Filter logs by parent transaction hash (hex string, 32 bytes, no 0x prefix); a bounding window. Mutually exclusive with block_numbers.

Contract & Topic Filters

string[]
Filter by emitting contract address (hex string, 20 bytes, no 0x prefix). Requires a block range or time range.
string[]
Filter by the primary event topic. Anonymous events have topic_zero = null. Requires a block range or time range.

Pagination Controls

number
default:"250"
Recommended default 250; maximum 1000 to stay under ~10 MB responses.
string
Opaque pagination cursor supplied by a previous response.

Response Fields

Meta

object
Echo of request metadata applied to the response.
number
EVM chain ID echoed from the request.
object
Pure echo of the window you sent (from_block/to_block/from_timestamp/to_timestamp); unset bounds are null.
object | null
The concrete window the query actually executed against, after resolving the request. For a block range on a time-bucketed endpoint (OHLC/VWAP/VWAP-aggregate/fiat VWAP), from_timestamp/to_timestamp hold the resolved timestamp window (and from_block/to_block echo your request). For a time range on a block-keyed endpoint, from_block/to_block hold the resolved block range (and the timestamps echo your request). null for selector-only requests (no window). No extra database work is done — these are the values the query already computed.
number | null
Resolved/echoed start block of the executed window.
number | null
Resolved/echoed end block of the executed window.
string | null
Resolved/echoed start timestamp (ISO-8601) of the executed window.
string | null
Resolved/echoed end timestamp (ISO-8601) of the executed window.
object
Filters echoed from the request (block numbers, tx hashes, contract addresses, topics).

Data

object[]
Each element mirrors the table columns (chain implied by meta.chain_id). Resolve transaction hash via block_number + tx_index and the transactions dataset if needed — there is no tx_hash column in SQL.
number
Block height containing the log.
string
Block timestamp joined from the blocks table for easier aggregation.
number
Zero-based index of the parent transaction within the block.
number
Position of the log within the transaction.
string
Address of the emitting contract (20 bytes).
string
Primary topic hash identifying the event (32 bytes). null for anonymous events.
string[]
Subsequent event topics (topics[1..n]), each stored as a 32-byte hex string.
string
Raw event data payload (hex string (no 0x prefix)).
string
Tracing identifier for the canonical transaction record (hex string, no 0x prefix).
string
Record creation timestamp.
string
Record last update timestamp.

Envelope Fields

string | null
Cursor token for pagination.
number
Number of records returned in data.
Last modified on July 19, 2026