Picks the cheapest model that gives a good answer — from 300+ options — on every
call.
Connecting…0 calls · live
Saved vs always-frontier
$0.00
Run demo/live_demo.py to start
Calls routed
0
total API calls
Avg quality
—
LLM-as-judge · target ≥ 0.65
CO₂ avoided
0 g
vs always-frontier
1
Stage 1 — Explore
X25 is learning your task
mix.
Next stage in
—
⚠ Quality drift detected — recent quality dropped from baseline. Consider running POST /improve.
How X25 is learning — Thompson Sampling bandit
Each call updates the probability that a tier will give a good answer. Cheap tiers
tried first. Frontier only when needed.
0 observations
SLM
waiting for calls…
Mid
waiting for calls…
Frontier
waiting for calls…
How to read this:
Mean reward = how often this tier passes quality. Confidence = how sure X25 is (grows with observations).
As calls accumulate, the cheapest tier that consistently scores well gets picked more.
Frontier gets selected only when SLM + mid are both unreliable for your task type.
What just happened?
Waiting for a routing call…
Latest call
Run
python
demo/live_demo.py
to start routing. The full decision breakdown will appear here.
This call vs always-frontier
What X25 avoided paying
No outcome yet.
Cumulative savings — session total
Every call that didn't need frontier adds here
$0.00
Which tier won each call
More SLM = X25 learned your tasks are cheap to handle
No data yet.
Quality · Cost savings · Latency — per call
Quality stays high while cost and latency improve as the router learns your patterns
QualityCost
eff.Latency eff.
Tamper-evident audit trail
Every routing decision hashed and chained — verifiable at GET /verify
Chain intact
#
Task
Model chosen
Quality
Cost paid
Saved vs frontier
Latency
Hash
No records yet
API Key Management
Would you like to generate a brand new
API key for this organisation?
API Key Created ✓
Your API key for has been created. Store it safely — it will
only be shown once.