Prices: I, M, E, L and X
In one paragraph: Trion shows several prices for the same market, and each one has exactly one job. The index (I) is the outside-world benchmark. The mark (M) is the price your margin and liquidation are judged against. E is the price you actually traded at, and L is the last confirmed trade anyone made. X is the one-off settlement price for an expiring option. Mixing them up is the most common way to misread the screen. There are also two CMPT index feeds: the options settle on the six-venue CMPT options index, and the CMPT-USD perpetual (open beta) marks to the ten-venue CMPT-USD perp index. See Which index feeds which product.
The five prices
| Letter | Plain name | Where it comes from | What it is used for |
|---|---|---|---|
| I | Index | Several independent external sources, combined by a 2-of-3 signer committee | Funding, price bands, option strike widths, input to M |
| M | Mark | I adjusted by at most ±0.5% toward the qualified order book, smoothed over 150 s | Your equity, margin requirements, liquidation, TP/SL triggers, option premiums |
| E | Execution / fill | The maker's limit price when your order matched | Your cash, fees and realized profit |
| L | Last | Most recent E confirmed on chain | Charts and the trade tape only; never a fallback for a missing I or M |
| X | Fixing | 24 h time-weighted average of the published index, sampled every five minutes, in the window ending at expiry | Option payout only |
You will also see B/A (best executable bid and ask to a configured depth). They are indicative. A displayed bid is not a guaranteed fill.
Which index feeds which product
| Product | Index (I) | Mark (M) | Settlement |
|---|---|---|---|
| CMPT capped options (live) | CMPT options index — trion-cmpt-v1, six venues, methodology factsheet | Index (no perp book feeds the options mark) | X = 24 h TWAP of the options index |
| CMPT-USD perpetual (open beta) | CMPT-USD perp index — trion-cmpt-v2-linked, ten venues, perp index page | M = I in the beta; funding is off | None (never expires) |
The two indices measure the same unit (USD per H100 GPU-hour) from different venue sets, so their levels differ. An option's X is never computed from the perp index, and a perp position is never marked on the options index.
Why the mark is not the last trade
If liquidations used the last trade, one thin fill could liquidate everyone. So M starts from I and only moves toward the book when the book has real depth on both sides (walked to a configured notional D, inside ±3% of I), and even then by at most 0.5%. If the book is too thin, the market is in INDEX_ONLY mode and M = I.
Example (hypothetical): I = $2.60. Book mid over the last few minutes averages $2.65 (+1.9%). M is clamped to $2.613 (+0.5%). Your margin is judged at $2.613, not $2.65.
Freshness rules
Each market has its own source cadence and the oldest source may not be older than a limit:
| Market | Source cadence | Oldest source allowed |
|---|---|---|
| CMPT | 15 min | 30 min |
| DRAM, NAND | daily | 24 h |
| GRID | 5 min | 6 min |
| HASH | 10 min | 15 min |
| DPIN | 5 s | 2 min |
Republishing an old observation does not make it fresh: the original source time is what counts. A mark is valid for 15 seconds after sampling.
What happens when prices break
- A single-step index move above 3% halts the market. During HALTED, no fills, no liquidations, and no withdrawals for accounts holding positions. Deposits and order revocation stay open. Flat withdrawals remain subject to the cash checks: negative trading cash blocks withdrawal even with positive free cash, and additional deposits do not repay that negative trading cash.
- Recovery needs two healthy observations at least 10 s apart, then a 30 s window with no execution.
- There is no "last known price" fallback for trading. A stale price is a stopped market, not a discounted one.
Trust caveat
Two of three committee signers must sign every I/M snapshot. That stops a single bad signer, not two colluding ones. Threshold signing proves agreement, not truth. The spec states this plainly and so should you when judging the system.
What the live desk shows
The rules above are the design and the verifier contract's checks. The desk and the public API show exactly the I and M that the TrionPriceVerifierV2 contract has accepted, nothing else: no book-derived adjustment is applied on the way out, and if the accepted snapshot is missing or expired the screen reports the current price and risk figures as Unavailable instead of showing an old number. For the options, the accepted snapshots carry the CMPT options index as their mark (M = I); option premiums are quoted from that mark. For the CMPT-USD perpetual (open beta), the accepted snapshots carry the CMPT-USD perp index, published about once a minute with an evidence root, and the mark equals that index — the beta runs with markSource: "index" and funding off, so the book-adjusted mark described above is not applied yet. The chart keeps drawing historical bars (confirmed prints and the daily index series, each with its provenance) even while the current price is unavailable, because history is still history. Do not read a chart that still has bars as a live quote; the current price is the ticker and account fields, and those say Unavailable.
X is not the spot index at expiry
An option does not settle on the index print at the moment of expiry. Trading closes 24 h before expiry, and that final 24 hours is the averaging window: X is the time-weighted average of the published CMPT index sampled every five minutes (288 samples, summed and divided by 288, rounding down). Every sample must satisfy the live-index provenance, freshness, spread and quorum checks; one missing sample makes the primary fixing unavailable, a single 48 h grace attempt requires all 576 samples, and if no eligible fixing is produced the 72 h sever backstop applies. The fixing is proposed on chain under bond and can be challenged for 24 hours before it becomes final. The full rule, the frozen-recipe binding and the contingency ladder are in the benchmark statement and the methodology factsheet.
flowchart LR
I[Published CMPT index] -->|sample every 5 min| S[288 samples over the final 24 h]
S -->|all eligible| X[X = sum / 288]
S -->|any sample missing| G[48 h grace: all 576 samples]
G -->|any missing| V[72 h sever backstop]
X --> P[Proposed under bond, 24 h challenge window]
P --> F[Final fixing settles the series]
Source trail: docs/spec/V2_ARCHITECTURE.md §2.1–§2.4; docs/spec/FIXING_ORACLE_V2.md §2.1; overdrive/perps/src/v2/TrionPriceVerifierV2.sol (DISCONTINUITY_BPS, MAX_MARK_BPS, RECOVERY_MIN_INTERVAL, RECOVERY_PERIOD, THRESHOLD); overdrive/exchange/oracle/src/fixing-service.ts (sampled TWAP, coverage); overdrive/exchange/matcher/src/mark-sampler.ts, canonical-prices.ts; overdrive/deployments/v2/reviewed/4663.cmpt-options-approval.md (options snapshots carry markSource: "index"); overdrive/exchange/oracle/policy/4663.cmpt-usd.v2.policy.json (CMPT-USD markSource: "index", ten sources); overdrive/exchange/oracle/src/index/linked.ts (perp index engine); overdrive/exchange/oracle/src/daily/csv.ts (per-bar provenance).
Repository-owned documentation · October 2026 · Educational material, not investment advice and not an audit.
Documentation
Options live · Perps in open beta