How OCX sources market data and prices its listed products
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.
OCX prices every listed product against institutional-grade reference data from
the underlying derivatives markets, consumed in real time. From that single
source of truth, three pricing pipelines run:
Market data
Real-time reference futures and options data — the 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.
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):
Purpose
Endpoint
Perpetual & futures markets and their marks
GET /perps/markets
Per-market mark, index, funding rate, open interest, 24h stats
GET /perps/market-stats
Perpetual order book
GET /perps/orderbook/{marketId}
Perpetual OHLC candles
GET /perps/ohlc
Recent perpetual trades
GET /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 book
GET /options/orderbook/{market_id}
Volatility index
GET /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.