Skip to main content
For usage-based products, pricing is a runtime decision and an evidence trail. The important moment is not only the invoice. It is the paid action in your product: an API request, LLM call, workflow, data job, export, or tool run that can create cost before billing catches up. Unprice connects that action to one customer money path:

Core model

Runtime calls

Use these calls inside your product:
  • access.check asks whether a customer can use a feature without changing state.
  • usage.consume synchronously applies known usage and returns the allow or deny decision.
  • usage.record asynchronously reports usage for metering and evidence.
  • runs.start, runs.consume, and runs.end reserve and consume a budget for multi-step work.
Read Choose the runtime call before wiring production enforcement.

PriceOps underneath

PriceOps is the operating model behind Unprice: plans, plan versions, subscriptions, entitlements, meters, budgets, credits, usage evidence, and invoice evidence stay separate but connected. That separation is what lets you:
  • authorize customer spend before paid work runs
  • keep existing customers pinned to the plan version they bought
  • change packaging without rewriting product code
  • explain charges from plan, usage, wallet, ledger, and billing evidence

Next steps

Plans and versions

Learn how plans and immutable versions keep pricing changes safe.

Usage metering

Learn how events become period-scoped usage.