Pre-call reservations
Atomic budget debit before the provider is hit. Fail-closed when exhausted.
Reserve budget before the provider is called, sign every decision, and stop runaway agents in p50 ≤10ms.
Atomic per-tenant ledger debit before the provider call.
Read response.usage, commit real spend, refund overshoot.
KMS-signed CloudEvent for every reserve / commit / reject.
Atomic budget debit before the provider is hit. Fail-closed when exhausted.
Every decision is a KMS-signed CloudEvent landing in your SIEM.
Per-tenant ledgers. One runaway agent cannot drain another tenant.
Reserve the worst case, commit the real spend, refund overshoot.
Measured per SLO contract NF1, not aspirational.
Adapters for LiteLLM, OpenAI Agents SDK, LangChain, LangGraph, Pydantic-AI, Microsoft AGT.
import litellm
from spendguard.litellm import enforce_budget
litellm.callbacks = [enforce_budget(tenant="acme")]
response = await litellm.acompletion(
model="gpt-4o",
messages=[{"role": "user", "content": "..."}],
)
# HTTP 403 BUDGET_EXHAUSTED — provider was never called Working on a deployment? Tell us.