The Unprice manifesto
Every AI charge starts with an authorization.
An agent can spend a customer's credits before an end-of-cycle invoice exists. A usage counter can record the cost, but it cannot decide whether the work should run.
Put the commercial decision before the run. Check the plan and budget, reserve customer credits, and deny unfunded work. Then settle actual usage and trace the invoice line to the authorization.
cause: the money decision runs after the cost exists
every answer yes · work runs
200
any answer no · denied first
LIMIT_EXCEEDED
Every AI charge starts with an authorization.
Before an agent or workflow runs, your app checks the customer's plan, budget, and credits. That authorization stays with the usage and explains the invoice line later.
One decision, two futures. A deny comes back as LIMIT_EXCEEDED before any cost exists. The wallet stays untouched, the ledger stays empty, and the invoice has no line. An allow keeps the evidence from the decision that let the work run.
Operate pricing like infrastructure.
PriceOps means keeping pricing rules in versioned infrastructure. Plans, versions, entitlements, meters, budgets, credits, and invoice evidence stay separate but connected. You can change packaging without rewriting the product.
- 01
Spend safety
Put a real-time budget around the expensive action. Over-budget customer or workload spend is rejected in the request path, before the work runs.
stop cost before it exists
- 02
Runtime decisions
Pricing is not a page or an end-of-cycle job. Entitlement, budget, and credit checks happen while the request is in flight.
decide in the request path
- 03
Explainable money flow
Usage, entitlements, budgets, credits, and invoices share one evidence trail. Every charge traces back to rated events and ledger captures.
every charge carries evidence
- 04
Open and inspectable
Money logic should not be a black box. Read the open-source runtime yourself, or have your agent inspect it.
trust follows inspection
The billing layer you rent can be acquired. The money path you own cannot.
Between 2025 and 2026, four venture-backed billing vendors were acquired or taken private. When your revenue logic runs in a closed vendor runtime, an acquisition can change the product and roadmap you depend on.
Unprice keeps the customer spend decision, the double-entry ledger, and the invoice explanation in one open money path you can read, fork, and run in your own Cloudflare account. Read the code that guards your money, or have your agent inspect it, before you trust it.
git clone github.com/jhonsfran1165/unprice
The team that owns the request path should own pricing.
- You shouldn't need a deployment to change a price.
- You shouldn't discover an over-budget customer at invoice time.
- You shouldn't reconstruct a disputed charge by hand.
For AI products, every charge starts with a runtime decision. Unprice keeps that decision in open code you can run and inspect.