Structure
An envelope has two core parts:type: the event kind, such astrade,intent,bar,orderbook, ordatapoint.data: the typed payload for that kind. Each data schema page describes the fields underdatafor its event type.
source and market, with an optional instrument
when a normalized market contains multiple exact contracts. For options,
market is the normalized underlying such as BTC, while instrument is the
venue-native contract such as BTC-29MAR24-50000-C. Every option_ticker
event requires a non-empty instrument. The canonical IDs from
Catalog are the values you pass to requests.
Timestamps and sequence numbers
Event time follows one of two models depending on the schema version:- Legacy records use a
timestampfield. - Schema v2 records replace
timestampwith collector and exchange fields:
Use
collector_timestamp for historical filters, buckets, and replay timing.
Treat exchange_timestamp as provenance: it can be null or regress relative to
collector order. Iterate rows in the order returned by the SDK.
Each v2 snapshot starts with a metadata record containing
data.schema_version: "v2". SDK readers consume this record; it is not returned
from event, replay, trade, or order-book methods.
Match the event version
Check forcollector_timestamp to tell v2 from legacy, then read the
version-specific fields.
Payload shapes
- Market data pages (Trades, Intents and RFQs, Option tickers, OHLCV, Events) show the envelope plus their
datafields. - Order book pages (L2 snapshots, BBO) show how book state is represented in the envelope.
- Derived series (Funding rates, Mark prices, Volume, VWAP, Volatility, Depth metrics) show their point-series payloads.