# Shared team wallet for LLM APIs: who actually has one, and what each cap misses

> People keep asking which LLM API aggregator has a shared team wallet. Read from the docs: OpenRouter and Vercel AI Gateway have a real shared balance; LiteLLM and Portkey have fine-grained member controls but no wallet. OpenRouter comes closest to both halves — until you hit the 10-member cap and the Enterprise gates. Here is the matrix, the fees, the reset cycles, and the caveats that don't appear on any pricing page.

- Published: Aug 27, 2026
- Author: Leo Kaka, Engineering
- Tags: cost, gateway, api-keys
- Canonical: https://pirouter.ai/blog/shared-team-wallet-llm-api

---
The question is usually asked as "what is the best LLM API aggregator with a shared team
wallet?", and the honest answer has a shape nobody's pricing page admits: **the wallet
and the controls are mostly sold separately, and where they do meet, a gate is waiting.**
As of the docs on 27 August 2026: OpenRouter and Vercel AI Gateway have a genuine shared
balance the whole team draws from. LiteLLM and Portkey have the deepest per-member and
per-key budget machinery — and no wallet. OpenRouter is the one product that gets close
to both halves on paper, and then caps the organization at ten members and puts workspace
budgets and spend alerts behind Enterprise. So the real question is which half — or which
gate — you can live with. That question, this piece can answer.

## "Team wallet" is four different products

When the docs say team billing, they mean one of four things, and the differences cost
real money:

| Shape | What it means | Who ships it |
|---|---|---|
| Shared balance | One prepaid pool; any member's call draws it down | OpenRouter, Vercel AI Gateway |
| Limits on top of provider billing | You bring provider keys; the tool enforces caps | LiteLLM, Portkey |
| Usage-plus-markup account | Aggregator bills your org per use, caps per user/key | Requesty |
| Single-provider org billing | Not an aggregator at all; the provider's own org tools | OpenAI Projects, Anthropic Workspaces |

![Four ways a team pays for LLM APIs, drawn as four vignettes: hands sharing one wallet; people holding their own purses queued at a gatekeeper with a ruler; a clerk stamping each ledger entry with a fee coin; one office paying at a single vendor's counter](/blog/images/shared-team-wallet-llm-api-four-shapes.png "The four shapes, left to right: shared balance, limits on top of provider billing, usage-plus-markup, single-provider org billing.")

If your team wants to stop juggling per-provider credit cards, only the first row solves
that. If your problem is one intern burning $400 overnight, be careful with the first
row — a shared balance is precisely the design where one person's night can drain
everyone's month, and the member-level brakes vary sharply between the two products
that offer it.

## The two real wallets

**OpenRouter Organizations** is the purest shared wallet. The docs say it plainly:
"All credits purchased in the organization account can be used by any organization
member", and API usage from any org key "is billed to the organization's credit pool"
([Organization management](https://openrouter.ai/docs/cookbook/administration/organization-management)).
Regular members can't purchase credits or see billing — that stays with admins.

Now the fine print, priced. Topping up the pool by card costs 5.5% with a $0.80 minimum,
crypto (USDC) 5% ([FAQ](https://openrouter.ai/docs/faq)) — the token prices themselves are
passed through without markup, so the deposit fee *is* the price of the wallet. Unused
credits can be expired after one year of purchase; that's in the same FAQ. And
organizations top out at ten members: "An organization can only have 10 members. Contact
support if you need more."

The control side is better than most people assume, which is why OpenRouter is the
closest thing to a complete answer here. Keys take `limit` plus `limit_reset` —
daily, weekly, monthly or none, resetting at midnight UTC
([Management API](https://openrouter.ai/docs/guides/overview/auth/management-api-keys)) —
and [guardrail budgets](https://openrouter.ai/docs/guides/features/guardrails) attach a
budget to a *member*, enforced per-user with the lower of key and guardrail limits
winning. The gates sit one layer up: [workspace budgets](https://openrouter.ai/docs/guides/features/workspaces/workspace-budgets)
(daily/weekly/monthly/lifetime) are "available on the Enterprise plan", and spend alerts
are an email-only Enterprise private preview. We mapped the whole cap lattice
[in the per-key piece](/blog/per-key-spending-limits); everything there applies here
unchanged.

**Vercel AI Gateway** runs the same prepaid model with a different trade. Credits sit on
the team account, tokens carry "no markup and no platform fee"
([pricing](https://vercel.com/docs/ai-gateway/pricing)) — you pay the payment-processing
fee yourself, or move to invoicing on Enterprise. The budget machinery is a proper three
layers — team, project, API key, all enforced together: "A request has to pass every
budget in scope, so if any one is exceeded, AI Gateway rejects the request even when the
others have room" ([Budgets](https://vercel.com/docs/ai-gateway/observability-and-spend/budgets)).
Cycles exist too: daily, weekly, monthly, or cumulative.

Two caveats, both from the same doc. First, budgets are declared soft: "the request that
crosses the limit still completes and total spend can end up slightly over the budget."
Second, if you bring your own provider keys, that spend "isn't counted in budgets" —
BYOK traffic simply bypasses the brakes. And note what is still missing: the layers are
team, project, key. **Per member** is not one of them.

## The two real control panels

**LiteLLM** is the opposite animal: self-hosted proxy, your own provider keys, no money
held anywhere — and the finest budget lattice of anything surveyed. Team budgets, member
budgets inside a team (`max_budget_in_team`), per-key budgets, per-key TPM/RPM, and
budget windows of any duration with documented reset times
([team budgets](https://docs.litellm.ai/docs/proxy/team_budgets),
[users](https://docs.litellm.ai/docs/proxy/users)). The precedence rule is worth quoting
because it surprises people: "If a key belongs to a team, only the team (and
team-member) budgets are enforced; the key owner's personal budget does not apply."
The costs are operational, not financial: budgets require a database, you run the proxy,
and model-specific budgets sit behind the Enterprise tag.

**Portkey** has the tidiest governance story — workspaces under an organization, budget
limits in dollars or tokens, alert thresholds, resets weekly, monthly, or any custom 1
to 365 days via API ([workspace budgets](https://portkey.ai/docs/product/administration/enforce-workspace-budget-limts-and-rate-limits)).
It is also BYOK: Portkey bills you a subscription and your providers bill you for
tokens, so there is no wallet to share. And the feature gate matters: both budget docs
carry the same line — "Available on Enterprise plan and select Pro customers." On the
[public pricing page](https://portkey.ai/pricing), "Granular Budget & Rate Limits" sits
in the Enterprise column; the $49/month self-serve tier (named "Production" there — the
docs' "Pro" and the pricing page's tier names do not quite line up) does not list it.

**Requesty** sits between the camps and earns a paragraph: your org gets billed
usage plus 5%, each key takes a monthly cap, and each *user* can get a monthly limit
with hard cutoffs — "Spending cutoffs when limits are reached"
([users](https://docs.requesty.ai/features/users)). Per-user monthly limits with actual
enforcement is the rarest feature in this survey. Groups and team budgets, though, are
Enterprise-only, and 5% on every token is the steepest ongoing rate here — the
OpenRouter deposit fee is paid once per top-up, this one compounds with usage.

## The matrix

State-of-the-docs, 27 August 2026:

| | Shared balance | Per-member budget | Per-key budget | Cycle reset | Ongoing cost of the feature |
|---|---|---|---|---|---|
| OpenRouter | ✓ credit pool, 10 members | ✓ guardrail budgets | ✓ `limit` + `limit_reset` | ✓ daily/weekly/monthly per key | 5–5.5% per deposit; workspace budgets & alerts Enterprise |
| Vercel AI Gateway | ✓ team credits | ✗ | ✓ (soft cap) | ✓ day/week/month | payment fees only, zero token markup |
| LiteLLM | ✗ BYOK | ✓ finest-grained | ✓ | ✓ any duration | your ops time + a database |
| Portkey | ✗ BYOK | ⚠ workspace level | ✓ | ✓ custom 1–365d | Enterprise gate |
| Requesty | ✗ org billing | ✓ monthly, hard cutoff | ✓ monthly | ✓ monthly | +5% on all usage |

For contrast, the two big single-provider org tools do the same split internally: OpenAI
Projects give org- and project-level hard limits that 429 on breach and reset monthly
([spend limits](https://developers.openai.com/api/docs/guides/spend-limits)); Anthropic
Workspaces cap monthly spend per workspace, and per-user limits exist only in the
special Claude Code workspace ([Workspaces](https://platform.claude.com/docs/en/manage-claude/workspaces)).
Neither solves aggregation; both confirm the pattern — money pools and people-level
brakes rarely ship together.

## How to pick, by failure mode

Pick by the incident you are actually trying to prevent, and price the feature next to
it:

- **"Five people, one pile of credits, least ceremony"** — OpenRouter Organizations.
  Budget the 5.5% deposit fee, set `limit_reset` on every key at creation time, add a
  guardrail budget per member, and remember ten members is the ceiling.
- **"Shared pool, but I need budget cycles"** — Vercel AI Gateway. Know that the caps
  are soft by design and BYOK traffic walks around them.
- **"The wallet can stay with the providers; I need member-level enforcement"** —
  LiteLLM if you will run infrastructure, Requesty if you would rather pay 5% than
  operate a proxy, Portkey if you are already an Enterprise conversation.

Full disclosure of the obvious: we sit in this market. The platform wallet we are
building is designed to keep the prepaid pool and the per-key, cycle-based budgets in
one control plane — that combination being missing is roughly why this article had to
be a matrix instead of a recommendation. It is designed-as, not shipped; the current
state is on [our site](https://pirouter.ai/) and this paragraph is the only place we
will mention it.

One habit transfers regardless of the pick: whatever enforces your caps, ask the two
questions this survey kept reducing to — **when does the check run** (before the
request, or after the spend lands — Vercel says plainly that the crossing request still
completes), and **what exactly is exempt** (BYOK traffic, the default workspace,
invoiced billing). Every product above has a clean answer to one of those questions
written in its docs, and an uncomfortable one it leaves for you to find on the invoice.
Read for the uncomfortable one first; it is the one that shows up as a number.

---

## Sources

### openrouter.ai

- [Organization management](https://openrouter.ai/docs/cookbook/administration/organization-management)
- [FAQ](https://openrouter.ai/docs/faq)
- [Management API](https://openrouter.ai/docs/guides/overview/auth/management-api-keys)
- [guardrail budgets](https://openrouter.ai/docs/guides/features/guardrails)
- [workspace budgets](https://openrouter.ai/docs/guides/features/workspaces/workspace-budgets)

### vercel.com

- [pricing](https://vercel.com/docs/ai-gateway/pricing)
- [Budgets](https://vercel.com/docs/ai-gateway/observability-and-spend/budgets)

### docs.litellm.ai

- [team budgets](https://docs.litellm.ai/docs/proxy/team_budgets)
- [users](https://docs.litellm.ai/docs/proxy/users)

### portkey.ai

- [workspace budgets](https://portkey.ai/docs/product/administration/enforce-workspace-budget-limts-and-rate-limits)
- [public pricing page](https://portkey.ai/pricing)

### docs.requesty.ai

- [users](https://docs.requesty.ai/features/users)

### developers.openai.com

- [spend limits](https://developers.openai.com/api/docs/guides/spend-limits)

### platform.claude.com

- [Workspaces](https://platform.claude.com/docs/en/manage-claude/workspaces)
