> For the complete documentation index, see [llms.txt](https://ocx.gitbook.io/ocx-doc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ocx.gitbook.io/ocx-doc/ocx/product/pricing-model.md).

# pricing model

OCX uses an institutional-style pricing model where every product is priced from a common forward curve.

## Perpetual index = f(F1, F2, T)

OCX perpetuals are anchored to the **futures curve**, not to spot.

* `F1` — front-month future
* `F2` — next future
* `T` — time remaining until the roll

Most of the time, the perp index tracks F1 directly. As F1 approaches expiry, the index transitions to F2 over a five-day roll window using an exponentially weighted moving average blend. After the roll completes, the perp trades fully on F2 and the cycle continues.

### Why futures-anchored?

* Aligns the perpetual price with how institutional desks price the same risk.
* Eliminates the persistent spot-vs-forward basis that causes drift on spot-anchored perps.
* Makes cross-margining with the listed futures natural and capital-efficient.

### Roll trigger

The roll window ends on options expiry (the Friday before the futures expiry), not on the futures expiry itself. This keeps the pricing of options and their underlying future aligned through expiry.

## Options pricing — Black-76 with per-expiry forward

Every options expiry is priced using its **matching futures forward** as the `F` parameter in Black-76. Where no exact-match future exists, OCX computes a synthetic forward as `spot × exp(r × T)`.

The options board response includes an `expiryForwards` map so clients can independently verify implied volatility and greeks:

```json
{
  "underlying": "BTC",
  "spotPrice": "67543.21",
  "expiryForwards": {
    "2026-06-26": "68100.00",
    "2026-09-25": "69500.00"
  },
  "calls": [ ... ],
  "puts": [ ... ]
}
```

## Mark price and staleness

Every mark published by OCX carries three fields:

* `price` — the numeric mark.
* `source` — the upstream reference (oracle, internal book, or index).
* `sourceTimestamp` — the moment the source produced this observation.

The order engine rejects any order whose governing mark is older than the configured staleness threshold (default 5 seconds). This is a deliberate fail-closed policy: if OCX cannot confidently price the book, it will not let you trade it.

## Funding

Perpetuals exchange funding every five minutes. The per-period rate is capped at 25 bps to prevent extreme conditions from producing oversized payments. Funding is credited or debited directly to your `perps` balance, with each payment recorded in your trade history.

## Fees

Maker and taker fees are configured per market and included in the response for `GET /perps/markets` and `GET /markets/board`. Options and linear products use independent fee schedules.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ocx.gitbook.io/ocx-doc/ocx/product/pricing-model.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
