Skip to main content
This section explains, conceptually, how OCX arrives at the prices you see on the platform: where our reference market data comes from, and the models we use to mark perpetuals, options, and dated futures. It is written for traders, developers, and market makers who want to understand what we compute and why — not a specification of internal parameters.
This is an educational overview of our methodology. Exact model constants, smoothing factors, spread widths, deviation limits, and rate caps are operational parameters that OCX may adjust over time in response to market conditions. Where a specific number matters to your trading, it is surfaced through the public API responses rather than fixed in this document.

The building blocks

OCX prices every listed product against institutional reference data from the CME Group markets, delivered in real time through CQG. From that single source of truth, three pricing pipelines run:

Market data

Real-time CME futures and options via CQG — the reference prices everything else is built on.

Perpetuals

Index price, mark price, and the periodic, capped funding mechanism that tethers a perp to its underlying.

Options

Black-76 pricing off an implied-volatility surface fitted to market quotes.

Futures

Dated contracts marked to fair value from spot/index plus cost of carry.

Core principle: no price is better than a wrong price

Across every pipeline, OCX prefers the freshest reliable signal and treats inputs that are too old to trust as unavailable rather than carrying them forward. A missing input produces no mark rather than a stale one. This discipline keeps downstream funding, margin, and settlement deterministic and reproducible.

Public API surface

The prices and inputs described in this section are exposed through OCX’s public API so you can consume them programmatically. Endpoints include (among others):
PurposeEndpoint
Perpetual & futures markets and their marksGET /perps/markets
Per-market mark, index, funding rate, open interest, 24h statsGET /perps/market-stats
Perpetual order bookGET /perps/orderbook/{marketId}
Perpetual OHLC candlesGET /perps/ohlc
Recent perpetual tradesGET /perps/trades
Live perpetual book / event stream (SSE)GET /perps/book-stream, GET /perps/stream/events
Options board (all strikes/expiries with marks & IV)GET /markets/board
Live options board stream (SSE)GET /markets/board/stream
Options order bookGET /options/orderbook/{market_id}
Volatility indexGET /markets/dvol
For live values, prefer the streaming (SSE) endpoints — they push updates as marks, funding, and the surface refresh, so you don’t need to poll.