Skip to content
Back to news

Plans include dollars of model spend, not messages

A message is not a unit of cost. Every previous plan was underwater at its own advertised limit on any flagship model.


Every previous plan sold messagesPerMonth. A message is anything from a forty-token ping to a two-hundred-thousand-token context with a tool loop behind it, and nothing anywhere capped tokens.

The old Pro plan sold 5,000 messages for $59 with Claude Opus 5 access. A modest agent turn — 8k in, 800 out — costs about $0.06 on Opus 5, so five thousand of them is roughly $300 of provider cost against $59 of revenue. Old Enterprise was $299 for 50,000 messages: an order of magnitude worse.

Every plan was underwater at its own advertised limit on any flagship model. Nobody found out, because the Gateway answered 400 to almost every OpenAI request from June to September and almost no inference ever ran.

The unit is a dollar now

A plan includes a number of dollars of model spend, measured at our own published per-token rates, so cost of goods is bounded by construction rather than by hoping customers write short prompts: Free $0 with $1 of model spend, BYOK $19 metered on requests, Developer $29 with $10 of model spend, Studio $99 with $35 of model spend, Scale $299 with $120 of model spend.

Our rate is the provider's list price times 1.25. That spread is the whole gross margin on managed traffic, and it is deliberately modest: the receipt shows you what your call cost, and anyone who can compare that to a provider's public price list will do exactly that.

BYOK meters requests rather than dollars, because a customer on their own provider key costs us nothing in tokens. It sells the routing, the receipt, the Console and the local proxy, and none of the inference.

Half of a verified saving comes back

When the router serves something cheaper than the model you named, 50% of the difference is credited back to that period's allowance on the plans that carry it. Verified is the whole of the rule: the request ran on our provider key, both models are priced, the row is not an error row, and the baseline is strictly above the actual cost. Routing does not always find something cheaper, and on the calls where it does not there is no saving and no credit.

The baseline has to say what it is

A request that names a model has an obvious counterfactual. A request that says auto — the documented default — has none, which is why savings_usd was structurally null on the one traffic shape we tell people to use.

The baseline for auto is now the most expensive model your plan may reach, and every surface carries baseline_reason so a plan-ceiling comparison is never presented as one you asked for. That is also the most flattering number available to us, which is exactly why it has to be labelled. The CLI prints "vs ceiling", not "saved", and names the model.

The rule caught its own bug on the way in: the first version took the priciest key in the whole registry, retired ones included, so a free account measured against Claude Sonnet 4.5 at $3/$15 instead of Sonnet 5 at $2/$10 and overstated its own saving by half. Current keys only.

The three meters, and which one applies to you, are on Metering & cost. The plans are on Pricing.


All posts