The Open Router Standard
TKX flips the usual integration burden: instead of us writing an adapter per marketplace, you expose public pricing and we ingest you automatically. Any router, aggregator, inference provider or model lab whose /v1/models carries pricing is normalized, sanity-checked and ranked within the hour.
Supported pricing dialects
Expose per-model pricing in any one of these shapes; TKX normalizes all four to USD per 1M tokens:
// A — OpenRouter style: $/token as strings
"pricing": { "prompt": "0.0000006", "completion": "0.0000024" }
// B — Requesty style: $/token as numbers
"input_price": 0.0000006, "output_price": 0.0000024
// C — Novita style: ten-thousandths of $ per 1M (÷10000)
"input_token_price_per_m": 6000, "output_token_price_per_m": 24000
// D — one-api / new-api style: /api/pricing ratio system (base $2/1M; quota_type=1 rows are skipped)
"model_name": "gpt-5.5", "model_ratio": 2.5, "completion_ratio": 4, "quota_type": 0
How we protect the data
Ingested prices pass three sanity valves before they can appear: a per-row plausible-range check, a per-source minimum-sample check (≥3 priced models), and a per-source deviation check against official rate cards (a source whose median markup is wildly off is dropped whole). Bad units never pollute the boards.
Usage reporting (optional) — light up your Volume column
The Routers board ranks by 24h traded token volume first. OpenRouter's volume comes from its public rankings; every other marketplace can report its own by exposing one public JSON endpoint (any https URL). We pull it hourly — you never push numbers to us, and anyone can curl your endpoint to audit what we show.
// GET https://your-domain/tkx-usage.json — yesterday's completed UTC day
{
"date": "2026-07-20", // UTC calendar day (YYYY-MM-DD), the last completed day
"total_tokens_24h": 123456789012, // prompt + completion tokens, whole platform
"models": [ // optional but recommended
{ "model_name": "gpt-5.5", "tokens_24h": 12345678 }
],
"requests_24h": 98765, // optional
"spend_usd_24h": 1234.56 // optional
}
Self-reported volume appears with an explicit self badge — never mixed with measured data, never added to OpenRouter's numbers, and never counted into TKX indices. Reports pass validation valves (shape, plausibility caps, freshness ≤3 days, per-model breakdown consistency); a report that fails any valve is dropped whole for that cycle. Self-reported ≠ endorsed: we display and label, readers judge.
Get listed
- Automatic: publish the pricing fields on your public
/v1/models— we discover and verify you on the next hourly run. - Register: submit your endpoint at Get listed — we validate it and start ingesting.
- Contract: the machine-readable spec is /api/v1/openapi.json (OpenAPI 3.1).