Budgets

Spend firewalls. A budget caps committed spend for the org, an agent, or a tag, over a time window.

Create budgets scoped to org, agent, or tag, with a window of rolling_24h / daily / weekly / monthly / total. Choose the behavior on breach: block the action, or require approval. Spend is reserved on authorization and reconciled to the actual settled amount on completion.

Each budget is denominated in one value unit (default USD) and counts only actions in that unit - there is no FX conversion, so unlike numbers are never summed. When agents spend in several units (say USD payments and LLM tokens), create one budget per unit.

Each budget has a soft alert threshold (default 80%): crossing it emits a budget.warning event (webhook + ledger) before the hard limit is reached. Budgets are editable - change the limit, behavior or threshold in place from the Budgets page.

Watch live spend vs. limit on Budgets; alerting/exceeded budgets are flagged inline.

What counts, and when

Authorized and executing actions reserve their declared value; completed actions count their settled value. Denied, pending-approval, failed and expired actions do not count. A settlement may reduce the reservation; reported overages are capped at the authorized value in budget accounting and flagged as anomalies, rather than rejected or counted as additional spend. Credential issuance commits the authorized value when the credential is issued; it does not measure later provider usage.

Calendar windows use UTC: daily starts at midnight, weekly on Monday, and monthly on the first day. Rolling 24 hours looks back from now; total has no window reset. Spend belongs to the window of authorization (approval time for held actions), not the time completion is reported. All matching org, agent and tag budgets apply together; adding a larger budget does not override a smaller applicable one.

Choose block for a hard ceiling. Require approval permits a human to authorize over-budget spending if no other check denies it. Uncompleted authorizations expire and release their holds; a crashed gateway execution may be marked failed with an unknown downstream outcome. Reconcile with the provider before retrying such an action.