The GPU compute price index.

Hourly USD rental rates for the GPUs the AI economy runs on — measured across independent venues, aggregated and manipulation-resistant, then printed on-chain every ten minutes. Free to read, free to verify. No key.

spec v0.1.0 cadence 10 min settlement 72 h TWAP governance timelocked
IndexLast print24hSources Grade Coverage 24hStatus
loading live data…

Coverage counts ten-minute prints published against prints expected over the trailing day. A missing print is never interpolated: when the pipeline cannot compute an honest value, the slot stays empty. Settlement grade requires five independent sources — below that, an index publishes for display only.

§1

The index

Each index observes public rental markets and reduces them to one number per tier, every ten minutes, under the following clauses. Parameters marked [param] are governed behind a timelock — 1 hour on this testnet deployment; 48 hours is the guarded-launch target, not today's value.

§1.1

Observation

Offers and executed-lease prices are drawn from each venue's public API. An executed price carries a weight over a listed offer — a filled trade is better evidence than an ask.

§1.2

Normalization

Observations are reduced to a versioned hardware specification — for the flagship, H100 SXM 80 GB, on-demand, cluster-capable. Other form factors are scaled to that specification, and quotes that are implausible or stale are discarded.

§1.3

Outlier rejection

Observations far from the cross-source consensus are dropped. Wash prints, fat fingers and decorative asks die here.

§1.4

Aggregation

Observations weight by cluster size and kind, and no venue may carry more than a capped share of the total weight.

§1.5

Publication

A signer quorum posts each value on-chain, bounded by a per-mark deviation breaker and a dispute window. Settlement never reads a single print: it takes a 72-hour TWAP of the published series, subject to minimum coverage.

§1.6

Freeze, don't fabricate

Below 4 independent sources an index goes STALE — visibly, on-chain. It is never estimated or interpolated. A missing print means we did not have an honest number, and the record keeps the hole. Every other clause depends on this one.

In full: a source that fails a single fetch keeps its last good observation for up to 3 hours, and that carried reading counts toward the 4-source floor — one flaky API must not flap a whole tier STALE. Past 3 hours the source drops out for real and the floor applies with no carried readings at all. Carrying is bounded, per-source and recorded; what is never carried is the published number itself.

§2

Sources

Independent venues with machine-readable public pricing. Live counts update on the sheet above; this ledger records which venues carry which silicon.

VenueKindCarries
Vast.ailisted offersH100 · 4090 · 5090 · A100
RunPodlisted pricesH100 · H200 · A100 · L40S · B200
Akashlisted price statsH100 · A100
io.netlisted tier pricesH100 · H200 · A100
Cudo Computelisted machine pricesH100 · A100 · L40S
Vultrcloud plan sheetL40S
DataCrunchinstance price sheetB200 · H200 · H100 · A100 · L40S
Clore.aiP2P marketplace asks5090 · 4090
Shadeformmulti-cloud price sheetB200 · 5090
OCIpublic price listB200 · H200

A venue is admitted when it publishes machine-readable pricing, survives the consensus band against the existing panel, and is independent of existing sources. One broker (Shadeform) is admitted, for supply no direct adapter reaches; every cloud we already poll ourselves is stripped from its rows before they enter the panel, so no operator is counted twice. Non-USD venues wait for FX normalization.

§3

The API

No key, no auth, CORS enabled. Please cache for sixty seconds; if you build something real on this data, tell us — the index is the product.

# the whole index family, one call $ curl https://tesselex.xyz/v1/indexes # default window: 7 days of 10-minute prints, every index $ curl https://tesselex.xyz/v1/index/history # the venue's solvency identity, recomputed from public state $ curl https://tesselex.xyz/v1/solvency
GET /v1/indexes
Every index with its latest mark (markUsd), staleness flag, source count and 24-hour statistics. The composite and the H200−H100 basis spread ride along.
GET /v1/index/history
Default window is the last seven days of prints per index; retention is deeper and reachable with ?since= / ?until= (unix seconds), ?index=, ?limit=, and ?interval=1d for daily closes (last print per index per UTC day). The response carries a meta block stating the interval, the retention and the default window, so a consumer never has to infer what it received — {ts, index, usd, sources} — timestamps on exact ten-minute boundaries, one print per boundary, gaps preserved honestly.
GET /v1/solvency
The clearing identity, live: pool = Σcollateral − Σbasis, Σequity = pool, residuals in wei — they must be zero. Verify it from your own machine.
GET /v1/trades · /v1/products
The public trade tape (house accounts disclosed) and the listed instrument set with open interest.