Skip to content

Cost and FinOpsAnalysis

Sonnet 5.5 cache reads at $0.10: recompute your break-even

The Oct 7 cache-read cut barely moves the hit rate at which Claude caching starts to pay. It changes what a warm prefix costs, so the write premium and the TTL now decide your bill. This post reworks the arithmetic for agents, RAG and coding tools.

By INFRO Editorial

Published

9 min read

Glowing token streams being compressed into a precise efficient AI infrastructure pipeline

In short

On Sonnet 5.5, a 5-minute cache write pays for itself once about 21% of requests read the prefix, and a 1-hour write needs about 51%. The $0.10 read price left those thresholds almost where they were, but it cuts the cost of a warm prefix, so writes and TTL misses are now the main cost to manage.12

Key takeaways

  • The hit rate at which a 5-minute Claude cache write breaks even moved from about 22% to about 21%; the Oct 7 read cut changed the bill for warm prefixes, not the threshold.
  • With reads at 0.05x, cache writes are about half of a long agent session's cached input bill, so churn in the prefix costs more than before.
  • A 1-hour write (2x) needs roughly a 51% hit rate, and it beats the 5-minute write for traffic with gaps of about 10 to 60 minutes.
  • Metronome traffic with a gap just over the TTL gets zero hits and pays the 1.25x write every time, which is worse than not caching.
  • Measure hit rate per prefix from the cache read and write token counts on real responses, not from a fleet average.

What changed on October 7, and what did not

On October 7, 2026 Anthropic lowered the prompt cache read price on Claude Sonnet 5.5 from $0.20 to $0.10 per million tokens. That is 0.05x the base input price instead of 0.1x. Cache writes and all other prices were unchanged.1 Sonnet 5.5 input is $2 per MTok, a 5-minute cache write is $2.50, a 1-hour write is $4, and output is $10.2

The obvious reading is "caching got better, turn it on everywhere". That is only half right. Two separate questions are involved:

  1. Does a cache write pay for itself? This is a threshold question about hit rate.
  2. What does a warm prefix cost once it is paying? This is a steady-state question about read price.

The cut mostly answers the second. The first barely moved, and that matters because the first is the one that decides whether a sparse or bursty workload should be cached at all.

The break-even, with write cost in it

Let w be the write multiplier on the base input price, r the read multiplier, and h the share of requests that find a warm prefix (the rest are cold and pay the write). Caching beats no caching when:

h·r + (1 − h)·w < 1

Solving for the threshold gives h* = (w − 1) / (w − r).

break_even.py
def break_even_hit_rate(write_mult: float, read_mult: float) -> float:
    """Share of requests that must read a warm prefix for caching to beat no caching."""
    return (write_mult - 1) / (write_mult - read_mult)

def prefix_cost_per_request(prefix_tokens, base_per_mtok, write_mult, read_mult, hit_rate):
    per_mtok = base_per_mtok * (hit_rate * read_mult + (1 - hit_rate) * write_mult)
    return prefix_tokens / 1_000_000 * per_mtok

# Sonnet 5.5, 5-minute write (1.25x), read 0.05x since Oct 7
print(break_even_hit_rate(1.25, 0.05))  # ~0.208
# Same write, old read 0.10x
print(break_even_hit_rate(1.25, 0.10))  # ~0.217
# 1-hour write (2x)
print(break_even_hit_rate(2.0, 0.05))   # ~0.513

The multipliers come from Anthropic's pricing page: a 5-minute write is 1.25x base input, a 1-hour write is 2x, and a read is 0.1x by default, 0.05x on Opus 5.5 and Sonnet 5.5, and 0.025x on Fable 5.1 and Mythos 5.1.2

ModelRead multiplier5-minute write (1.25x)1-hour write (2x)
Sonnet 5.5 before Oct 70.10x21.7%52.6%
Sonnet 5.5 now0.05x20.8%51.3%
Opus 5.50.05x20.8%51.3%
Fable 5.10.025x20.4%50.6%
Break-even hit rate by model and TTL, calculated from the multipliers above.

The threshold moved by less than a point. Anthropic's own wording is that caching pays off after one cache read for the 5-minute duration and after two for the 1-hour duration;2 the table says the same thing as a rate. If your workload cleared the bar before the cut, it clears it now. If it missed the bar, the cut did not rescue it.

What a warm prefix costs now

Take a 50,000-token prefix, which is an ordinary size for a tool-heavy agent or a document-QA setup. Uncached, it costs $0.100 per request on Sonnet 5.5.

Read the first row first. At a 0% hit rate you pay the write premium on every request: a quarter more than not caching for the 5-minute TTL, and double for the 1-hour TTL. The cut did nothing for that row. Its effect is in the bottom rows, where the cost of the prefix drops by roughly 30% relative to the old read price (from $0.016 to $0.011 at 95%).

Agents and coding tools: where the gain is, and where it moved

A long agent loop is the case caching was made for, because each turn re-sends everything before it. Two things are specific to the growing prefix. The new tokens each turn (tool output, the model's last message, the user's reply) are written at 1.25x, and they are written whether or not the session lives long enough to read them back.

The split is the useful part. Before the cut, reads were roughly two thirds of the cached bill. Now writes (about $0.38 of $0.73, counting the first write) are about half and reads are 48%. Three practical consequences follow:

  • Prefix churn costs more than it did. Anything that rewrites earlier turns, such as trimming old tool results or editing the system prompt mid-session, invalidates the cache from the edit point onward, so the whole tail is rewritten at 1.25x.34 Compaction is a real cost event, not free housekeeping.
  • Large tool outputs are the new lever. A 20,000-token file dump enters the prefix once at the write rate and is then read on every later turn. Truncating it before it enters costs nothing in cache terms.
  • Turn gaps decide hit rate. The lifetime is measured from the start of the request that wrote or last read the entry, not from the end of the response, and a read refreshes it at no extra cost.3 An agent that streams for four minutes has about a minute left to start the next call. Test runs, builds and human approval pauses longer than the TTL turn the next turn into a full-prefix rewrite.

If those pauses are common in your sessions, a 1-hour write is worth pricing, because a stalled session otherwise rewrites a 150,000-token prefix at $2.50 per MTok (about $0.38) to resume.

RAG: cache the stable part, not the retrieved part

In a typical RAG request the prefix is the system prompt, tool or schema definitions and any fixed instructions, and the retrieved chunks differ per query. The cache matches an exact prefix of tools, system and messages, in that order, up to the block marked with cache_control.3 Put the breakpoint after the stable block and before the retrieved text; if chunks come first, nothing after them can hit.

The second shape is where the cut helps most: a large, shared, repeatedly queried context. The first is where cache hits depend on there being enough traffic on that one prefix to keep it warm.

TTL and traffic shape: when the 1-hour write wins

Hit rate is a property of arrival gaps, not of volume. Assume, for illustration, that requests to one prefix arrive as a Poisson stream (random, memoryless). A request hits if the previous request to that prefix started within the TTL.

The shape of the table is the finding. At gaps of a minute or so the TTL does not matter. In the 10 to 60 minute band the 5-minute entry expires between most requests and keeps charging 1.25x writes, while the 1-hour entry stays warm. Past roughly an hour, the 1-hour entry loses its edge too, and at a 90-minute mean gap both cost more than no caching.

Real traffic is rarely Poisson, and two shapes break the table:

  • Bursty traffic does better than the table, because requests cluster and the first one warms the rest.
  • Metronome traffic, such as a cron job every 6 minutes against a 5-minute TTL, does worse. Every request is cold, the hit rate is 0%, and you pay 1.25x on all of them. Move the schedule inside the TTL, move to the 1-hour write, or leave the job uncached.

Which workloads gain and which stay uncached

WorkloadPrefix behaviourVerdict
Interactive coding agentLarge, append-only, gaps mostly under 5 minutesCache; watch long tool runs and compaction
Agent with human approval stepsLarge, gaps often over 5 minutesPrice the 1-hour write against your measured hit rate
Long-document QALarge, shared, bursts of questionsCache; the best case
RAG with per-query chunksSmall stable prefix, volatile tailCache only the stable block; gain depends on prefix size
High-volume classification with a short fixed promptSmall prefix, constant trafficCache if the prefix is large enough to qualify; dollar gain is small
One-shot unique documents (summarise once)Never re-readStay uncached; the write premium buys nothing
Periodic jobs with gaps over the TTLCold every timeStay uncached, or look at batch processing5
Prompts with timestamps or user names near the topPrefix differs each timeFix the prompt first; caching cannot help

Measure it, then decide

The inputs that matter are the real prefix size and the real hit rate for each prefix, and both come from responses, not estimates.

  • Pull cache-write, cache-read and uncached input token counts for each request over a representative week, grouped by prefix (project, route or agent), not fleet-wide.
  • Count prefix tokens with the model you are moving to. Anthropic notes that Claude 4.7 and later models use a tokenizer that produces roughly 30% more tokens for the same text, so a prefix sized on an older model understates the new one.2
  • Compute the observed hit rate per prefix and compare it with 20.8% for a 5-minute write and 51.3% for a 1-hour write.
  • For prefixes below the line, look at the arrival-gap histogram: gaps just over 5 minutes point to the 1-hour write or a schedule change; gaps over an hour point to no caching.
  • Re-run the arithmetic with your contracted rates if they differ from list.

A gateway helps with the bookkeeping, not with the pricing. INFRO passes provider caching through unchanged, reads the cached-token counts your provider reports, and prices them at the cached rate in usage.cost per request, so cached and cold requests can be compared by project and key; your provider still invoices you directly. Enter negotiated rates under custom rates and the estimates use them before list. One caching-specific caveat from INFRO's docs: caches live with the upstream that served the request, so a failover to another connection starts that prefix cold.4 INFRO's traffic-change findings also include a lost prompt cache, with an estimated weekly cost change, which is the signal to watch after a prompt edit or a routing change.

The rest is the same discipline as before October 7: keep the prefix stable, keep the volatile content last, and let the measured hit rate, not the price list, say which prefixes earn a cache entry.

Questions readers ask

Does the cut apply to Opus 5.5 or Haiku 5.5?
The Oct 7 release note names only Sonnet 5.5 as the model whose cache read price was lowered.1 The pricing page lists Opus 5.5 reads at 0.05x ($0.20 per MTok) and Haiku 5.5 reads at $0.01 per MTok for prompts up to 100K tokens.2 Break-even hit rates for those models follow from the same formula in this post.
Do the cache multipliers change with US-only inference or batch?
Anthropic states that the caching multipliers stack with other modifiers such as batch pricing and data residency, and that the 1.1x US-only multiplier applies to cache writes and reads as well as input and output.2 Because every category scales together, the break-even hit rate does not change.
Where do I see cache hits per request through INFRO?
INFRO reads the cached-token counts your provider reports and prices them at the cached rate in usage.cost on each response, so you can group requests by project or key and compare cached and uncached cost.4

From the team that builds it

Where this shows up in INFRO

INFRO is a control plane in front of the provider accounts you already hold. The capabilities below are the parts of it this article touches, each with the documentation that defines its behaviour.

  • Usage and cost per request

    Available with a plan

    Every request records its model, latency, token or unit counts, and estimated provider cost, queryable by project and key.

    Read the documentation for Usage and cost per request
  • Traffic changes

    Available with a plan

    Changes in your traffic that come with no error: a model answered by a new snapshot, longer answers, a lost prompt cache, more fallbacks, answers cut off by the length limit, slower responses or a new error mix. Each finding names the likely cause and the estimated weekly change in provider cost. INFRO sees request metadata, not answers, so it does not judge answer quality.

    Read the documentation for Traffic changes
  • Negotiated provider rates

    Available with a plan

    Enter the rates your contracts actually carry, per model and optionally per provider, so estimated cost uses them before the vendor's list rate. Included on every plan.

    Read the documentation for Negotiated provider rates
  • Automatic failover

    Available with a plan

    A route that times out or 5xxs before the response starts is retried elsewhere without your client seeing it.

    Read the documentation for Automatic failover

INFRO accounts are self-serve. Provider usage is billed to you by your providers; INFRO charges a software subscription and takes 0% of model spend. See plans.

Sources

Numbered in order of first citation. Each was opened and checked against the claim on the date shown.

  1. 1.Claude Platform release notes (October 7, 2026 entry) (opens in a new tab) — Anthropic. Accessed Oct 31, 2026.
  2. 2.Pricing: model pricing and prompt caching multipliers (opens in a new tab) — Anthropic. Accessed Oct 31, 2026.
  3. 3.Prompt caching (opens in a new tab) — Anthropic. Accessed Oct 31, 2026.
  4. 4.Prompt caching, INFRO docs (opens in a new tab) — INFRO. Accessed Oct 31, 2026.
  5. 5.Plans & pricing (API section) (opens in a new tab) — Anthropic. Accessed Oct 31, 2026.

About this article

Read on 2026-10-31: Anthropic's prompt caching docs, API pricing page, Claude pricing page, Platform release notes and INFRO's prompt caching docs. OpenAI's pricing page returned HTTP 403, so no OpenAI figures are used. Prefix sizes, hit rates and session costs are illustrative calculations, not measurements.

Last checked against its sources on . The next review is due by . No separate named reviewer is recorded for this article.

How articles are written, sourced and corrected is set out in the editorial standards.