Use casesSpend control
A spend limit that refuses the request, not one that reports it.
Set a ceiling per organization, project, member or gateway key. A request the limit cannot cover is refused with a 402 before your provider sees it, so a loop, a leaked key or a busy agent stops at the number you chose.
Example key. The limit counts INFRO's estimate of provider cost, not the provider's invoice.
The problem
Without a control plane
- A provider dashboard tells you what was spent, after it was spent.
- One runaway script or leaked key can use a month's budget in an afternoon.
- Every team shares one provider key, so nobody owns a number.
With INFRO
- Limits are checked before the provider call, on every request.
- Each project, member and key has its own ceiling and alert thresholds.
- A refusal names the scope that refused it, so the right person acts.
How it works
Give each workload its own key
A key per service, agent or developer, each inside a project. Spend is recorded per key from the first request.
Set the ceilings
Limits at organization, project, member and key level, each blocking or alert-only, with alerts at your own thresholds.
Let the gateway enforce them
The estimated cost of each request is reserved before the call. A request the limit cannot cover returns 402 budget_exceeded and never reaches the provider.
What you get
Each one is documented, and each says which plan includes it. Where no plan is named, it is on every plan.
Limits at every level
A hard cap per organization, project, member and key, with alerts at your own thresholds.
DocsRefused before the call
A request a limit cannot cover is refused with 402 before the provider sees it; the error names the scope.
DocsSpend alerts and forecasts
A day that departs from its usual pattern, or a budget forecast to be exceeded, becomes a finding by email, Slack or webhook.
DocsKey limits
Limit a key to chosen providers or IP ranges, turn it off, or rotate it with an overlap window.
DocsCaps per end customerFrom Team
One spend cap for every end customer of your product, with overrides your backend sets.
DocsUnpriced traffic refused
A model with no known rate is refused under a limit unless you allow unpriced traffic, so a limit never counts a guess as $0.
Docs
Who it is for
- Engineering leadsGive every developer and agent a key with a ceiling, and stop approving spend by trust.
- FinanceA number per team that is enforced, not a number per team that is hoped for.
- FoundersA runaway loop costs at most the limit you set on that key.
FAQ
Is the limit exact to the cent of my provider's invoice?
The limit counts INFRO's estimate of provider cost from the rates it knows, or your negotiated rates where you entered them. The provider's invoice is the final figure; reconciliation compares the two where the provider publishes cost data.
Does a limit hold under concurrent requests?
Each request reserves its estimate before the call, so a burst cannot all pass a check at once. The method and the results of a sandbox test at 500 concurrent requests are published in the field guide linked below.
Can a limit alert instead of block?
Yes. Each limit is blocking or alert-only, and alert thresholds are yours to set.
The full contract is in the Spend controls docs, and every other question is on the FAQ.
Field guides
- Field guideDoes an AI spend cap hold under 500 concurrent requests?A spend cap that checks a running total and then serves the request will be passed by a burst. Here is why, how a reservation-based cap is built instead, and what a sandbox test of one did and did not show.
- Field guideLLM spend controls: budgets, alerts, and hard limitsBudgets should guide normal growth and contain abnormal behavior. Use scoped alerts for humans and hard ceilings for the failure modes that cannot wait.
- Field guideCoding agent costs for teams: Claude Code, Codex and capsTwo ways to pay for coding agents, the mechanics that make an agent session expensive, and a working plan for measuring spend per developer, repository and project, then capping it before the provider call.
Get started
Try it on your own provider accounts.
Connect a provider, create a gateway key and change one base URL. Your providers keep billing you directly; 0% markup on model spend.