# Culpa vs OpenLIT > OpenLIT self-hosts free under Apache 2.0 and filters by user, session and cost. Culpa adds the revenue each customer pays and forecasts the month. URL: https://getculpa.com/culpa-vs-openlit Last reviewed: 2026-08-03 ## Answer 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. ## Common mistakes - Assuming an open-source tracer's cost figures reconcile to an invoice. Why it hurts: Displayed cost depends on whatever rate table is bundled, and provider rates change on dated schedules. Do instead: Price against a versioned price book with effective dates, and check a month against the bill. - Reading cost per user as unit economics. Why it hurts: Cost per user is half the fraction. Without revenue you can rank customers by spend and not by value. Do instead: Record what each customer pays and divide, or use a ledger that already holds both. - Choosing a tool on licence and stopping there. Why it hurts: Apache 2.0 answers who controls the data. It says nothing about which questions the tool can answer. Do instead: List the questions you need answered, then check them against the feature set. ## Self-check - Filter your spend by user, then try to put revenue beside it. - Check which rate table your tracer uses and when it was last updated. - Reconcile one month of displayed cost against the provider invoice. - 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. ## Cost figures Every figure carries its confidence and its source. No figure on this page is provider-reported. - $200.00, monthly under-report on modelled traffic if a rate table misses Claude Sonnet 5's 2026-09-01 rise [calculated] Source: Both 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. ## FAQ Q: Is OpenLIT free? A: 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. Q: Does OpenLIT track cost per user? A: 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. Q: Then what does Culpa add? A: 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. Q: Is local-first a reason to choose Culpa over OpenLIT? A: 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. ## Sources - OpenLIT: https://openlit.io - OpenLIT docs: https://docs.openlit.io Run the free Cost Leak Scan: https://app.getculpa.com/scan?source=pseo&slug=culpa-vs-openlit&cluster=competitor 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.