ioxer
Log inStart free
● Public API · v0

Read-only Endpoints Anyone Can Hit

Ioxer exposes a small, stable set of read-only JSON endpoints — a health probe and the live IOX feed (today's calibrated crypto scores) — no key required. They power the public pages on this site, so you can build dashboards, monitors, or research notebooks against them.

◆ What this page is

This is our public API — HTTP endpoints Ioxer serves at ioxer.com/api/* that anyone can call: a liveness probe and the live IOX feed (today's calibrated scores, with probability + uncertainty). Pull them into your own dashboard, notebook, or uptime monitor.

The upstream market data we ingest — perpetual funding and prices from Binance, coin metadata from CoinGecko — is described in the methodology and disclaimer. Enterprise users who want bulk / firehose / webhook access beyond these read endpoints: enterprise@ioxer.com.

Endpoints

GET/api/ioxliveauth: nonecache: edge 300s

The live IOX feed — today’s calibrated score for every coin in the universe.

Returns the latest daily ranking written by the scoring engine. Per coin: iox_rank — a 0–100 cross-sectional CROWDING RANK, NOT a probability — plus the SEPARATE calibrated p_beat (P outperform peers) with its 80% global conformal interval, the expected 7-day excess return, the trailing 7-day funding read, and the latest price. Top-level carries universe_size, model_version, horizon_days and validation_status (from the in-code validation gate — currently EARLY_LIVE_VALIDATION, not yet "VALIDATED"). `iox` is a deprecated alias of `iox_rank`. Not a price prediction, not a buy/sell signal.

// Example response — a static sample, NOT today's live feed.
// Call GET /api/iox for current data; scores change daily.
{
  "as_of":             "2026-06-01",
  "rank_timestamp":    "2026-06-01",
  "horizon_days":      7,
  "universe_size":     50,
  "model_version":     "iox-v1 · S = -z(funding_7d) · 1 factor",
  "validation_status": "EARLY_LIVE_VALIDATION",  // see /methodology — NOT yet "VALIDATED"
  "note": "iox_rank is a crowding RANK, not a probability. p_beat is the separate probability.",
  "feed": [
    {
      "asset_id":   "example-coin",
      "symbol":     "EXAMPLE",     // illustrative placeholder, not a real quote
      "name":       "Example Coin",
      "iox_rank":   86,           // 0-100 cross-sectional CROWDING RANK (NOT a probability)
      "iox":        86,           // DEPRECATED alias of iox_rank
      "rank":       7,
      "p_beat":     0.504,        // SEPARATE calibrated P(beats the peer average), 7d
      "lo":        -0.080,        // 80% global conformal interval on E[excess]
      "hi":         0.098,
      "e_hat":      0.009,        // expected 7d excess return
      "funding_7d": -0.00031,     // trailing 7d mean funding (per 8h)
      "price":      12.34
    }
    /* ...one row per coin in the universe (~50) */
  ]
}
GET/api/healthliveauth: nonecache: no-store

Liveness probe — is the app reachable and is the database talking back?

Returns 200 + status:"ok" when Supabase is reachable, 503 + status:"degraded" otherwise. Designed for uptime monitors. No auth, no caching.

{
  "status":    "ok",
  "checks":    { "supabase": "ok" },
  "timestamp": "2026-06-01T08:14:22.000Z",
  "version":   "0.1.0"
}

Usage notes

Public API | Ioxer