Guides / track llm cost groq

How to track LLM cost on Groq

Open-weight lineups change faster than any price book tracks, so a Groq model can arrive or vanish between updates. Culpa, a local-first LLM cost, margin, and forecast ledger, prices a call it has no rate for at zero and flags it as incomplete, so an unpriced model shows up as a visible gap rather than as a silently wrong total.

Why this happens

A price book is a snapshot and a model catalogue is a moving target, and open-weight hosting moves fastest of all. Two models sitting in this book are already off the vendor's page, and the reverse happens just as often: a new model id appears in production before any rate exists for it. Every ledger faces the same choice at that moment, which is to guess a rate, drop the call, or record it and admit it can't price it. Only the third one leaves you able to find out later.

What this usually looks like

  • A model id appears in your traffic that nobody added to a price book.
  • Your totals reconcile for most models and one of them contributes nothing.
  • A model you're still calling has disappeared from the vendor's pricing page.
  • Nobody reviews the flagged-incomplete count, so an unpriced model can run for months.

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
Filling an unknown rate with a similar model's price.You get a total that looks complete and is wrong, and nothing marks which rows were invented.Record zero and flag it. A gap you can see gets fixed and a guess gets trusted.
Dropping calls you can't price.You lose the token counts too, so the spend can't be recovered once a rate exists.Keep the call with its counts. Adding the rate later reprices history rather than rebuilding it.
Never reviewing the incomplete count.It's the one number that tells you your price book has fallen behind your traffic.Put flagged-row count on the same dashboard as spend, and treat a rise as a data problem.

Run this check tonight

  1. List every distinct model id in last month's traffic and check each has a rate.
  2. Total the calls flagged incomplete and see which models they belong to.
  3. Check whether any model you still call has left the vendor's pricing page.
  4. Confirm your unpriced calls kept their token counts rather than being discarded.
  5. Add a rate for one unpriced model and confirm the history reprices rather than staying blank.

What an unpriced model does to a month

Illustrative example

800,000 calls a month on a Groq model with no rate in the book, each sending 2,000 input tokens and returning 400. Priced afterwards at Llama 3.3 70B's real rates of $0.59 per million input and $0.79 output for scale. Volumes are modelled.

Per call once a rate exists: (2 x $0.00059) + (0.4 x $0.00079) = $0.00118 + $0.000316 = $0.001496
Real monthly spend: 800,000 x $0.001496 = $1,196.80
With no rate in the book the ledger records $0.00 across all 800,000 calls
Every one of them is flagged incomplete, so the count reads 800,000 rather than the cost reading low
Adding the rate reprices the stored counts, and the month resolves to $1,196.80 without recapture

A visible zero on 800,000 flagged rows is a question anyone can act on. A plausible estimate on the same rows is a number nobody questions and nobody can check.

Every number, with its confidence and source

FigureWhat it meansConfidenceSource
$1,196.80modelled monthly spend recoverable from stored counts once a missing rate is addedcalculated800,000 calls x $0.001496, using real Groq Llama 3.3 70B rates per million from the price book, effective 2026-07-02 and re-verified 2026-08-01. Call volume and token counts are modelled.
$0.00what an unpriced model contributes to a total before its rate exists, alongside an incomplete flagcalculatedA model with no price-book row prices to zero by construction, and the completeness flag rather than the amount carries the meaning.

What a generic answer can’t know

The vendor knows its own catalogue and has no idea which models your code still calls or which of them your rate data has caught up with. That comparison needs your traffic beside your price book. Culpa holds both on your infrastructure, keeps your prompts and responses there, and counts the calls to run your plan.

Questions founders ask next

What happens when Culpa has no price for a model?

The call is stored with its token counts, priced at zero and flagged as incomplete. The reporting layer reads that flag as an estimate rather than a calculation, so an unpriceable call can never masquerade as a measured one.

Do I lose the data until a rate exists?

No. The token counts are kept, so adding the rate later reprices the stored history. That's the reason to record and flag rather than to drop, because a discarded call can't be recovered once the rate arrives.

Why not estimate the rate from a similar model?

Because the total then looks complete while being wrong, and nothing marks which rows were invented. Open-weight models differ enough in price that a neighbour's rate is a guess, and a guess inside a cost ledger is the thing the whole tool exists to remove.

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-02. Plain text version.