Price per 1M logo

Prompt caching is the biggest lever on your token bill

If your product resends the same system prompt on every call, the cache discount is worth more than any model switch you can make.

By Mohammad Ghonchegi, editor and maintainer·Published ·Updated ·2 min read

Almost every chat product sends the same thing on every call: a system prompt, a tool schema, a policy document, a conversation history. Providers that support prompt caching let that stable prefix be billed as a cache read instead of fresh input, and the difference between the two rates is the cheapest cost reduction available to you — no model change, no quality change, no rewrite.

How big is the discount?

Of the 1511 priced chat models in this index, 675 publish a cached-input rate below their fresh input rate. The largest discount today belongs to Mimo V2.5 Pro (Novita AI) at 99% off ($0.522 fresh vs $0.0043 cached per 1M tokens).

ModelProviderFresh input /1MCached /1MDiscount
Mimo V2.5 ProNovita AI$0.522$0.004399%
Deepseek FlashDeepSeek$0.3$0.00698%
Deepseek V4 FlashDeepSeek$0.3$0.00698%
Deepseek V4 Flash Vision ExpDeepSeek$0.3$0.00698%
Muse Spark 1.2 ContributorMeta$0.1$0.00298%
Muse Spark 1.3 ContributorMeta$0.1$0.00298%
Largest published cache discounts, current dataset

The discount is not a rounding error. On a workload that is 80% stable prefix — a typical support or RAG assistant — moving from fresh input to a cache read changes the input line by the discount percentage, and the input line is usually the dominant line on the bill.

Where the lever is largest

  • Long system prompts. Rules, tone guides and tool definitions are pure stable prefix. Every token you move into them is a token you can serve from cache.
  • Retrieved context a user re-asks about. The same document, summarised three ways, is a cache-shaped request pattern.
  • Agent loops. A tool-calling loop resends the whole transcript on every step, so the input grows quadratically while the new part of it stays small — the classic case where an uncached bill explodes.

When caching does not help

  • Nothing repeats. One-shot transformations with no stable prefix have nothing to re-use.
  • The prefix changes every call. If your prefix embeds a timestamp, a user id or freshly shuffled context, you invalidate the cache on every request.
  • The provider does not publish a cached rate. ${support.length - cacheLeaders.length} of the ${support.length} priced chat models in this index currently do not, so the lever simply does not exist there.

Model a cache hit rate against any model in the index.

See the cached-input ranking

Frequently asked

› What is a cache read in LLM billing?

Providers that support prompt caching let you re-use a prefix of the input (a system prompt, a document, a tool schema) instead of paying for it as fresh input on every call. The re-used portion is billed as cached input, at a rate the provider publishes separately — usually below the fresh input rate.

› Does caching help if every request is different?

Only if part of the request repeats. Caching pays when a stable prefix travels with variable content: a long system prompt, a retrieved document, a conversation history. If nothing repeats, there is nothing to cache.

› Is cache support the same everywhere?

No. In this index only some models publish a cached-input rate at all, and the discount differs sharply between them. Check the cached column on the model page rather than assuming the feature exists.

Where the numbers come from

The data pages this article draws on — check any figure against them, they are recomputed on every refresh.