Skip to content
Caldyr
Cost control

Per-team cost visibility on your own API key, real-time burn rate.

Spend by host, model and label, with team and user recorded on every cost row. Burn rate on the dashboard. You bring your own model-provider key, so the tokens are billed to you by that provider and never by us — Caldyr charges per seat. Configurable $-budget caps block new sessions on breach, on your own spend.

Spend MTD
$7,554
76% of budget
Projected
$9,930
↑ 99% of budget
Per seat / day
$3.84
28 active seats

How it works

1
Usage captured per session
Tokens in/out, model, duration captured at session close.
2
Aggregated per scope
Rolled up by host, model, and label; every cost row carries its team and user.
3
Seen on the dashboard
Live burn rate and seat counts, with soft alerts as spend trends up.
4
Your provider bills you
Tokens go on your own Anthropic / OpenAI / Google invoice. Caldyr bills seats, never tokens.

Deep dives

Real-time burn rate
See your spend trajectory days before the invoice. The dashboard charts the rolling 7-day burn rate.
Seat limits and $-budget caps
Seat limits come from your licence, configurable $-budget caps (daily / weekly / monthly) are checked before each session starts, and the dashboard shows spend by host, model, and label.
Budget caps that block new sessions
Caps are checked before each session starts, per scope and period, so a team that has reached its cap cannot start new sessions on your own provider spend until an admin overrides it or the period resets.

Budget policy

api · POST /quotas
# One cap per scope and period. cap_mode: enforce | warn | notify $ curl -X POST $CALDYR_URL/api/quotas \ -H "Authorization: Bearer $CALDYR_TOKEN" -H "Content-Type: application/json" \ -d '{"scope": "team", "scope_ref": "<your-team-uuid>", "period": "monthly", "cap_usd": 3000, "warn_pct": 80, "override_role": "admin", "cap_mode": "enforce"}' # enforce: new sessions are refused once the cap is reached # warn / notify: the breach is flagged or announced, sessions keep running

Spend data is per-tenant isolated.

Teams see only their own. Admins see everything. Row-level security in Postgres makes the wrong query impossible, not just discouraged.

Compare

CaldyrAnthropic invoice EOMManual tracking
Real-timelive burn ratemonthlywhenever you check
Per-team / per-repo3 scopesorg onlyif you keep notes
Seat limitsfrom your licencenono
Burn-rate trendrolling 7-daysurpriseguess
Audit log CSV exportone clickPDF invoiceyour spreadsheet

FAQ

By your own model provider. You bring your own key (BYOK), so Anthropic, OpenAI or Google bills you directly at their published per-model rates and Caldyr never puts a token on an invoice. What Caldyr charges is the per-seat subscription. The dashboard prices your usage from those published rates so you can see the spend as it happens, and budget caps block new sessions once it reaches the cap.
Today: full visibility. The dashboard shows live burn rate so you can act before the invoice. Seat limits come from your licence. Configurable $-budget caps are set per scope and period, and each cap can enforce (block new sessions), warn or notify.
Seat limits come from your company licence and apply company-wide. Configurable $-budget caps per scope (company / team / user / repo) and period (day / week / month), with audited admin overrides, can differ per team.
Caldyr's Stripe bills the per-seat subscription only, managed or self-host. Your model tokens are never on it: they go to your own provider account under your own key (BYOK).

Ready to govern your AI infrastructure?

Request access in minutes, or talk to us about your air-gap deployment.

Get started