In practice, it depends on the workload and the model tier:
OpenAI is usually cheaper for simple, bursty, or unpredictable reuse, because cached input is typically discounted and there’s often no separate cache-write charge on newer models.[1][4]
Claude is often cheaper for heavy reuse of a large, stable prefix—for example, long system prompts, RAG context, or agent loops—because cached reads are very cheap, at about 0.1× the normal input price, even though cache creation costs more.[2]
Rule of thumb
Few repeated calls or irregular timing:OpenAI tends to win.
Many repeated calls over a stable prefix: Claude often wins.
Same model capability tier matters a lot: a cheaper cache rate does not always mean lower total cost if the base model price is higher.
Why the answer is not one-size-fits-all
Claude’s caching has a write premium—about 1.25× for a 5-minute cache or 2× for a 1-hour cache—but then reads are very cheap.[2] OpenAI’s caching is generally simpler operationally and usually cheaper when the cache is only hit a few times, but its discount is often smaller on older or mid-tier setups.[1][4]
Practical bottom line
If you want the lowest cost for lots of repeated reuse of the same prefix, Claude often comes out cheaper.
If you want the best economics for light or unpredictable reuse, OpenAI is usually cheaper in practice.
If you’re deciding for a real workload, the best comparison is to plug in your own:
prompt size,
expected cache hit rate,
reuse frequency,
and model prices.
That usually determines the winner more than the cache mechanism alone.