OpenAI and Anthropic charge about a tenth for input they have seen before; xAI charges a quarter on Grok 4.6. Prompt caching is the largest published discount in any of these price lists — bigger than batch, bigger than picking a smaller model for many workloads. It also has a cost, which is the part that gets left out.
- A cache hit costs about 10% of normal input on OpenAI and most Anthropic models, and 25% on xAI’s Grok 4.6.Anthropic, Pricing: “Cache read (hit)” at “0.1x base input price” · OpenAI, Pricing:
gpt-6-astracached input “$1.00” against “$10.00” · xAI, Pricing: grok-4.6 cached input “$0.50” against “$2.00”. All read 16 Sep 2026. - Writing to the cache costs more than not caching — 1.25× on Anthropic, and above the input price on OpenAI.
- So it pays on reuse and loses on one-offs. That is the whole decision.
- Put the stable part first. Caches match a prefix, so anything variable at the top destroys the hit.
- It stacks with batch discounts, which Anthropic states outright.
Every price here was correct when this site last checked it, between 16 Sep and 23 Sep 2026. Prices change often and this site no longer updates them, so check the vendor’s own page before you rely on one: Anthropic pricing · OpenAI pricing · xAI pricing.
What each vendor charges
| Vendor | Cache read | Cache write |
|---|---|---|
| Anthropic | 0.1× | 1.25× (5 min) or 2× (1 hour) |
| OpenAI | $1.00 against $10.00 on Astra | $12.50 on Astra |
| xAI | $0.50 against $2.00 on Grok 4.6 | not published separately |
Anthropic, Pricing: “Cache read (hit)” at “0.1x base input price”, “5-minute cache write” at “1.25x base input price”, “1-hour cache write” at “2x base input price” · OpenAI, Pricing: gpt-6-astra cached input “$1.00”, input “$10.00”, cache writes “$12.50” · xAI, Pricing: grok-4.6 cached input “$0.50” against “$2.00”. All read 16 Sep 2026.
Caching is not free storage. It is a bet that you will send the same prefix again, and the write is the stake. Send it once and you have paid a premium for nothing.
The break-even, roughly
On Anthropic’s published multipliers the arithmetic is simple. A write costs 1.25×; a read costs 0.1×. Against a baseline of 1× per uncached send:
- Send once: caching costs 1.25 instead of 1. You lose.
- Send twice: 1.25 + 0.1 = 1.35 against 2. You win.
- Send ten times: 1.25 + 0.9 = 2.15 against 10.
Reasoning: arithmetic on Anthropic’s published multipliers, done 16 Sep 2026. It ignores cache expiry, which is five minutes on the cheaper write — a second send after the window has closed is a second write, not a read.
So the break-even is the second call, provided it arrives inside the window. That window is the thing people misjudge, not the price.
Why the order of your prompt decides whether it works
A cache matches a prefix. Everything up to the first difference can be reused; from that byte onward it cannot. Which gives one practical rule:
Stable content first, variable content last. System prompt, tool schemas, documents, examples — then the user’s actual question.
Put a timestamp, a session ID or the user’s name at the top of your system prompt and every request is a fresh prefix. The cache never hits, and you pay the write premium each time. This is the most common way caching is switched on and produces no saving.
Turning it on
Anthropic documents two modes: “Automatic caching: Add a single cache_control field at the top level of your request. The system automatically manages cache breakpoints as conversations grow”, which it calls “the recommended starting point for most use cases”; and explicit breakpoints, placing cache_control “directly on individual content blocks for fine-grained control over exactly what gets cached”.Anthropic, Pricing, read at source 16 Sep 2026.
It also notes the multipliers “stack with other pricing modifiers, including the Batch API discount”, so cached batch work is the cheapest combination on the price list.
Two exceptions worth knowing
Anthropic’s most expensive model has its lowest cache multiplier. On Claude Fable 5.1 a hit is 0.025× the base price rather than 0.1× — a fortieth instead of a tenth.Anthropic, Pricing, read at source 16 Sep 2026: “Cache hits and refreshes on Claude Fable 5.1 and Claude Mythos 5.1 are priced at 0.025x the base input price. All other models use the standard 0.1x multiplier.” Since 22 Sep 2026 Claude Opus 5.5 is a second exception, at 0.05× — a twentieth. In dollars that makes its cache read, $0.20 per million tokens, cheaper than Fable 5.1’s $0.25.Anthropic, Pricing, read at source 23 Sep 2026: “On Claude Fable 5.1 and Claude Mythos 5.1, a cache hit costs 2.5% of the standard input price ($0.25 USD per million tokens). On Claude Opus 5.5, a cache hit costs 5% of the standard input price ($0.20 USD per million tokens).” Claude Haiku 4.5 cache hits: “$0.10 / MTok”.First-hand: until 23 Sep 2026 this section was headed “One exception worth knowing” and opened “Anthropic’s most expensive model has its cheapest cache”. That was true of the multiplier; in dollars Haiku 4.5’s cache read, at $0.10, was already cheaper.
For a workload with a very large stable prefix and many reads, that changes which model is cheapest in practice, not just on the headline rate. The full price comparison is on LLM API prices, and the Opus 5.5 change on Claude Opus 5.5 vs Opus 5.
Before you switch it on
- Will this prefix be sent again? If no, do not cache it.
- Within the cache window? Five minutes is the cheap write; an hour costs double to create.
- Is anything variable above the stable part? Move it below.
- Are you measuring hits? Both vendors return cache-read and cache-creation token counts. A cache you never verify is a cache you are probably paying to miss.