CalcSays
PROMPT CACHING · READ DISCOUNT vs WRITE PREMIUM

Prompt Caching Savings Calculator

Caching brochures quote 90% off. The real answer needs your hit rate and the write premium every miss pays — below the break-even, caching costs you money. This calculator computes both from live prices.

For engineers deciding whether prompt caching is worth turning on — models the read discount AND the write premium against your real hit rate, not the brochure's 90%.

Model prices from OpenRouter · updated 2026-07-13

01 Your setup

Model

Cache reads $0.2/M vs $2/M fresh · writes $2.5/M (1.25×)

02 Caching on vs off

Caching saves you $402/month at a 80% hit rate — 37% off the uncached bill.

Without caching
$1,100
every token at full price
With caching
$698
reads discounted, misses pay writes

Break-even hit rate: 22% · you're at 80%

03 Where the savings come from

Uncached baselineprefix + fresh + output, all at list price$1,100
Cache reads on hits80% of calls re-read the prefix at $0.2/M−$432
Write premium on misses20% of calls re-write at $2.5/M+$30.00
With caching$698
Tweet
Why a break-even?Cached reads are cheap, but every miss re-writes the prefix — at a premium on Anthropic-style pricing. Below the break-even hit rate the premiums outweigh the discounts and caching loses money. Fresh input and output never get discounted, and TTL expiry isn't modeled — treat the hit-rate slider as your effective rate.

04 Which models reward caching most

1. Claude Opus 4.7 (Fast)Anthropic · biggest saver$6,030/mo (37%)
2. Claude Opus 4Anthropic$3,015/mo (37%)
3. Claude Opus 4.1Anthropic$3,015/mo (37%)
4. GPT-5 ImageOpenAI$2,100/mo (54%)
5. Claude Fable 5Anthropic$2,010/mo (37%)
6. Claude Fable LatestAnthropic$2,010/mo (37%)
7. Claude Opus 4.8 (Fast)Anthropic$2,010/mo (37%)
8. o1OpenAI$1,800/mo (24%)
9. o3 Deep ResearchOpenAI$1,800/mo (35%)
10. GPT-5.4 Image 2OpenAI$1,440/mo (42%)

Top 10 of 315 models by absolute monthly savings at this workload; the 147models without published cache pricing rank last. Savings alone don't pick a model — quality on your task does.

📄 Get the full agent cost audit
A multi-page report on your exact setup: where cost spirals, how much context-trimming / state-resets / model-routing each saves, and which model+framework combo is cheapest at your real failure rate. Generated from your numbers.

Prices from OpenRouter, snapshot 2026-07-13, synced daily (incl. cache read/write rates where published). With-caching = hits × prefix × read + misses × prefix × write + fresh × input + output; write falls back to the input rate when no write charge exists. TTL expiry and partial-prefix invalidation are not modeled — real savings run somewhat below the best case. All math runs in your browser.

How the math works

Caching brochures quote the read discount ("90% off"), but the real ROI needs two more numbers: the write premium and your hit rate. Every cache miss re-writes the prefix — at a premium on Anthropic-style pricing, at plain input price on OpenAI-style pricing — so caching a 3,000-token prefix is a bet that enough calls land on a warm cache.

Claude Sonnet 5 bills cached reads at $0.2/M against $2/M fresh input, and charges $2.5/M to write a cache entry (1.25× the input rate).

The break-even hit rate is where the bet flips: h* = (write − input) ÷ (write − read). For this page's defaults that's 22% — below it, caching costs you money; above it, every extra hit is pure savings. At the default 80% hit rate the 3,000-token prefix saves $402 per month (37% off the uncached $1,100).

Only the prefix participates: fresh per-call input (500 tokens here) and output (400 tokens) always bill at full price. TTL expiry and partial-prefix invalidation aren't modeled — treat the hit-rate slider as your effective hit rate after those losses, and expect real savings a notch below the best case.

Prices sync daily from OpenRouter (168 of 315 models publish cache-read pricing; 53 publish a write premium). Every calculation runs in your browser with tested, open formulas — nothing is estimated by an AI.

Frequently asked questions

How much does prompt caching save prompt caching?

At this page's defaults — a 3,000-token cacheable prefix, 100,000 calls a month, 80% hit rate — caching turns an uncached $1,100/month into $698/month: $402 saved (37%). Tune every input above for your workload.

What hit rate do I need for caching to pay off?

The break-even is (write − input) ÷ (write − read). For Claude Sonnet 5 that's 22% — with a 5-minute TTL, roughly "more than one hit per cached prefix". Production systems with stable system prompts typically see 70–95% effective hit rates; sporadic traffic with short TTLs can fall under 30%.

Why does the cache write premium matter?

Anthropic-style caching charges ~1.25× the input rate to create a cache entry, so every miss costs MORE than not caching at all. High-churn workloads (long-tail users, TTL expiry between calls) can sit below break-even without noticing — teams turn caching on, see the brochure discount, and never check the write column on the bill. OpenAI-style automatic caching has no write charge, which is why its break-even is 0%.

Which models reward caching most?

At this exact workload the top savers right now are Claude Opus 4.7 (Fast) ($6,030/month saved), Claude Opus 4 ($3,015) and Claude Opus 4.1 ($3,015) — refreshed daily from live prices. Expensive models with cheap reads save the most in absolute dollars; 147 of the 315 models in our catalog publish no cache pricing at all and rank last.

What formula does this calculator use?

Without caching = calls × [(prefix + fresh) × input + output × output-rate]. With caching = calls × [hit-rate × prefix × read + (1 − hit-rate) × prefix × write + fresh × input + output × output-rate], where write falls back to the input rate when no write charge is published. Savings is the difference; break-even hit rate is (write − input) ÷ (write − read). TTL and partial invalidation are not modeled.

Are these cache prices current?

Prices sync daily from OpenRouter's public catalog (including input_cache_read and input_cache_write where published) and the page shows its snapshot date. If a sync fails, the last verified snapshot keeps serving. All math runs client-side with tested code.