Data plane overview¶
ONIX calls its market-data runtime the market spine. One spine process is built per venue
integration around a Nautilus LiveNode: Nautilus's DataEngine owns subscription delivery and
in-process aggregation, and ONIX's own code is limited to durable storage, bookkeeping, and
serving that data over a governed contract. This subsection documents the three layers that make
up the data plane:
catalog.md— the durable, on-disk 1-minute bar catalog: a thin façade over Nautilus's ownParquetDataCatalog, its retention shape, and hydration status vocabulary.aggregation.md— which chart resolutions are durable versus derived, and how a derived bar's close is computed.ingestion.md— subscription and coverage accounting, gap/duplicate/ out-of-order handling, and the retained-ingestion manifest that governs instrument demand.
The shape in one sentence¶
Nautilus delivers ticks, quotes and bars over official adapter subscriptions; ONIX durably retains
a rolling window of closed 1-minute bars per instrument in a Nautilus ParquetDataCatalog,
derives every other chart resolution from that window on demand using Nautilus's own bar
aggregator, and publishes both — plus live streams, coverage accounting, and hydration state —
through the versioned /v2 gateway contract (see ../gateway-schemas.md).
Quotes, trades and per-second bars flow live but are never durably stored; only instruments and the
rolling 1-minute series persist.
What is and is not durable¶
| Data | Durable? | Source |
|---|---|---|
| Instrument definitions | yes | Nautilus catalog |
| 1-minute closed bars (rolling window, latest ~5,000 per instrument) | yes | catalog (verified) |
| 5m / 15m / 30m / 1h / 4h / 1d bars | no — derived on read | Nautilus TimeBarAggregator over the durable 1m series |
| Quotes, trades | no | live stream only |
| Second-tier bars (bounded instrument prefix) | no | Nautilus-internal aggregation over the live trade stream |
This shape, and the reasons behind each choice, are covered in the two pages that follow.
Evidence and source pins for this page
Verified. Current behaviour, confirmed in source at the pinned commit.
Verified on against the following immutable sources:
backend@efa38e04:docs/contracts/market-spine-v2.mdbackend@efa38e04:python/src/onix_engine/spine/resolutions.py
Status tokens are defined on the documentation and status model page. Every pin on this site is listed under versions and source pins.