Skip to main content
OCX lists dated futures — contracts that expire and cash-settle in USDC on a specific date. Each contract is marked to the price of the matching contract on the reference market.

The mark is the reference contract’s price

Every OCX dated future corresponds to a listed futures contract on the reference market — the same underlying and delivery month. OCX marks it to that contract’s live price. This is correct under any shape of the curve:
  • Contango — deferred months trade above spot.
  • Backwardation — deferred months trade below spot.
Trades on OCX do not move the mark; they only print to the OCX tape. This keeps position values, margin, and liquidation anchored to the reference market rather than to a thin local book.

Cost of carry

Intuitively, a future trades away from spot because holding the underlying to a future date has a financing (and, for commodities, storage and convenience) cost. For a small set of underlyings, when the reference contract’s price is stale, OCX falls back to a cost-of-carry fair value: F=S×(1+APR×t365)F = S \times \left(1 + \text{APR} \times \frac{t}{365}\right) where SS is the underlying spot price, tt is the number of days to expiry, and APR\text{APR} is an annualized carry rate for that underlying. As expiry approaches, t→0t \to 0 and the fair value converges to spot. Otherwise a stale reference price is not replaced — the mark simply stops updating until the reference recovers, and markUpdatedAt shows its age.

No funding

Dated futures do not exchange periodic funding payments between longs and shorts. Their price converges to the underlying through expiry and settlement.

Settlement

At expiry the market halts, resting orders are cancelled, and open positions are cash-settled in USDC at the settlement price. OCX uses an official settlement fixing for the contract where one is recorded; otherwise its own last trade, if recent and in line with the reference mark; otherwise the reference mark. Marks and contract terms for every dated future are available via GET /fut/markets and GET /fut/market-stats.