LLM pricing traps: tiers, promos, off-peak rates and cache writes

The headline rate is a starting point, not the bill.

Computed from the SelfBench catalog of 30 models, Oct 15, 2026. Prices are published list rates; every model page links to its source.

A price sheet says "$2 per million input tokens". Your invoice says something else, for one of six reasons. Each is documented by the vendor; each is easy to miss when you are comparing twenty models in a spreadsheet.

1. Context-length tiers

7 models in our catalog charge a higher rate once a single request crosses a size threshold — commonly 200K tokens, and in one case 100K.

Affected here: Claude Haiku 5.5, Gemini 3.1 Pro Preview, GPT-5.6 Sol, Grok 4.3, Grok 4.5, Grok 4.6, Grok Build 0.1.

The trap: the tier usually applies to all tokens in that request, not just the ones above the threshold. A 210K-token request billed at the long-context rate can cost twice what the same content costs split into two requests. Check whether your vendor tiers the whole request or the excess.

2. Promotional and introductory rates

3 models here carry a time-limited rate: Gemini 3.8 Flash, Gemini 4 Argon, GPT-5.6 Sol.

The trap is budgeting. A model that is half price "through November" is not half price in December, and the standard rate is published on the same page you did not re-read.

3. Off-peak discounts

DeepSeek-V4-Pro-0813, DeepSeek-V4.1-Flash charge a lower rate outside peak hours — in one case exactly half.

If your workload is batch and movable, this is the cheapest lever available: same model, same quality, scheduled differently. It requires your job queue to be able to wait, which is an architectural decision rather than a pricing one.

4. Cache writes are priced separately

Cached input is cheap; writing to the cache usually is not. Kimi K3 bill cache writes by retention window.

A prefix read once is cheaper uncached. Cache pricing in detail →

5. Tiered rates by prompt size

Some vendors price the same model differently depending on how long your prompt is — for example, a cheaper rate under 100K tokens and a higher one above it. It looks like a long-context tier but is a separate condition, and the boundary is not always a round number.

The per-model notes on each model page record these conditions where the vendor publishes them.

6. Non-USD price sheets

Several vendors publish in their local currency. Converting is fine, but the rate you convert at becomes part of your cost model, and it moves. Where a price in our catalog was converted, the model page states the original figure and the rate used, so you can recompute it yourself. Affected here: Qwen3.7-Plus, Qwen3.8-Flash, Qwen3.8-Max, GLM-5.3, GLM-5.3-Flash, GLM-5.3-FlashX.

What to do about it

  1. Compare on the rate that applies to your request size, not the headline rate.
  2. Write the expiry date of any promotional rate into your notes, and diarise the standard rate.
  3. If a model is only affordable off-peak, make sure your queue can actually wait.
  4. Re-check before you commit architecture to a model, because switching later is the expensive part.

Every model page carries its conditions and source link →

Frequently asked questions

Are these traps dishonest pricing?

No — they are documented conditions. They are only traps when you compare two models by headline price and miss that one of them doubles above a context threshold.

Which one costs people the most?

Long-context tiers, because they trigger silently: nothing errors, the request just costs more. A prompt that grows past a threshold mid-conversation changes the price of every token in that request.

How often should I re-check prices?

Before any decision you cannot easily reverse, and quarterly otherwise. Vendors change prices without notice; promotional rates expire on dates that are usually published but easy to miss.

Keep going