CMPT Benchmark Statement
In one paragraph. CMPT is the USD-per-H100-hour benchmark that Trion's capped options settle against. This statement says who administers it, how the number is computed, who may challenge it, and what happens if it has to stop. It is a statement, not a certification: at launch the administrator, the writer sleeve and the fixing council are all Trion-held, and the V2 contracts are unaudited. Read it alongside the methodology factsheet and the risk disclosures.
1. Administrator and responsibility
| Role | Who | What they do |
|---|---|---|
| Administrator | Trion (the project operating the venue) | Retains responsibility for the definition, determination, dissemination, operation and governance of CMPT. |
| Calculation agent | The oracle service (overdrive/exchange/oracle/src/) | Runs the collectors, the index engine (index/cmpt.ts), the fixing service (fixing-service.ts), the publisher and the signers. |
| Signer committee | Three signers, 2-of-3 threshold | Independently recompute each index snapshot from their own observations and sign only when the evidence root matches. |
| Publisher (relayer) | A relay account that holds no signing key | Posts each expiry fixing on chain under bond; only a final fixing settles options. |
| Fixing council | Five seats, 3-of-5 quorum | Adjudicates challenges to a proposed fixing. At launch all five seats are Trion-held. |
Legal posture. There is no named operating entity or jurisdiction statement yet; that review is pending. See risk disclosures.
2. The benchmark and its recipe
What CMPT is. The on-demand rental price of one H100 SXM GPU for one hour, in US dollars, in the US neocloud market. Unit: USD per GPU-hour; one contract equals one GPU-hour.
The six constituents and their weights (the frozen launch recipe, exactly as implemented in index/cmpt.ts):
| # | Venue | Series | Weight | Weight (ppm) | Evidence URL |
|---|---|---|---|---|---|
| 1 | Vast.ai | H100 SXM on-demand (median of the 10 cheapest verified, rentable offers) | 30% | 300,000 | console.vast.ai/api/v0/bundles/ |
| 2 | RunPod | H100 SXM on-demand | 25% | 250,000 | api.runpod.io/graphql |
| 3 | SF Compute | H100 on-demand average; H100 spot average | 15% | 150,000 | sfcompute.com/ |
| 4 | Lium | H100 SXM on-demand | 10% | 100,000 | lium.io/pricing.json |
| 5 | DataCrunch | H100 SXM on-demand | 10% | 100,000 | api.datacrunch.io/v1/instance-types |
| 6 | Shadeform | H100 SXM on-demand | 10% | 100,000 | api.shadeform.ai/v1/instances/types |
Akash's on-chain executed leases are published as a weight-0 reference and are not in the recipe. The ppm weights sum to exactly 1,000,000.
Settlement rule. X is the 24 h time-weighted average of the published CMPT index, sampled every five minutes in the window ending at expiry. The 288 WAD samples are summed and divided by 288, rounding down. Every sample must satisfy the live-index provenance, freshness, spread, contributing quorum and registered weight checks. An unavailable sample is not replaced by a stale or reference price.
The published index uses the CMPT trimmed weighted geometric mean, not a separate settlement median. Each fixing sample is reconstructed using the V2 publisher's index derivation from the node's own approved observations. If any sample is unavailable, the primary fixing is ineligible; one 48 h grace attempt requires all 576 samples to qualify. If no eligible fixing is produced, the existing 72 h sever backstop applies, subject to pending-fixing protections below.
Trading closes 24 h before expiry, before the averaging window starts. The first CMPT series expires on 2026-10-30 at 08:00 UTC; trading closes on 2026-10-29 at 08:00 UTC. Governance must disable the market at that cutoff; the contract does not schedule it automatically.
Frozen recipe. Every series carries a recipeHash = keccak256(abi.encode(sourceIds, weightsPpm, methodHash)) recorded at creation. A series settles only on a fixing whose on-chain recipeHash equals the series' own; any mismatch reverts with RecipeMismatch and falls through to the sever path.
3. Constituent criteria and add/drop rules
A venue is a CMPT constituent only if it satisfies all of:
- Product match — it publishes an on-demand H100 SXM (or H100) rental price in the US neocloud market.
- Rights — Trion holds a redistribution licence (
rightsApproval, scopeoracle-publication, unexpired, evidence hash matching the policy). - Fetchability — the price is collected from a named endpoint and its observation is hash-captured at collection, with (where a public HTTP source) a third-party archive capture enqueued.
Adding or dropping a constituent is a material change. A change to sourceIds, weightsPpm or methodHash requires a governance source-configuration update, emits SourceConfigChanged, and produces a new recipeHash. The 2026-09-23 owner decision replaces the settlement double median with the published-index TWAP while retaining the registered source recipe and fixing-method hash; it is recorded in FIXING_ORACLE_V2 §2.1. The runbook forbids a source-configuration change while a listed series' expiry has neither a pending nor a final fixing. Promoting Akash from reference to constituent requires a source-configuration update and a new recipeHash; until then it remains reference-only.
4. Contingency and fallback ladder
In order, from the mildest to the most severe:
- Live-index quorum unavailable → no eligible signed index sample. A degraded display quote or last-good value is not settlement evidence.
- Any primary fixing sample unavailable → one grace attempt replays every five-minute sample over 48 hours. The wider window does not waive a hole in the overlapping primary window. If any grace sample is unavailable, there is no eligible fixing.
- Proposal → the relayer posts the fixing under a 100 USDG bond; a 24-hour challenge window opens.
- Challenge → anyone posts a 50 USDG bond and a signed, public dispute; the five-seat council votes, and three matching ballots uphold, correct, or cancel the fixing.
- No fixing produced → the sever path becomes eligible strictly more than 72 hours after expiry; a pending fixing blocks severance and governance settlement through expiry + 72 hours + 7 days unless finalized or cancelled first.
- Challenged case unresolved → anyone may abandon it five days after the challenge; both bonds are refunded and the pending fixing is cancelled.
- Backstop — the timeline guarantees the council always has a resolution path before expiry + 10 days.
- HALTED market → ordinary severing is blocked; the governance fallback has its own elapsed-time gates.
5. Restatement policy
A published print is changed only through the challenge path: a council CORRECT overwrites the pending fixing, is bonded and public, and a no-op correction reverts. Only a final or corrected fixing settles options — a pending print is never presented or used as a settlement value. For the live index, re-signing an unchanged observation may refresh the sample time but never changes the original source times; a stale value is reported unavailable, never laundered as fresh. Any material change to the methodology is published with a changelog entry. A standalone, non-bonded restatement threshold and a public change-log schema are roadmap items; today the challenge path is the operative correction mechanism.
Restatements
A completed UTC day may be recomputed from the current recipe — including the retroactive self-deviation screen — via the daily-close writer's --restate --reason <text> path, which overwrites a row only when its candle actually changes and stamps restated/reason inside the bar's components JSON. The public record:
| Date | Old close / low | New close / low | Reason | Report |
|---|---|---|---|---|
| 2026-09-19 | close 2.5437 / low 2.0882 | close 2.5437 / low 2.3579 | vast unverified-host prints excluded; self-deviation screen applied | docs/research/data-quality-2026-09/CMPT_RECIPE_ROBUSTNESS.md (repository) |
6. Complaints and challenges
- Settlement-level challenge (bond-gated): within 24 hours of proposal, 50 USDG bond, one challenge per fixing, resolved by the council. This is the formal dispute route and is exercised, not just specified — see How to trade Trion.
- General complaints (non-bonded): a channel for "this print is unrepresentative" with a named response SLA and an escalation that does not require posting a bond is being added. Until it is live, the bonded challenge is the formal route; questions can also be raised through the support channel.
7. Cessation and successor clause
If a constituent delists or its terms bar collection mid-series, the open series settle on their frozen recipe as normal, and the next series freezes the reduced recipe. If fewer than three independent families remain, CMPT is suspended and the final print under the last frozen recipe is published as the terminal print. The option's own sever path (72 hours + governance) covers the contract; this clause covers the index's succession. Trion will not quietly swap one benchmark for another: a successor index would be a new market with a new methodology hash, never a rename of CMPT.
8. Retention and audit trail
Trion commits to retaining, for five years, the fixing manifests, raw observations, evidence hashes and archive references for every published print. The hashed manifest records each five-minute index sample, its timestamp, contributing source mask and quote evidence root, the frozen recipe, and the final TWAP and source-time bounds. Archive captures are published as an unhashed sidecar keyed by evidence hash, so a late capture cannot change signer agreement.
9. Oversight and independence roadmap
The fixing council is the oversight body: five seats, 3-of-5 quorum, with a mandate that extends beyond challenge adjudication to methodology review, restatement review and conflict monitoring. At launch, all five seats — and governance — are Trion-held. That is disclosed, not hidden.
The dated roadmap to de-self-reference the benchmark:
| Milestone | Commitment |
|---|---|
| Launch (September 2026) | 0 of 5 seats independent; disclosed as-is. |
| End of Q4 2026 | At least one non-Trion, non-sleeve seat onboarded (membership only; no contract change). |
| Before the fourth monthly cycle | At least 2 of 5 seats independent. |
| Quarter objective | Move toward a non-Trion index data licence. |
Independence means the seat-holder is neither Trion nor a writer-sleeve participant, so the council is not the counterparty grading its own book.
10. Conflicts of interest
Stated plainly: Trion is the benchmark administrator and the venue, and at launch it also seeds the writer sleeve and holds every council seat. A 3-of-5 council plus governance can set any X within the option caps via a bonded CORRECT. The mitigations that exist today are structural, not aspirational: bonds that make bad proposals and bad challenges costly, pull payments so resolution never depends on a transfer succeeding, seat rotation that reverts while a challenge is open, and the independence roadmap in section 9. They reduce the conflict; they do not remove it until the council is independent.
Source trail: docs/spec/FIXING_ORACLE_V2.md (2026-09-23 settlement decision, challenge, council and sever rules); overdrive/exchange/oracle/src/index/cmpt.ts (CMPT blend); overdrive/exchange/oracle/src/publication-evidence.ts (ObservationValidator.derive, independent fixing replay); overdrive/exchange/oracle/src/fixing-service.ts (sampled TWAP, coverage and recipe hashing).
Repository-owned documentation · September 2026 · Educational material, not investment advice and not an audit.
Documentation
V2 · Live on Robinhood Chain