Guides / culpa vs openlit

Culpa vs OpenLIT

OpenLIT is an open-source agent engineering platform that self-hosts free under Apache 2.0, traces with OpenTelemetry and filters by user, session or cost. Culpa, a local-first LLM cost, margin, and forecast ledger, prices calls from a versioned price book, sets them against the revenue a customer pays, and forecasts next month.

Why this happens

OpenLIT is the page in this cluster where Culpa's usual opening argument doesn't work, and saying so is more useful than dressing it up. It self-hosts free under Apache 2.0, it's built on OpenTelemetry, and its own homepage says you can filter by user, session, cost, latency or metadata. So local-first is matched, open source is matched, and cost attribution by user is matched. Anyone claiming Culpa uniquely keeps your data on your own machines hasn't read this project. What remains is narrow and real. OpenLIT shows what a call cost. It holds no record of what the customer who made that call pays you, so it can report spend by user and never margin by user. And nothing in its published feature set projects next month from your history, which is the other half of a finance question.

What this usually looks like

  • You can filter spend by user and there's nowhere to record what that user pays.
  • Cost per session is on a dashboard and cost per customer per dollar of revenue isn't.
  • Your forecast is a spreadsheet somebody maintains by hand.
  • Rates live in the tracing library and drift from what the provider actually charges.
  • You self-host everything and still can't answer whether a customer is worth keeping.

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 an open-source tracer's cost figures reconcile to an invoice.Displayed cost depends on whatever rate table is bundled, and provider rates change on dated schedules.Price against a versioned price book with effective dates, and check a month against the bill.
Reading cost per user as unit economics.Cost per user is half the fraction. Without revenue you can rank customers by spend and not by value.Record what each customer pays and divide, or use a ledger that already holds both.
Choosing a tool on licence and stopping there.Apache 2.0 answers who controls the data. It says nothing about which questions the tool can answer.List the questions you need answered, then check them against the feature set.

Run this check tonight

  1. Filter your spend by user, then try to put revenue beside it.
  2. Check which rate table your tracer uses and when it was last updated.
  3. Reconcile one month of displayed cost against the provider invoice.
  4. Ask what next month costs, with a range.

What a stale rate does to a self-hosted cost display

Any tool that displays cost carries a rate table, and provider rates change on published dates. Claude Sonnet 5 is listed at $2.00 and $10.00 per million through 2026-08-31 and $3.00 and $15.00 from 2026-09-01, both real rows in the price book. Take 100M input and 20M output tokens in a month and price it on each. Volumes are modelled, rates are published.

at introductory rates: 100 x $2.00 + 20 x $10.00 = $200.00 + $200.00 = $400.00
at standard rates: 100 x $3.00 + 20 x $15.00 = $300.00 + $300.00 = $600.00
the same traffic costs $200.00 more from 2026-09-01, a 50% rise
a rate table that missed the change under-reports by exactly that $200.00

This isn't a criticism of OpenLIT specifically, it's the failure mode of every bundled rate table including one Culpa would ship carelessly. The defence is effective-dated rates, so each call prices at the rate in force when it ran and a past month recomputes exactly as it was billed.

Every number, with its confidence and source

FigureWhat it meansConfidenceSource
$200.00monthly under-report on modelled traffic if a rate table misses Claude Sonnet 5's 2026-09-01 risecalculatedBoth rate rows are real and dated in the price book: $2.00 and $10.00 per million through 2026-08-31, $3.00 and $15.00 from 2026-09-01. 100M input and 20M output tokens gives $400.00 on the first and $600.00 on the second, a $200.00 gap. Token volumes are modelled. The point is the dated rate change, which is published by the provider.

What a generic answer can’t know

Give OpenLIT its due: Apache 2.0, free self-hosting, OpenTelemetry throughout, and cost visible alongside user and session. On the privacy and control axis it matches Culpa outright, and any page claiming otherwise would be wrong. The difference is one column and one capability. The column is revenue, which OpenLIT has no reason to hold, and without it cost per user can never become margin per user. The capability is a forecast, which needs history you kept and arithmetic run over it, and which appears nowhere in OpenLIT's published feature set. Culpa also prices from a price book carried with effective dates and stores money as exact decimal, so a month recomputes the way it was billed rather than the way today's rate table would bill it.

Questions founders ask next

Is OpenLIT free?

Its homepage says you can self-host free under Apache 2.0, and it publishes tracing, evaluations, prompt management, model comparison and an API key vault. That makes licence cost a non-issue and moves the comparison entirely onto what questions the tool answers.

Does OpenLIT track cost per user?

Its homepage says you can filter by user, session, cost, latency or metadata, so cost attribution is there. This page says so plainly rather than implying Culpa uniquely has it, because that overclaim has already been made once in this cluster and had to be retracted.

Then what does Culpa add?

The revenue each customer pays you, which turns cost per user into margin per user, and a forecast of next month from your own history with a range. Beyond those, prices come from a versioned price book with effective dates and money is stored as exact decimal, so a past month recomputes as it was billed.

Is local-first a reason to choose Culpa over OpenLIT?

No, and this is the page where that's clearest. OpenLIT self-hosts free under an Apache 2.0 licence. Local-first is table stakes across this category rather than a differentiator, and the honest argument is margin against revenue and a forecast.

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: OpenLIT, OpenLIT docs. Last reviewed 2026-08-03. Plain text version.