Pages
Cost Center — Unit Toggle

Source: qdash /cost — replica + c66 currency ⇄ tokens unit switch (data snapshot 2026-08-14)

AI spend by model, agent, and user. Unbounded consumption is OWASP LLM10.

$ for OpenAI/Codex are estimated from list prices (provider doesn't report cost)
$ - Dollars
total spend
$1180.35

Billed plus estimated, across all providers.

provider-reported
$1138.56

Billed cost straight from the provider's usage API.

estimated
$41.79

List-price math where the provider doesn't report cost (rows marked est).

from prompt cache
96%

Share of context served from cache instead of sent fresh.

Spend guardrail

live
The rulemedium
Daily spend over budget
daily spend > $25.00 · Control Center →
Last 24h
$153.01 spent
4.85M tokens
Decisionsenforcement projected
A breach becomes a finding, routed like any other control.
TargetCurrentGoalState
Fleet spend · August$1180.35$2500.00under
Batch pipeline tokens · weekly29.86M25.00Mover

Spend by agent

discovered
$881.03
Claude Code CLI
$185.16
claude-cli
$114.15

Spend by user

unknown
$881.03
mark
$299.31

Spend over time

Team · spend

Team
Tokens
Responses
Cost
unassigned est34.84M4721$1180.35

Model · spend

Model
Tokens
Responses
Cost
claude-fable-5 est3.23M3356$1077.70
claude-opus-5 608.8k720$57.12
gpt-5.6-sol est23.33M188$33.16
gpt-5.5 est4.80M39$6.94
claude-haiku-4-5 est2.17M385$4.47
gpt-5.6-luna est481.2k19$0.63
gpt-5.6-terra est220.6k10$0.32
est04

Agent · spend

Agent
Tokens
Responses
Cost
discovered est33.85M3426$881.03
Claude Code CLI est668.8k924$185.16
claude-cli est326.1k371$114.15

User · spend

User
Tokens
Responses
Cost
unknown est33.85M3427$881.03
mark@qpoint.io est994.8k1294$299.31

c66 design notes — decisions & open questions

Worked out
  • Control: right-aligned large UxToggle flanked by "$ - Dollars" and "Tokens" labels (active side emphasized); the estimated-$ caveat tucks in beside it in $ mode. In qdash it rides the URL as ?unit= (house useUrlState pattern, no refetch). Earlier rounds: second UxTabGroup, then a small left-aligned toggle.
  • Tile remap: total spend → total tokens; provider-reported / estimated (currency-only concepts) → input / output tokens — needs total/input/output_tokens added to /api/costs totals. Cache % is unit-agnostic and never moves.
  • Token totals exclude cache reads/writes (tokens = input + output + reasoning) — hence the "excl. cache" sub on the tile, so 34.8M vs the ~96% cache rate reads honestly.
  • Estimated-$ caveat hides in token mode — token counts are provider-reported, never estimated.
  • Guardrail stays $: the budget rule is a currency control; only the Last-24h card flips which unit leads. Targets keep per-target units (metric: cost | tokens) — exempt from the toggle.
  • Tables: both unit columns always visible; the toggle just moves the initial sort and the title suffix.
  • Per-card captions: one-line educational text directly beneath each KPI card, swapping with the unit; token mode teaches input vs output (and the 5× price asymmetry), $ mode teaches provider-reported vs estimated. Earlier round tried a single strip under the grid.
Open questions
  • The batch-day spike: 08-13 is 29.9M tokens but only $143 — token mode flattens every other day. Log scale? Dual-axis overlay instead of a swap?
  • Leaders flip: gpt-5.6-sol is #1 by tokens (23.3M) but #3 by cost ($33). Is that flip the feature (efficiency story) or disorienting? A $/M-token "unit price" column might tell it better than the toggle.
  • Zero rendering: fmtC(0) → "—" but fmtN(0) → "0" (see the "—" model row). Align them?
  • Input/output split labels: is "output tokens (incl. reasoning)" the right framing, or should reasoning be its own tile?
  • Persistence: URL-only, or should the unit stick across visits (localStorage) like the theme?

Replica of qdash /cost with the c66 unit toggle. Data is a live snapshot (2026-08-14, period=all): by_model/agent/user/team rows, daily series, and /api/stats 24h figures are verbatim; the input/output token split is illustrative (the real split needs the backend totals addition); the two guardrail targets are seeded (live /api/campaigns was empty). Period tabs are cosmetic (all periods show the same snapshot). Row links (agent drill-down, teams focus) and cross-page navigation are stubbed. qdash's local Panel/StatTile/BarList chrome is inlined on layer primitives (DataMetricLabel, UxPercentBar, DataTable, DataChartUI).

Qpoint Brand Style Guide