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