VynarisEarly betaGet your API key

Confidence-gated cascade routing: the double-spend behind the 65-85% savings claim

A confidence-gated cascade pays the cheap model on every call plus the premium on escalations. The real savings formula and break-even escalation rate, on live 2026 prices.

A confidence-gated cascade runs a cheap model on every call, scores how sure it is, and escalates only the low-confidence answers to a premium model. On the escalated fraction you pay twice: the cheap attempt plus the premium re-run. That double-spend means your savings are not 1 minus escalation rate; they are (1 minus the cheap/premium cost ratio) minus the escalation rate. On live prices verified 2026-07-23, the popular 65-85% cost-cut claim only holds when the cheap tier costs near zero. Swap in a cloud cheap model and the same escalation rate saves far less.

TL;DR

The finding, before the mechanics

A hybrid on-device project on Hacker News this week (75 points, 12 comments, read 2026-07-23) claims it "taught a small model to know when it's wrong," routes only 15-35% of queries to a premium cloud model, and cuts API cost 65-85%. The number is real. What the headline hides is why it is real, and the reason does not transfer to a pure-cloud cascade.

A cascade is not picking a cheaper model per request. It is sequential: the cheap model answers first, on every call. A confidence gate then accepts that answer or escalates it to a premium model, which reprocesses the input from scratch. Every escalated call carries two bills, not one. This is the model-routing pattern with a hidden tax, and the tax is the whole story below. Every dollar figure comes from a provider's live pricing page (captured 2026-07-23) or the arithmetic shown.

What a cascade actually pays

Define the per-call cost of the cheap model as c_cheap and the premium as c_prem. With escalation rate e (the fraction of calls the gate sends up) and a per-call gate overhead g:

cascade cost per call   = c_cheap + g + e * c_prem
always-premium per call = c_prem

The cheap model and the gate are paid on every call. The premium is paid on the escalated fraction e. Divide through by c_prem and the savings versus always-premium collapse to a two-term formula:

S = 1 - (c_cheap + g + e*c_prem) / c_prem
  = (1 - r - g/c_prem) - e

where r = c_cheap / c_prem. With a self-scored gate (the cheap model reports its own confidence, so g is ~0), this simplifies to S = (1 - r) - e. Two levers, and both cut the same direction:

The break-even escalation rate, where the cascade stops beating always-premium, is e* = 1 - r - g/c_prem. Above it, you are paying two bills to do one job.

The workload (edit these)

Assumption           Value                                                                                                                                                               Note
-------------------  ------------------------------------------------------------------------------------------------------------------------------------------------------------------  -------------------------------------
Representative task  1,500 [input tokens](https://vynaris.com/glossary/input-tokens) / 500 [output tokens](https://vynaris.com/glossary/output-tokens)                                   one request in and out
Premium model        [Opus 4.8](https://vynaris.com/models#claude-opus-4-8) at $5 / $25 per 1M                                                                                           the model you would run on every call
Cheap candidates     Haiku 4.5, [Gemini 3.5 Flash-Lite](https://vynaris.com/models#gemini-3-5-flash-lite), [DeepSeek v4-flash](https://vynaris.com/models#deepseek-v4-flash), on-device  the first-pass model
Escalation rate `e`  the lever                                                                                                                                                           fraction the gate sends to premium
Gate overhead `g`    $0 self-scored, else a judge call                                                                                                                                   paid on every call

At $5 per 1M input and $25 per 1M output, Opus 4.8 costs (1,500 x $5 + 500 x $25) / 1,000,000 = $0.02 per call. That is the always-premium baseline every cascade below is measured against. Prices verified 2026-07-23.

The cheap-to-premium ratio decides the ceiling

r is the only thing that sets how much a cascade can save. Here it is for four cheap tiers against an Opus 4.8 premium, on the task shape above.

Cheap tier                     Cost per call  `r` vs Opus 4.8  Savings ceiling `1 - r`  Break-even escalation `e*`
-----------------------------  -------------  ---------------  -----------------------  --------------------------
On-device (local small model)  ~$0.00000      0.000            100.0%                   100.0%
DeepSeek v4-flash              $0.00035       0.018            98.2%                    98.2%
Gemini 3.5 Flash-Lite          $0.00170       0.085            91.5%                    91.5%
Haiku 4.5                      $0.00400       0.200            80.0%                    80.0%

An on-device cheap tier has no marginal API cost, so its ceiling is 100% and it never loses to always-premium until you escalate every call. A cloud Haiku 4.5 tier costs a fifth of Opus 4.8 per call, so its ceiling is 80%: even escalating nothing, you still pay the Haiku bill on the whole volume. That gap between a 100% ceiling and an 80% ceiling is exactly what separates the on-device demo from your cloud rebuild.

Stress-testing the 65-85% claim

Now put the escalation rate back in and check the headline directly. The claim is 15-35% escalation yields a 65-85% cut. Using S = (1 - r) - e:

Cheap tier                       Savings at 15% escalation  Savings at 35% escalation
-------------------------------  -------------------------  -------------------------
On-device (`r` ~ 0)              85.0%                      65.0%
DeepSeek v4-flash (`r` = 0.018)  83.2%                      63.3%
Haiku 4.5 (`r` = 0.20)           65.0%                      45.0%

The on-device row reproduces the claim to the point: 85% at 15%, 65% at 35%. It works because r is ~0, so savings are just 1 - e. The moment the cheap tier is a billed cloud API, the ceiling drops by r and the whole band slides down. A Haiku 4.5 cascade at the same 15-35% escalation saves 65% to 45% — the top of its range equals the bottom of the on-device range. The double-spend on the cheap tier ate 20 points.

DeepSeek v4-flash is the interesting middle: at r = 0.018 it is cheap enough that its cascade behaves almost like on-device (83.2% down to 63.3%). If your cheap tier has to be a cloud model and quality allows it, the cheapest cloud model preserves the most of the ceiling.

Horizontal bar chart, single blue hue, of cascade savings versus always-premium at a 25% escalation rate across five cheap-to-premium pairings: on-device to Opus 4.8 75%, DeepSeek v4-flash to Opus 4.8 73%, Gemini 3.5 Flash-Lite to Opus 4.8 66%, Haiku 4.5 to Opus 4.8 55%, Haiku 4.5 to Sonnet 5 25%
Cascade savings vs always-premium at a 25% escalation rate. The 65-85% claim needs the near-zero-cost on-device cheap tier (top bar); a cloud cheap tier and a narrow premium gap erode it. Prices verified 2026-07-23.

The escalation-rate sensitivity

Savings decay linearly in the escalation rate, so the gate's calibration is the entire game. Here is a Haiku 4.5 to Opus 4.8 cascade across the range, self-scored gate.

Escalation rate `e`  Cascade $/1,000 calls  Savings vs always-Opus
-------------------  ---------------------  ----------------------
0%                   $4.00                  80.0%
10%                  $6.00                  70.0%
25%                  $9.00                  55.0%
50%                  $14.00                 30.0%
80%                  $20.00                 0.0%
100%                 $24.00                 -20.0%

At 100% escalation you pay Haiku on all 1,000 calls plus Opus on all 1,000, so the cascade costs 20% more than just calling Opus directly. The break-even is 80%: below it the cascade wins, above it you would have been cheaper going straight to premium. A gate that escalates aggressively to protect quality can quietly walk you past that line. Drop your own token shape and escalation rate into the calculator to find your version of this table.

When the gate costs more than it saves

The self-scored gate assumption (g = 0) is the best case. Many teams run a separate judge: a small model reads the cheap answer and decides whether to escalate. That judge is a call on every request. Price it as a Haiku 4.5 LLM-as-judge reading the 1,500-token prompt plus the 500-token draft and emitting a 50-token verdict: (2,000 x $1 + 50 x $5) / 1,000,000 = $0.00225 per call. Against an Opus 4.8 premium that is g/c_prem = 0.1125, so it shaves 11.3 points off every break-even.

The judge is survivable when the premium-to-cheap gap is wide. It is fatal when the gap is narrow. Run a Haiku 4.5 cheap tier into a Sonnet 5 premium (introductory $2/$10, so $0.008 per call) instead of Opus 4.8:

Cascade (Haiku 4.5 cheap -> Sonnet 5 premium)  Break-even escalation `e*`  Savings at 25% escalation
---------------------------------------------  --------------------------  -------------------------
Self-scored gate (`g` = 0)                     50.0%                       25.0%
Separate Haiku judge (`g` = $0.00225)          21.9%                       -3.1%

With r = 0.5 the ceiling is only 50% before you escalate anything. Add the judge and the break-even falls to 21.9%: escalate more than about one call in five and the cascade loses money. At a 25% escalation rate it is already 3.1% underwater versus just always running Sonnet 5. The rule: a cascade needs both a wide premium-to-cheap cost gap and a near-free gate. Kill either and the double-spend wins.

The accuracy floor you cannot escape

The escalation rate is not a free dial. Lowering e to save more ships more low-confidence answers from the cheap model. The gate's job is to escalate exactly the calls the cheap model would get wrong. A gate with poor recall either escalates too much (you pay the double-spend and lose savings) or too little (you ship worse answers and call it a saving). The on-device pitch "know when it's wrong" is a bet on high gate recall, and that calibration, not the routing structure, earns the savings. Measure the gate's escalate-when-wrong rate on your own traffic before trusting any headline percentage.

How this differs from the other routing posts

The double-spend is what makes runtime cascade math distinct. It is not offline downroute detection: replaying logs to find which share a cheap model could have handled has no double-spend, because each call goes to exactly one model — the recipe in which LLM calls a cheaper model could handle. It is not upfront task-type routing, where a classifier sends each request to one model by type, as in the coding-agent model-routers savings math. And it is a different axis from the labor break-even in when token optimization is not worth it: that asks whether the engineering pays back at your volume; this asks whether the routing structure saves once the double-spend is counted. We audited inflated vendor router claims the same way in the router savings claims audit.

When NOT to run a cascade

Doing this on Vynaris

The formula above is all you need to model a cascade yourself; this section is the paid shortcut, clearly labeled. Vynaris is an OpenAI-compatible gateway that runs the cascade for you: cheap-first attempt, a self-scored confidence gate (no separate judge call), escalation only above your confidence threshold, and per-call reporting of the realized escalation rate and savings against the always-premium baseline. You see the measured e and S, not a demo number. See the docs and pricing.

FAQ

What is confidence-gated cascade routing? A pattern where a cheap model answers every request first, a confidence gate scores that answer, and only low-confidence ones escalate to a premium model, which reprocesses the input. It trades a double-spend on escalated calls for a cheap first pass on everything else.

Why don't cascade savings equal `1 minus the escalation rate`? The cheap model is paid on every call, not just the non-escalated ones. Savings are (1 - r) - e, where r is the cheap-to-premium per-call cost ratio. Only when the cheap tier costs ~0 (on-device) does r vanish and savings approach 1 - e.

Does the 65-85% cost-cut claim hold? Only for an on-device cheap tier where r is ~0. On our 1,500-in/500-out task that is 85% at 15% escalation and 65% at 35%. A cloud Haiku 4.5 cheap tier (r = 0.20) saves 65% down to 45% over the same band. Prices verified 2026-07-23.

When does a cascade lose money? Above the break-even escalation rate e* = 1 - r - g/c_prem. A Haiku 4.5 to Opus 4.8 cascade breaks even at 80% escalation; a Haiku 4.5 to Sonnet 5 cascade with a separate Haiku judge breaks even at 21.9% and is already 3.1% underwater at 25%.

Self-scored gate or separate judge? A self-scored gate (the model's own confidence or logprobs) adds no per-call cost. A separate judge is a billed call on every request and lowers every break-even by g/c_prem, 11.3 points against an Opus 4.8 premium here. Use a judge only when the premium-to-cheap gap is wide enough to absorb it.

Sources

Prices change. We re-verify every figure in this post monthly and stamp updates. Numbers here are current as of 2026-07-23.

The lesson: a cascade is not free money because it is cheap-first. Savings are (1 - r) - e. Widen the premium-to-cheap gap, keep the gate self-scored, and hold the escalation rate under the break-even, or skip the cascade and pay the premium bill.