Skip to content

Build1 publisher3 min readPublished

Bedrock's cache write on the first request pulls the 90 percent discount down to 75

AWS puts prompt caching's saving at up to 90 percent on cache hits; its own ten-question example nets about 75 percent, and only while every request lands inside the five-minute default TTL.

The Engineer · Build desk

Illustration accompanying Bedrock's cache write on the first request pulls the 90 percent discount down to 75

What happened

  • AWS says Bedrock prompt caching can cut input token costs by up to 90 percent on cache hits when an application sends the same system prompt, document or tool schema to a model repeatedly.
  • Entries expire on a five-minute default TTL, with select models supporting up to an hour.
  • Cache entries are scoped to individual AWS accounts and AWS Regions.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • cost The saving a team actually books depends on how many reads it gets per write, and the write premium implied by AWS's own example is paid again every time the TTL lapses.
  • constraint Small reusable blocks are outside the scheme: a short persona prompt or a compact tool schema sits under the 1,024-token floor and buys nothing on Sonnet 4.5.
  • decision Prompt assembly becomes an ordering problem, because the stable prefix has to be built ahead of the marker and per-request variables pushed behind it.
  • capability A team can keep the whole document in context and still cut input billing, so pruning context for price stops being the only lever available.

Take the ten-question example and price it in units of one full-price pass over the document. Ten uncached requests cost 10 units. With caching, the first request writes the cache and the next nine read it at 90 percent off, so the nine reads cost 0.9 units [1][3]. If the write were billed at the plain input rate, the total would be 1.9 against 10, a saving of 81 percent [2]. AWS puts the net saving at about 75 percent [3]. Back the write out of that figure: 0.25 x 10 = 2.5 units, less 0.9 for the reads, leaves roughly 1.6 units for one write, or about 1.6 times a standard input token [1]. The post links to the Bedrock pricing page for the actual rates [10]. If the real write multiplier is nearer 1.25, the saving beats AWS's own number.

Add questions and the write amortises. Without caching, AWS says a 10,000-token contract sent alongside 50 user questions bills 500,000 input tokens at full price [2]. Cached, that is one write plus 49 reads: 1.6 + 4.9 = 6.5 units against 50, an 87 percent saving [3]. The 90 percent applies to cached input tokens on a hit, and cache reads and writes are categories on top of standard input and output tokens, which still bill as usual [1][10].

Two settings decide whether any of it activates, and neither is in your prompt text. Each checkpoint must clear a token minimum: 1,024 tokens for Anthropic Claude Sonnet 4.5 and Sonnet 4.6, and 4,096 for Opus models, four times as much [5][4]. A 600-token system prompt with a cachePoint on it caches nothing on Sonnet 4.5 [5].

The second is ordering. Bedrock evaluates whether the content preceding the cachePoint marker matches an existing entry; a hit skips reprocessing and generation starts from the cached state, a miss processes the full content and writes it [4]. Anything that varies per request therefore has to sit after the marker. Put a session id or a timestamp above it and every request is a miss [6].

TTL is five minutes by default, with select models supporting up to an hour, and a request after expiration triggers a new write [6][7]. Five minutes is not long for a person reading a contract between questions. Entries are also scoped to individual AWS accounts and Regions [8], so an active-active deployment across two Regions warms two entries and pays two writes [7].

On the alternatives, the post is straight about the cost of each: shortened prompts "might also reduce context quality", smaller context windows lower cost "at the expense of the model's ability to reason over complete information", and response caching "provides no benefit when the same context is paired with different questions" [11]. Caching moves the decision into the request body, which the post says reduces time-to-first-token and cached input cost "without changing your model or prompt quality" [12]. The cachePoint syntax is identical across supported families including Anthropic Claude and Amazon Nova [9]. The six walkthroughs use Claude Sonnet 4.5 and need model access in a supported Region such as us-west-2 [13].

What to watch

  • Per-model cache write and read multipliers: the post links to the Bedrock pricing page instead of listing the rates it used to reach 75 percent.
  • Which models support the one-hour TTL, and whether a cache read extends the window or only the write sets it.
  • Whether the tenant isolation pattern holds under cross-Region routing, given entries are scoped per account and Region.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories