Metering & billing

How requests turn into credits, and how USDC-on-Base payout ships at public beta.
Every billed request produces two credit rows: providerCredits and operatorCredits (network revenue). Credits accrue on the ledger today. USDC-on-Base payout is planned for public beta, not invite-gated pre-beta.

Credit formula

Both values use banker’s rounding — ties round to the nearest even quotient, eliminating systematic bias across large volumes of small requests. Constants: Default rate card: Default provider share: 90%. Default global multiplier: 1.0. The operator can override rates per model or add model-specific entries. Faulted requests (breaker_qualifying or null_usage_error) produce zero credits.

Prefix-cache billing

For sticky-routed requests where the provider reuses its warm KV-cache, usage.cached_prompt_tokens reports the count of prefix-cache tokens. These are billed at the per-model prompt_cache_hit_rate_per_mtok rate instead of the full promptRate. The OpenAI usage object is extended with one field:
cached_prompt_tokens is always present; 0 when there was no cache reuse.

Verified model settlement

For settlement-capable traffic (v0.3+ receipts), the coordinator receipt verdict drives the gateway’s buyer debit/refund decision on the money path.
  • Valid receipt → buyer debited, provider credited, settlement proceeds.
  • Missing / malformed / unverifiable receipt → settled as FaultBreakerQualifying with zero provider credits. Buyer is not debited.
  • Late receipt. For settlement-capable traffic a provider receipt must arrive before the coordinator’s pending_deadline_seconds window closes. Receipts arriving after the deadline are non-settling and non-recoverable.
Full detail: Operations → Verified model settlement.

Settlement cadence

  • Today (pre-beta): credits accrue; no USDC payout rail is active.
  • At public beta: weekly sweep (Monday 00:00 UTC design), minimum 500,000 credits, USDC on Base.
  • Below the threshold, credits roll to the next window.
StartWeeklySettlement is the coordinator job that will fire that sweep when the payout rail is enabled. settlement.job_enabled must be true for the job to execute.

Endpoints

Regimes: Economics. Provider guide: Payments & payouts.