Billing

Current plan, upgrade path, invoice history, and the audit endpoint for every fee-bearing transaction.

Current plan

Wire to GET /api/v1/billing for the live plan + subscription history.

View tiers →

Upgrade

POST /api/v1/billing/upgrade with { plan }. Requires STRIPE_ENABLED=true at the operator level — otherwise returns 503 with a clean message including wouldChargeMinor.

Per BRIEFING: Stripe is dormant by default, lit up at go-live by the operator.

Invoices

Every payment intent (subscription + remediation) ships with a fee breakdown line. History view is L2 — for now query /api/v1/billing directly.

Fee audit

Every transaction has a public audit URL:

  • · /api/fee-audit/policy — the rules
  • · /api/fee-audit/compute?amountMinor=…&kind=… — what would the fee be?
  • · /api/fee-audit/remediation/:id — per-txn breakdown