How usage-based billing works: one record, one frozen snapshot, full audit trail
Every AI call writes exactly one billing record
When you send a message, generate an image, or run a workflow step, ToRun executes a single model call and immediately writes one billing record. That record is sealed at creation time with a frozen price snapshot — the exact rates in effect at that moment, not whatever the provider charges a week later. If a provider raises prices tomorrow, your past records are unaffected.
What a billing record contains
Each record captures:
- Input and output token counts (or the equivalent unit for non-text modalities)
- Pricing unit — one of twelve canonical types: per input token, per output token, per cached input token, per image, per second of audio, per second of video, per character TTS, per search call, per compute second, per embedding, per realtime minute, or per rerank pair
- Price per unit at the moment of the call (quoted per million tokens for text)
- ToRun's applied margin, baked into the amount charged
- Currency snapshot — USD canonical amount, your local currency equivalent, the FX rate, and the exact timestamp when that rate was fetched
- Fund source — whether the charge drew from your free session budget, a subscription allowance, or your prepaid wallet
How to read your ledger
- Open Usage in the sidebar (Billing → Usage in the app).
- Each row is one AI call. The columns show the model used, modality, token counts, and the total charged.
- Click any row to expand the full price snapshot — every field that was frozen at execution time is visible there.
- Use the date range and mode filters to narrow the view.
- To export, click Download CSV at the top right. The export includes every field in the snapshot so you can recompute every cent offline and reconcile against your wallet or subscription invoices.
Multi-currency note
ToRun stores amounts in USD as the canonical value. If your account is set to a local currency, the converted amount and the FX rate used appear alongside the USD figure. The rate is captured once, at call time, and never recalculated — so the local amount you see in the ledger is what was true when the call happened.
For current plan pricing and session budget details, see /pricing.