Guides / llm pricing modifiers

LLM pricing modifiers, and how they combine

A published per-token rate is a starting point that four modifiers move: prompt caching, batch processing, fast mode and data residency. Most multiply together and one pair is mutually exclusive. Culpa, a local-first LLM cost, margin, and forecast ledger, prices every call at the rate it was actually billed rather than at the headline one.

Why this happens

Nobody pays the number on the pricing page. Four modifiers sit between it and your invoice, and Anthropic is unusually explicit about how they interact, which makes its documentation the best available map. Prompt caching multiplies: reads at 0.10x, five-minute writes at 1.25x, one-hour writes at 2.00x. Batch processing halves both input and output. Fast mode doubles, on the two Opus models it covers. Data residency adds 10% for regional and multi-region endpoints, which is the one figure OpenAI and Anthropic happen to share. The composition rules are the part that catches people. Anthropic states caching multipliers apply on top of fast mode pricing and that data residency multipliers do too, so those three genuinely multiply. It also states fast mode isn't available with the Batch API, so the largest discount and the largest premium can't meet. Everything else compounds, which means a rate can land anywhere from 0.05x to well above 2x of the number you looked up.

What this usually looks like

  • Your effective rate per token doesn't match any number on the provider's pricing page.
  • A discount you were counting on turned out to be incompatible with a tier you'd already enabled.
  • Nobody can say what your blended rate actually is, only what the list price was.
  • A regional endpoint was chosen for compliance and its premium was never costed.
  • Cache savings and batch savings were both claimed against the same workload.

Free, no card, no account

Run the free Cost Leak Scan

It shows your most expensive conversation before you install anything.

Run the free Cost Leak ScanStart 14-day trial

Mistakes that cost the most

MistakeWhy it hurtsDo instead
Planning a workload on the headline rate.Four modifiers sit between that number and your bill, and they compound rather than average out.Compute the effective rate for the exact combination you're running, then plan on that.
Assuming every discount composes with every other.Fast mode and the Batch API are mutually exclusive, so a plan that assumed both was never possible.Check the provider's own composition rules before designing around a combination.
Costing a compliance decision as a routing change.Regional and multi-region endpoints carry a 10% premium on both OpenAI and Anthropic, applied on top of whatever else is set.Price residency as a line item, because it multiplies against every other modifier you have on.
Reporting savings from a cache and a batch on the same tokens.They apply to different things, and counting both against one workload double-counts the benefit.Attribute each saving to the tokens it actually applied to, from the ledger rather than from a model.

Run this check tonight

  1. Write down every modifier currently enabled anywhere in your stack.
  2. For your largest workload, compute the effective rate rather than quoting the list rate.
  3. Check whether any pair you rely on is documented as incompatible.
  4. Compare your computed effective rate against a real invoice line and see whether they agree.

One workload, four modifiers, one effective rate

1M input tokens on Claude Opus 4.8, published at $5.00 per million, run four ways. Caching multipliers of 0.10x read and 1.25x five-minute write, batch at 50%, fast mode at 2x and regional residency at 10% are all published by Anthropic and read on 2026-08-03. The combinations are the point, and every one below is documented as legal except the last.

plain input: 1M x $5.00 per million = $5.00
cached read (0.10x): $5.00 x 0.10 = $0.50
batched (0.50x): $5.00 x 0.50 = $2.50
fast mode (2x) with regional residency (1.10x): $5.00 x 2 x 1.10 = $11.00
fast mode with batch: not available, so the cheapest and dearest paths never meet

The same million tokens costs $0.50 or $11.00 depending on four settings, a spread of 22 times, and the pricing page shows one of those five numbers. Effective rate is the only rate worth planning on.

Every number, with its confidence and source

FigureWhat it meansConfidenceSource
$0.50 to $11.00the range one million Opus 4.8 input tokens can cost, depending on which modifiers are setcalculated1M input tokens at Anthropic's published Opus $5.00 per million from the price book effective 2026-07-02, multiplied by published modifiers read from platform.claude.com on 2026-08-03: cached read 0.10x gives $0.50, batch 0.50x gives $2.50, fast mode 2x with regional residency 1.10x gives $11.00. Every multiplier is published. The combinations shown are documented as legal, and fast mode with batch is documented as unavailable.
10%the regional and multi-region endpoint premium, published by both OpenAI and Anthropicprovider-reportedAnthropic: regional and multi-region endpoints include a 10% premium over global endpoints, applying from Claude Sonnet 4.5, Haiku 4.5 and Opus 4.5 onward. OpenAI: regional processing endpoints are charged a 10% uplift for eligible models released on or after 2026-03-05. Both read on 2026-08-03.

What a generic answer can’t know

Provider dashboards report what you spent, not which modifier combination produced it, so an effective rate has to be reconstructed and almost nobody reconstructs it. Culpa prices each call from a versioned price book carrying the modifiers that applied to it, in exact decimal, so the blended rate is a measurement rather than an estimate and a month reconciles against the invoice line by line. That's also what makes the composition rules checkable: a workload that was supposed to be batched and wasn't shows up as a rate that didn't halve, rather than as a total that came in higher than expected for reasons nobody could name.

Questions founders ask next

Which LLM pricing modifiers stack?

Anthropic states prompt caching multipliers apply on top of fast mode pricing, and that data residency multipliers do too, so caching, fast mode and residency compound. Batch processing composes with caching and residency as well. The documented exception is fast mode and the Batch API, which can't be combined.

How much is the data residency premium?

Ten percent for regional and multi-region endpoints over global ones, which is the figure both OpenAI and Anthropic publish. OpenAI applies it to models released on or after 2026-03-05 that are eligible. Anthropic applies it from Claude Sonnet 4.5, Haiku 4.5 and Opus 4.5 onward, with earlier models keeping their existing pricing.

Why doesn't my effective rate match the pricing page?

Because the pricing page shows one rate and your traffic is a mix. Cached reads at a tenth, uncached input at full, batched work at half and anything on a premium tier at double all land in the same month, so the blended figure sits between them and matches none of them.

Can I combine batching and caching?

Anthropic says caching and batch discounts apply at standard rates across the full context window, so they compose. The pair that doesn't is fast mode and the Batch API. Worth confirming against your provider's own page before designing around any combination, since these rules change.

On your infrastructure

Culpa runs on your infrastructure. Your prompts and responses never leave it. Culpa counts calls to run your plan, and it fails open, so if it ever breaks your app keeps running.


How Culpa works

Find the culprit. Not just the total.

Your dashboard shows what you spent. It stops short of who spent it. Culpa shows the conversation, the user and the feature behind it.

Your prompts stay local.

Culpa runs on your own infrastructure. What you send to a model reaches us at no point.

Every dollar has a name.

Follow any charge to the conversation, the user, the feature and the customer behind it.

See the bill before it lands.

Cost your next feature before you ship it. You get the likely bill and the worst case, at best, median, p90 and p99.

Three steps to your first answer.

1

Change one base URL.

Or drop in the Python or TypeScript library.

2

Find your most expensive conversation.

In the first session, not the first week.

3

Cost your next feature before you ship it.

Base URLhttp://localhost:4545/v1Your traffic keeps flowing if Culpa ever stops.

Why the bill went up

Example dashboard

Calls traced

418,209

across 3 projects

Spend this week

$378.41

+ $182 vs last week

Failed calls

312

74% retried, and you paid for all of them

+ $182 this week traced to one culprit

Spend over 14 days

$0$20$40$60$8024262830020406
user_384report_generatorconv_91fprompt_v1894,220 tokens3 retries$6.81

Most expensive users

user_384$38.42
user_119$21.07
user_562$14.90
user_204$8.30
user_871$5.10

Next week forecast

Best$180
Median$240
p90$310
p99$395

Graded against reality. Accuracy shown as results land.

Keep reading


Sources: Anthropic pricing, OpenAI API pricing. Last reviewed 2026-08-03, rates effective 2026-07-02. Plain text version.