> ## Documentation Index
> Fetch the complete documentation index at: https://docs.unprice.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Pricing overview

> How Unprice models request-path authorization, plan versions, and invoice evidence.

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:

```text theme={null}
paid action -> plan version -> pricing rule -> meter -> entitlement -> budget -> wallet -> invoice evidence
```

## Core model

| Concept          | What it does                                        | Why it matters                                                |
| ---------------- | --------------------------------------------------- | ------------------------------------------------------------- |
| Plan             | Commercial package your team sells                  | Groups features into an offer                                 |
| Plan version     | Published snapshot of pricing and entitlement rules | Keeps existing customers on the pricing they bought           |
| Feature          | Sellable or gateable product capability             | Gives your app a stable slug to check                         |
| Meter            | Rule that turns events into usage                   | Powers usage limits, spend, and invoice evidence              |
| Entitlement      | Customer's right or limit for a feature             | Lets your app check what the customer can do                  |
| Budget           | Customer or workload spend cap                      | Stops over-budget work before it runs                         |
| Wallet credit    | Spend balance held for a customer                   | Separates money/credits from entitlement grants               |
| Invoice evidence | Trail from decision to charge                       | Explains why a line was billed, denied, credited, or replayed |

## 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](/quickstart/choose-operation) 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

<CardGroup cols={2}>
  <Card title="Plans and versions" icon="copy" href="/concepts/pricing/plans">
    Learn how plans and immutable versions keep pricing changes safe.
  </Card>

  <Card title="Usage metering" icon="gauge" href="/concepts/pricing/usage-metering">
    Learn how events become period-scoped usage.
  </Card>
</CardGroup>
