# How to track LLM cost on Anthropic > Anthropic sends streamed usage across two events and is the only provider charging for cache writes. What Culpa records, and where it takes a floor. URL: https://getculpa.com/track-llm-cost-anthropic Last reviewed: 2026-08-02 ## Answer Anthropic splits streamed usage across two events, one carrying input and a later one carrying output, and it's the only provider here that charges to create a cache. Culpa, a local-first LLM cost, margin, and forecast ledger, meters both cache writes and cache reads as separate quantities, and takes the cheaper reading whenever the response leaves the cache duration unstated. ## Why this happens Anthropic's response shape carries more cost-bearing detail than any other, which is a benefit and an exposure at once. Cache creation bills above the input rate and cache reads bill far below it, so a ledger that folds them together gets the direction of its own error wrong. Streaming makes it harder again, because the input count arrives at the start of the message and the final output count arrives at the end. Capture that sees only one of those events holds half the arithmetic. ## What this usually looks like - Cache writes and cache reads are one number in your reporting, or one of them is absent. - Streamed calls carry an input count with no output count, or the reverse. - Your cache spend looks flat while your prompts are being rebuilt constantly. - Nobody can say which cache duration your calls actually used. ## Common mistakes - Treating cache creation as if it were a cache read. Why it hurts: A write bills above the input rate and a read bills at a tenth of it, so folding them inverts the sign of the effect. Do instead: Keep them as separate quantities all the way through, because they price in opposite directions. - Capturing only the first event of a streamed message. Why it hurts: You get input tokens and no output tokens, on a model where output bills five times input. Do instead: Capture through to the final event, and check that both counts land on a streamed call. - Reading an unstated cache duration as the cheaper one and moving on. Why it hurts: It's a deliberate floor, so the real cost can be higher and your forecast inherits the optimism. Do instead: State the duration explicitly on your requests so the ledger prices the one you actually used. ## Self-check - Check that cache writes and cache reads appear as two quantities rather than one. - On a streamed call, confirm both an input count and an output count arrived. - Look at whether your requests state a cache duration at all. - Total your cache-creation tokens for a month and price them at both durations. - Treat the gap between those two totals as the exposure your floor is absorbing. ## What an unstated cache duration costs a forecast (illustrative) 20 million cache-creation tokens a month on Claude Opus 4.8, at real rates of $5.00 per million input, $6.25 for a five-minute cache write and $10.00 for a one-hour write. Volumes are modelled. Priced at the five-minute write rate: 20 x $6.25 = $125.00 Priced at the one-hour write rate: 20 x $10.00 = $200.00 With no duration stated the ledger takes the five-minute rate, so it records $125.00 If the calls were really one-hour caches, the floor sits $75.00 below the truth The floor errs downward on purpose, because a number that reads low and says so beats one that reads high and doesn't A $75 gap on $200 of cache creation, absorbed deliberately rather than guessed away. State the duration on your requests and the floor stops being needed. ## Cost figures Every figure carries its confidence and its source. No figure on this site is provider-reported. - $125.00 to $200.00 — modelled monthly cost of 20M cache-creation tokens at the five-minute against the one-hour write rate [estimated] Source: Both endpoints at real Claude Opus 4.8 cache-write rates from the price book, effective 2026-07-02. A range because the cache-creation volume is modelled. - $75.00 — modelled exposure absorbed by taking the cheaper write rate when the duration is unstated [calculated] Source: $200.00 minus $125.00, from the teardown arithmetic at real price-book rates. ## FAQ Q: Why does Anthropic capture need more care than other providers? A: Because its responses carry more cost-bearing fields. Cache creation and cache reads price in opposite directions from plain input, and on a streamed message the input and output counts arrive in different events, so partial capture produces partial arithmetic. Q: What happens when a response doesn't say which cache duration was used? A: The cheaper five-minute write rate is applied, which makes the recorded figure a floor. That's the conservative direction by design, so a missing detail can never inflate your reported spend. Q: Is Anthropic the only provider that charges for cache writes? A: Among the providers in Culpa's price book, yes. OpenAI doesn't charge to create a cache, and Gemini's caching bills for storage time rather than for written tokens, which puts it outside token accounting altogether. ## Sources - Anthropic pricing: https://platform.claude.com/docs/en/docs/about-claude/pricing Run the free Cost Leak Scan: https://app.getculpa.com/scan?source=pseo&slug=track-llm-cost-anthropic&cluster=integration Machine-readable index of every guide: https://getculpa.com/api/pages Human-readable index of every guide: https://getculpa.com/guides Site overview: https://app.getculpa.com/llms.txt Privacy: 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.