Vercel quietly shipped a real kill switch for AI bills. Here's how to actually turn it on Vercel has made AI Gateway Budgets generally available, a spend-cap feature that lets teams set dollar limits at the team, project, API-key, or individual-teammate level and rejects requests with an HTTP 402 once a limit is hit. The feature is distinct from Vercel's broader Spend Management tool, which covers all metered resources team-wide and can pause production. Vercel's docs note the cap is soft — the request that crosses the limit still completes — and new budgets can take a minute or two to be enforced. If you've shipped an AI feature on Vercel, you already know the fear: a prompt-injection loop, a misconfigured retry, or just genuine unexpected traffic, and your LLM bill stops being a line item and starts being an incident. It's not hypothetical — usage-based hosting bills spiking into five figures overnight is a well-documented enough pattern that entire blogs exist to chronicle it, Vercel included https://usagebox.com/articles/vercel-23000-dollar-bill-usage-based-platform-bill-shock-2026 . What's changed is that Vercel now ships an actual spend cap for this specific failure mode — not just an alert email you'll read after the damage is done. AI Gateway Budgets , generally available and last updated in Vercel's docs on September 7, 2026, let you cap spend at the team, project, API-key, or individual-teammate level and have the gateway reject requests once the limit hits. This is distinct from the older, broader Spend Management feature most Pro-plan docs still point people to, and the two get confused constantly — they solve overlapping but different problems. | | AI Gateway Budgets | Spend Management | |---|---|---| | Covers | AI Gateway token spend only | All metered resources beyond your plan credit | | Scope | Team, project, API key, or user | Team-wide only | | On breach | Rejects further requests HTTP 402 | Optional: pause production, webhook, notify | | Check frequency | Per-request | Every few minutes | | Granularity | Per API key, per teammate | None below team level | If you're specifically worried about a runaway LLM call inside one feature or one contractor's API key, Budgets is the tool built for that. If you want a team-wide "stop everything" switch across all of Vercel's metered resources bandwidth, functions, everything , that's what Spend Management does — and it can pause your entire production deployment, which Budgets never does. You can do this from the dashboard's AI Gateway → Budgets tab, but the CLI is faster to reason about and scriptable. Start with a team-wide ceiling: vercel ai-gateway budgets set team --limit 500 --refresh-period monthly That caps everything your team spends across every project and key at $500/month. Now scope something tighter to one project: vercel ai-gateway budgets set project my-project --limit 200 --refresh-period monthly Budgets stack. A request from my-project has to clear both the $200 project budget and the $500 team budget — if either is exhausted, the request gets rejected, full stop, even if the other has room to spare. That's the mechanism that actually stops the bleeding: one runaway project can't quietly eat the whole team's headroom, and it can't spend past its own cap either. The genuinely useful scope for the "contractor with a key" scenario is a budgeted, time-boxed API key: vercel ai-gateway api-keys create --name contractor --limit 50 --refresh-period none --expiration 30d That key stops working entirely after 30 days and can never spend more than $50 total in the meantime — two independent ceilings, dollars and days, on one throwaway credential. A few details in Vercel's own docs are easy to miss and change how much you should trust this as a hard stop: It's a soft cap, worded like a hard one. Vercel's docs say it plainly: "the check runs at the start of each request, so the request that crosses the limit still completes and total spend can end up slightly over the budget." For a single chat completion that's noise. For a badly-configured batch job firing thousands of requests in a tight loop, "slightly over" is doing a lot of work in that sentence — budget for some overshoot, don't treat the number as a wall. New budgets don't apply instantly. Give it up to a minute or two after creating a budget or key before it's actually enforced; spend starts appearing in the dashboard about 20 seconds after that. If you're setting a budget because you're already mid-incident, that lag matters — pull the API key entirely if you need the bleeding stopped right now. BYOK spend isn't covered, at all. Bring-your-own-key requests to your own provider accounts don't count against any Vercel budget — they're metered separately and don't touch your AI Gateway Credits balance either. If part of your traffic goes through BYOK, your Vercel-side budget is only watching part of the picture. Alerts below 100% never block anything. You can set email alerts at 50%, 75%, and 100% of any budget, but only the limit itself — not the alert thresholds — actually rejects requests. A 75% email is a heads-up, not a brake. When a request does get rejected, you get a clean, parseable 402 with a quota for entity exceeded type and the exact scope, spend, and limit in the message — worth handling explicitly rather than letting it surface as a generic "AI request failed" to your users. For anyone running LLM calls in production on Vercel, yes — and there's effectively no reason not to. Budgets cost nothing to configure, and an unset budget just means unlimited spend, which is the current default for most teams that haven't touched this yet. Start with a team ceiling set comfortably above your normal monthly spend so you're not accidentally locking yourself out , then add tighter project or per-key budgets around anything experimental, anything a contractor touches, or anything with unbounded retry logic. If you haven't already got an AI Gateway https://niche-finder-redirector.julian-ros-gh.workers.dev/r?id=opp 005&to=https%3A%2F%2Fvercel.com%2Fai-gateway set up in front of your model calls, that's the actual prerequisite here — Budgets is a feature of the gateway, not a standalone billing control. Once it's wired in, the whole team+project+key stacking model takes maybe ten minutes to configure properly, which is a fairly good trade against the alternative of explaining a four-figure line item to whoever signs off on your infrastructure spend. Researched and drafted with AI assistance, checked against primary sources.