A routing decision you can reproduce yourself.
7 signals read off your request, a score out of 100, five tiers with published thresholds. No model call, nothing learned. Type a prompt and watch every signal that fired.
Show your working
This is the shipped selectModel() and the shipped price registry, running in your browser. The same decision is available over HTTP at POST /api/gateway/v1/route-preview, and the same function decides where your real requests go.
138 characters · ~35 input tokens
- Message length+1550 to 199 characters
- Code0not present
- Analysis0not present
- Multi-step0not present
- Attachment0not present
- Creative writing+10matched “draft”
- Conversation depth010 messages or fewer
- Nano≤20
- Small≤40chosen
- Standard≤70
- Premium≤90above your plan
- Flagship≤100above your plan
- Tier
- Small
- Served by
- Claude Haiku 4.5
- Provider
- anthropic
- List price per M
- $1.00 in / $5.00 out
- Tokens (estimated)
- 35 in · 64 out
- Metered to you
- $0.000444
That is arithmetic for this one prompt against this one baseline, at published rates. It is not a measured result about anybody’s traffic, and we do not have one to quote.
This prompt scores low enough that every ceiling reaches the same tier, so every plan serves it identically. Raise the complexity and they diverge.
Token counts are estimated at ~4 characters each, output assumed at half the prompt; the ledger only ever records the provider’s reported usage. Prices are list prices verified 2026-09-08, metered at 1.25× list. The specification.
It comes back with the answer.
Not in a dashboard you have to open, not in a log you have to parse. Every response from /v1/chat/completions carries what the router decided and what it cost, so your own code can log it, alert on it, or show it to your users.
< HTTP/1.1 200 OK < content-type: application/json < x-lobstack-request-id: req_8f3a1c92e0b74d16 < x-lobstack-model: claude-haiku-4-5 < x-lobstack-tier: small < x-lobstack-complexity: 25 < x-lobstack-routed: true < x-lobstack-cost-usd: 0.000444 < x-lobstack-savings-usd: 0.000444 < x-lobstack-baseline-model: claude-sonnet-5 < x-lobstack-baseline-reason: plan_ceiling < x-lobstack-priced: true < x-lobstack-metered: true
On stream: true these headers go out before the provider has counted a token, so the same figures ride in the final frame instead, under x_lobstack.
What it is, and what it is not
A heuristic, and it says so
5 regular expressions, two length tests and some integer arithmetic, running in a serverless function. It does not read meaning and it does not predict whether a model will answer well. “Write a haiku” scores creative points; so does “create a table”. The value is not that it is clever — it is that you can reproduce every decision it makes.
No headline savings number
There is no “up to 80%” on this page. A saving is only meaningful against a model you would actually have used, so the demo names its baseline — the model you pinned, or the priciest one your plan allows — and computes one prompt. We have not priced production traffic at scale and will not quote a number we have not measured.
Lowest tier, not cheapest model
Token Intelligence picks the lowest tier that can handle the request, then a curated model within it. Models in a tier are not interchangeable in quality, and quietly serving the cheapest one would be a change to your answers dressed up as a discount.
Honestly, about the field
Complexity routing is not a moat. Three of the four gateways we track ship it, and one of them ships it free and open source. Where they differ is what comes back — and none of them prices the road not taken on the response that took it.
Ask your gateway why it picked that.
Then ask ours. Every request comes back with its own receipt, and the Console keeps the ledger.


