# Culpa vs Lunary > Lunary bills per user and per event, and its free tier keeps one month of history. Culpa prices calls from a rate book and forecasts the month. URL: https://getculpa.com/culpa-vs-lunary Last reviewed: 2026-08-03 ## Answer Lunary is an open-source LLM observability platform billed per seat and per event, with history length set by your plan. Culpa, a local-first LLM cost, margin, and forecast ledger, prices every call from a versioned price book, carries the revenue each customer pays you, and forecasts next month from history you keep yourself. ## Why this happens Lunary bills on two axes and gates history on a third. Free is $0 with 10k events a month, 3 projects, a single seat and one month of history. Team is $20 per user per month with 50k events, then $10 per additional 50k, up to 10 seats and one year of history. Enterprise adds self-hosting, SSO, PII masking and SOC 2. The per-seat line is the one that behaves unlike your model bill, because adding an analyst who reads dashboards costs the same as adding an engineer who ships traffic, and neither correlates with tokens. The history line is the one that matters for cost work. One month on Free supports exactly one month-over-month comparison and no seasonal read at all, and a forecast is made of history. ## What this usually looks like - Your observability bill went up because you added a reader, not because you added traffic. - You have one month of history and a question that needs twelve. - Event count and token count diverged and nobody noticed which one you're billed on. - Cost per customer exists on a dashboard and there's nowhere to put what they pay you. - A seat limit decides who gets to look at spend. ## Common mistakes - Choosing a plan on event volume and forgetting the seat cap. Why it hurts: Lunary publishes a maximum of 1 seat on Free and 10 on Team, so access runs out before events do. Do instead: Count the people who need to read spend, then check the tier. - Treating one month of history as enough for cost work. Why it hurts: One month gives you no comparison at all, and two gives you one. Seasonality needs a year. Do instead: Decide the lookback your reporting needs before picking a tier on price. - Reading events as a stand-in for tokens. Why it hurts: An event is a logged thing. Ten cheap calls and one expensive one can meter identically. Do instead: Price by tokens against a rate book, and keep events for volume. ## Self-check - Count the people who need to read cost, against your plan's seat cap. - Check how many months of history your plan keeps. - Ask what one customer costs you, and where their revenue is recorded. - Compare your event count to your token count over the same week. ## What a per-seat meter does to a cost review Lunary Team publishes $20 per user per month with 50k events included and $10 per additional 50k. Cost review tends to want finance and engineering in the same tool. Take a team adding four non-engineering readers who ship no traffic at all. Prices are published. The team shape is modelled. 6 engineers on Team = 6 x $20 = $120 a month adding 4 finance and product readers = 10 x $20 = $200 a month the bill rose $80, or 67%, with zero additional events logged at 10 seats the published maximum for this tier is reached Per-seat pricing quietly taxes the thing cost work most needs, which is more people looking at the numbers. It's a normal pricing model and worth pricing deliberately, because the cheapest way to stay under it means letting fewer people see the spend. ## Cost figures Every figure carries its confidence and its source. For each provider-reported figure below, its own source line names the published record it came from, the date that record was read, and any aggregation applied to it. - $20 per user per month, Lunary's published Team plan price, before event overages [provider-reported] Source: lunary.ai/pricing, read 2026-08-03. Team includes 50k events a month then $10 per additional 50k, a maximum of 10 seats and 1 year of history. Free is $0 with 10k events, 1 seat and 1 month of history. Enterprise is custom with self-hosting, SSO, PII masking and SOC 2. - $200 per month, the same Team plan for a modelled team of 10, four of whom log no events at all [calculated] Source: 10 seats x the published $20 per user per month = $200, against $120 for the 6 engineers alone. Team size and the split between engineering and reading seats are modelled. The per-seat rate and the 10-seat maximum are published on lunary.ai/pricing, read 2026-08-03. ## FAQ Q: What does Lunary cost? A: Free is $0 with 10k events a month, 3 projects, 1 seat and 1 month of history. Team is $20 per user per month with 50k events included, then $10 per additional 50k, up to 10 seats and 1 year of history. Enterprise is custom and adds self-hosting, SSO, PII masking and SOC 2. Read 2026-08-03. Q: How much history does Lunary keep? A: One month on Free and one year on Team, per its published comparison table, with Enterprise custom. That's the practical ceiling on backward-looking cost questions, and it's why a forecast built on a free tier has almost nothing to learn from. Q: Is Lunary open source? A: Yes, and it publishes self-hosting on its Enterprise tier. That means privacy and control aren't what separate Lunary from Culpa. The difference is margin against revenue and a forecast, neither of which appears in its published feature set. Q: Does an event mean a call? A: Lunary meters events rather than tokens, so the relationship to spend depends on what you log. Ten cheap calls and one expensive call can consume similar event allowance while costing very different amounts, which is why event count is a poor stand-in for spend. ## Sources - Lunary: https://lunary.ai - Lunary pricing: https://lunary.ai/pricing Run the free Cost Leak Scan: https://app.getculpa.com/scan?source=pseo&slug=culpa-vs-lunary&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.