Lobstack API · Nex, scorer ti-1.0.0

A routing decision you can reproduce yourself.

7 signals, a score out of 100, five tiers with published thresholds. No model call, nothing learned.

Runs in this tab · no key · no token spent

Show your working.

The shipped selectModel() and the shipped price registry, running in your browser: the same function that decides where your real requests go.

The request

138 characters · ~35 input tokens

Model the caller asked for
Plan

Signals 2 of 7 fired

  • Message length+1550 to 199 characters
  • Code0not present
  • Analysis0not present
  • Multi-step0not present
  • Attachment0not present
  • Creative writing+10matched “draft”
  • Conversation depth010 messages or fewer

Sum of the signals25/100

The decision Simple query → small tier

Tier
Small
Served by
Claude Haiku 5.5
Provider
anthropic
List price per M
$0.10 in / $0.50 out
Tokens (estimated)
35 in · 64 out
Metered to you
$0.000036

Against the priciest model your plan allows

Claude Sonnet 5.5$0.000710
Claude Haiku 5.5$0.000036
Difference (95%)$0.000674

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.

The same prompt, on each ceiling auto · score 25

Ceiling Standard

Free

Claude Haiku 5.5

$0.000036

Ceiling Flagship

Team

Claude Haiku 5.5

$0.000054

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-10-16, metered at provider price, as the Free plan always is. The specification.

The receipt

It comes back with the answer

Every response from /v1/chat/completions carries what the router decided and what it cost. These are the headers for the prompt above, and they change as you edit it.

Response headers

< HTTP/1.1 200 OK
< content-type: application/json
< x-lobstack-request-id:      req_8f3a1c92e0b74d16
< x-lobstack-model:           claude-haiku-5-5
< x-lobstack-tier:            small
< x-lobstack-complexity:      25
< x-lobstack-routed:          true
< x-lobstack-cost-usd:        0.000036
< x-lobstack-savings-usd:     0.000674
< x-lobstack-baseline-model:  claude-sonnet-5-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. Every field it returns.

The fine print, in large print

What it is, and what it is not.

01

A heuristic, and it says so

5 regular expressions, two length tests and some integer arithmetic. It does not read meaning and it does not predict whether a model will answer well; the value is that you can reproduce every decision.

What it does not do

02

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 and computes one prompt. We have not priced production traffic at scale and will not quote a number we have not measured.

03

Lowest tier, not cheapest model

Nex picks the lowest tier that can handle the request, then a curated model within it — models in a tier are not interchangeable in quality, so it never quietly serves the cheapest.

Why not the cheapest

Verified 9 Nov 2026

Honestly, about the field.

Complexity routing is not a moat: three of the four gateways we track ship it, one of them free and open source. Where they differ is what comes back.

Four gateways, four questions

Questions, answered.

  • No. Nex is Lobstack’s router. It makes no model call: it scores the request with regular expressions, two length tests and some arithmetic, then picks a tier and a model within it.

  • No. Nothing is learned. The scorer is versioned, ti-1.0.0 today, so the same prompt gets the same score until a new version is published with its thresholds.

  • No. A score above your plan’s ceiling does not fail; it is served at the ceiling tier. That is why the same prompt can be answered by different models on different plans.

  • A named model is served exactly. If it is above your plan, unavailable, or incompatible with your credential, the request is refused. Send auto when you want Nex to route.

  • No. On your own key, calls are locked to the named model’s provider, and a request for auto is refused with a 400. Name the model you want instead.

Ask your gateway why it picked that.

Every request comes back with its own receipt, and the Console keeps the ledger. $5 of Gateway credit once after verification, whether you start with the API or the app. No card.