Vercel AI Gateway Budgets Cap Each Teammate's Spend

Set per-user AI Gateway budgets, separate shared production keys, and know which requests stop when a teammate's allowance runs out.

Sunday, September 6, 2026Omid Saffari
Tools
Vercel AI Gateway Budgets Cap Each Teammate's Spend

One runaway coding agent no longer has to share a financial stop switch with your production app. On August 31, 2026, Vercel AI Gateway added per-user budgets, so spend from API keys attributed to one teammate can stop while a team-attributed production key keeps running, provided that key and the team still have budget left. This changes how a team controls the bill, not what a model costs.

Vercel AI Gateway user budgets release showing team members and their spending limits
Vercel AI Gateway

The useful version in one sentence

Give human-owned agent keys a per-person allowance, and keep shared production keys owned by the team.

That is the whole mechanic. A user budget collects spend across every AI Gateway API key attributed to the same member. When that allowance runs out, new requests on those keys return an HTTP 402, while traffic outside that user's budget can continue.

Before this release, Vercel could cap the team, a project, or one API key. The new user scope sits beside those controls. It solves a different problem: one developer may use several keys across Codex, Claude Code, Cursor, or another unattended workload, but finance still wants one ceiling for that person's total gateway spend.

What actually gets charged to a user

The important setting is spend attribution, which is simply the ownership label Vercel attaches to an API key for budget accounting.

New keys default to User attribution. Older keys with no attribution stay attributed to the Team for backwards compatibility. A key created through the API without metadata.spendAttribution also counts toward the Team.

That produces four distinct request paths:

Request pathBudgets that can stop itUser budget applies
Member-attributed API keyAPI key, user, teamYes
Team-attributed API keyAPI key, teamNo
Project deployment using OIDCProject, teamNo
Spend through BYOK provider credentialsNo AI Gateway budgetNo

The spend isn't divided among those budgets. It lands on every applicable meter at once. A request using a member-attributed key must fit under the key budget, that member's user budget, and the team budget. Exhaust any one of them and the request stops.

Architectural budget paths showing a member key passing through user and team caps while a shared production key skips the user cap
Member keys pass through the user cap. A team-attributed production key does not.

This is where shared production traffic needs deliberate treatment. If a developer creates a fresh key for a customer-facing app, that key defaults to the developer. Their personal allowance can then stop the app. Change the key's Spend attribution to Team on the AI Gateway API Keys page so only its key and team budgets apply.

The business math changed

Per-user limits turn a pooled risk into an allowance you can assign before the bill arrives.

Take a stated example, not a Vercel price. Assume an 8-person team has a $1,000 monthly team budget. Seven members get a $50 monthly default. One lead gets a $150 custom budget because that role runs heavier agent work.

The personal-key envelope is:

7 × $50 + 1 × $150 = $500 per month

That $500 does not sit beside the team budget. It sits inside it. If the member-attributed keys consume their full $500 first, the same $500 also counts against the $1,000 team cap. In this simplified case, $500 remains before the team limit for team-attributed production traffic.

Nothing is reserved, though. Production can spend first, and every request still needs room under the team cap. The useful change is narrower: no single teammate can consume more than their own allowance through attributed keys before everyone else loses access.

This differs from OpenAI's native control, where an agent needs its own project to get an enforced project ceiling. The OpenAI API budget control explainer walks through that isolation model. Vercel's user scope can cover several member-attributed keys without creating one project per person.

The feature does not reduce token prices. AI Gateway still charges provider list prices with no token markup or platform fee. The gain is loss containment and clearer ownership, not cheaper inference.

Four teams that get a real workflow change

A product engineering lead with several coding agents

Set one default user budget for the team, then give heavier users a custom amount. A developer can run different agents with separate keys, while all of those keys still roll into one personal ceiling.

The payoff is a bounded overnight loop. If one agent keeps retrying a failed task, that developer's requests stop without automatically taking down a team-attributed production service.

An agency operator protecting client margin

Give each operator a member-attributed key and a default allowance. Add a custom budget for the person handling a model-heavy migration or a short client sprint.

The payoff is a named exception. You can approve more spend for one person without raising every teammate's allowance or turning the whole agency budget into the only circuit breaker.

A platform lead separating people from production

Audit every AI Gateway key and mark shared services as Team. Keep personal coding-agent keys attributed to their creators.

The payoff is failure isolation. A person's exhausted allowance stops their agent traffic, while a customer-facing workload keeps running until its own key budget or the team budget is exhausted.

A finance or operations lead owning the policy

An Owner can grant AI Gateway Budget Manager permission without handing over the full Owner role. That operator can manage user budgets, defaults, and key attribution, while every team role except Contributor can view the budget pages.

The payoff is a real operating owner. Finance can set the envelope, engineering can see it, and a budget change does not need to wait for the one person who owns the whole Vercel team.

Set it up without tying production to a person

Vercel requires CLI 59.6.2 or newer for user budgets. The command surface below was verified against version 59.6.2 in this run.

  1. Upgrade and confirm the CLI

    Run the documented upgrade, then check that the installed version is at least 59.6.2.

    Bash
    vercel upgrade
    vercel --version
  2. Set the default allowance

    This example gives every member without a custom user budget their own $50 monthly allowance. It is not $50 shared by the group.

    Bash
    vercel ai-gateway budgets defaults set user --limit 50 --refresh-period monthly
  3. Give the heavy user a custom limit

    A custom budget replaces the default for that person. Vercel accepts an email address, username, or user ID.

    Bash
    vercel ai-gateway budgets set user lead@example.com --limit 150 --refresh-period monthly
    vercel ai-gateway budgets list
  4. Move shared keys to the team

    Open AI Gateway, go to API Keys, edit each customer-facing or shared workload key, and set Spend attribution to Team. New keys default to User, so make this review part of production key creation.

  5. Add alerts where a human needs them

    Custom budgets can email at 50%, 75%, and 100% of the limit. Alerts are off by default, and a default budget does not send alerts, so add a custom budget when a named person needs warning emails before the stop.

Monthly budgets reset on the first day of the month at midnight UTC. Daily budgets reset at midnight UTC, weekly budgets reset Monday at midnight UTC, and none creates a cumulative limit that never resets.

Test the stop and resume path in staging

No live Vercel team budget was changed for this article because the run did not have a disposable team and key. The safe test is therefore yours to run in staging. The 402 behavior and propagation timings below are Vercel's documented contract, not a claimed account-level benchmark from this run.

Use a dedicated staging member and a key attributed to that member. Do not run this drill against a production key.

  1. Start with visible spend

    Use vercel ai-gateway budgets list to confirm the staging member's current-period spend. If it is already above the documented $1 minimum, you can trigger the boundary without generating a dollar of new test traffic.

  2. Lower the staging user's cap

    Editing a budget keeps spend already accumulated in the current period. Set the staging user to $1, then allow for propagation.

    Bash
    vercel ai-gateway budgets set user staging@example.com --limit 1 --refresh-period monthly
  3. Send one request through that member's key

    Export the member-attributed staging key as AI_GATEWAY_API_KEY, then use Vercel's documented raw HTTP request shape.

    Bash
    curl https://ai-gateway.vercel.sh/v1/chat/completions \
      -H "Authorization: Bearer $AI_GATEWAY_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "openai/gpt-5.6-sol",
        "messages": [
          {
            "role": "user",
            "content": "Invent a new holiday and describe its traditions."
          }
        ]
      }'

    Once the user budget is active and exhausted, the request should return HTTP 402 with error type quota_for_entity_exceeded. If the 402 carries a different type, the problem can be the team's credit balance rather than a budget.

  4. Raise the limit and retry

    Raise the custom limit above the spend shown by budgets list. This documented command shape uses $100.

    Bash
    vercel ai-gateway budgets set user staging@example.com --limit 100 --refresh-period monthly

    Budget changes usually propagate in tens of seconds but can take up to about five minutes for an active key. Wait, then send the same request again. It should resume unless another applicable key or team budget is exhausted.

  5. Restore the intended policy

    Put the staging user back on the planned custom limit. Removing the custom budget is not always an escape hatch because the user falls back to the default when one exists. If that default is already exhausted, traffic remains blocked.

The two boundaries that are easy to miss

First, BYOK spend is outside every AI Gateway budget. If the gateway uses your own provider credentials, that spend is metered separately and a user cap cannot contain it. A failed BYOK request may also fall back to Vercel system credentials and charge the team's AI Gateway credit balance.

Second, Vercel's own pages currently disagree about app tokens. The August 31 release says user limits cover attributed API keys along with app tokens. The current Budgets documentation says app tokens carry no member attribution and never count toward a user budget.

The Monday move

Act this week if several teammates run coding agents or other unsupervised work through their own AI Gateway keys. Wait if your traffic uses only project OIDC tokens or BYOK provider credentials, because user budgets do not control those paths. A solo operator with one key and one team budget is mostly unaffected.

On Monday, classify every gateway key as PERSON or SHARED. Move shared production keys to Team attribution first. Then set one monthly user default, add only the custom exceptions the business can explain, and run the staging 402 test through stop, raise, and resume. The budget is ready only when production stays outside one person's allowance and the operator knows which limit blocked the request.

For more practical notes on AI cost controls and production workflows, join the newsletter.

Last Updated

Sep 6, 2026

CategoryExplained

Prefer this site in Google

Add omidsaffari.com as a preferred source in Google Search

Mark omidsaffari.com as preferred and Google lifts it in Top Stories, AI Overviews and AI Mode for you.

More from Explained

View all Explained articles
Newsletter

One letter, every Sunday. Working systems, not hot takes.

Build logs, working systems, and field notes from running a portfolio of AI ventures.

Weekly. No spam. Unsubscribe anytime.