Budget Controls

Set spending limits to prevent runaway AI costs.

Available Budgets

BudgetDescription
Monthly cost (USD)Maximum total cost per calendar month
Daily tokensMaximum total tokens per day

How It Works

Budgets are checked on each ai.request, against spend and tokens already recorded on ai.response events. When a limit is exceeded SignalVault emits a budget.exceeded event — at most once per day per budget type — and sends an alert if alerts are configured.

What happens next depends on how you integrate. Through the events API or the SDKs, a blown budget is a notification only: nothing is refused, and it is up to your application to stop calling the provider. Through the proxy, SignalVault is the component making the call, so it refuses with 402 budget_exceeded until you raise the budget or the window resets — the next UTC day for tokens, the first of the next month for spend.

The monthly budget sums payload.cost_usd since the first of the month (UTC), using your submitted cost when present and a computed one otherwise. The daily token budget sums the token counts on payload.usage since midnight UTC. Both budgets read either naming: OpenAI's prompt_tokens and completion_tokens, or Anthropic's input_tokens and output_tokens, so traffic from either provider counts. Anthropic's cached tokens count towards the daily token budget too.

Configure budgets under Settings → Budgets. Leave a field blank to disable it. Budgets are available on every plan.