Guides / gpt-oss-20b pricing

GPT-OSS-20B pricing, and a cache that pays half as well

GPT-OSS-20B pricing on Groq is $0.075 per million input tokens and $0.30 per million output tokens, with a cached input rate at about half the input price rather than the ninety percent discount hosted frontier models offer. Caching still pays here, just far less. Culpa, a local-first LLM cost, margin, and forecast ledger, prices cached and uncached input separately so the difference is visible.

Why this happens

The advice to cache a repeated prefix is usually stated without a number attached, because on the hosted frontier models the number is always the same: a cached read costs a tenth of an input token. That single figure is what makes caching feel like a free win. Here a cached read costs about half an input token, so the same repeated prefix and the same hit rate return roughly half the saving. The work of restructuring a prompt around a cache breakpoint stays constant while the payoff halves, which changes whether it's worth doing.

What this usually looks like

  • A caching project was justified on a 90% discount that doesn't apply to this model.
  • Nobody has checked what this model's cached rate actually is as a share of input.
  • The same caching advice is applied across every model in the stack without re-pricing.
  • Cached token share here has never been measured against the effort spent enabling it.

Free, no card, no account

Run the free Cost Leak Scan

It shows your most expensive conversation before you install anything.

Run a free scan

Mistakes that cost the most

MistakeWhy it hurtsDo instead
Assuming a cached read costs a tenth of input everywhere.It's about half here, so a saving forecast built on 90% overstates by roughly fivefold.Read the cached rate per model and express it as a share of that model's input rate.
Ranking caching work by prefix size alone.The saving is prefix size times the discount, and the discount varies more than teams expect.Rank by prefix size times discount times hit rate. The order usually changes.
Skipping caching here because the discount is smaller.Half off a large repeated prefix is still a fifth or more of a total bill.Price it. A smaller discount on a big repeated block often beats a big discount on a small one.

Run this check tonight

  1. Divide this model's cached rate by its input rate. That fraction is your real discount.
  2. Do the same for every other model you run and compare the spread.
  3. Measure what share of your input on this model is a stable repeated prefix.
  4. Multiply prefix share by discount by hit rate to get the saving before doing the work.
  5. Confirm cached tokens are actually billing at the cached rate rather than at full input.

The same cache, at two different discounts

Illustrative example

60 million input tokens a month of which 45 million is a stable repeated prefix, plus 10 million output, on GPT-OSS-20B at real Groq rates. The prefix share and hit rate are modelled.

Uncached: (60 x $0.075) + (10 x $0.30) = $4.50 + $3.00 = $7.50
Cached prefix at about half input: (45 x $0.038) + (15 x $0.075) + (10 x $0.30) = $1.71 + $1.13 + $3.00 = $5.84
Saving = $1.66, which is 22% of the total
Had the cached rate been 90% off, the prefix would cost 45 x $0.0075 = $0.34 instead of $1.71
That would have saved $3.04, or 41% of the total, nearly twice as much

Same prefix, same hit rate, same engineering effort, and the payoff is 22% here against 41% on a ninety-percent cache. The discount is the variable nobody quotes and it decides whether the work is worth scheduling.

Every number, with its confidence and source

FigureWhat it meansConfidenceSource
$0.075 / $0.30 per millionGPT-OSS-20B input and output rates on GroqcalculatedPrice book row for groq/openai/gpt-oss-20b, $0.000075 and $0.0003 per 1k, effective 2026-07-02, re-verified against Groq's rendered pricing page 2026-08-01.
22% to 41%modelled saving on the same prefix at this model's cached discount against a ninety-percent oneestimatedBoth endpoints from the teardown arithmetic at real Groq rates. A range because prefix share and hit rate are modelled.

What a generic answer can’t know

The discount is on the rate card. What it's worth to you is prefix share times hit rate times that discount, and the first two are facts about your own prompts. Culpa measures them on your infrastructure, keeps your prompts and responses there, and counts the calls to run your plan.

Questions founders ask next

How much does GPT-OSS-20B cost on Groq?

$0.075 per million input tokens and $0.30 per million output, re-verified against Groq's pricing page on 2026-08-01. The cached input rate sits at about half the input price.

Why does the cached rate matter so much?

Because the saving from caching is the prefix share multiplied by the discount. A model discounting cached reads by 90% returns nearly twice what a model discounting by half returns, on identical prompts and identical effort.

Is caching still worth it at half off?

Often, yes. Half off a prefix that makes up three quarters of your input still takes about a fifth off the total. It's smaller than the headline everyone quotes, which is the reason to price it rather than assume it.

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.

Free, no card, no account

Run the free Cost Leak Scan

It shows your most expensive conversation before you install anything.

Run a free scan

Keep reading


Sources: Groq pricing. Last reviewed 2026-08-01, rates effective 2026-07-02. Plain text version.