Vercel AI SDK Core (Node): token-budget guardrails in one line
A hard monthly spend cap per workspace: past it, requests that would reach a provider get 402 budget_exceeded while cache hits still serve. Here is the change for Vercel AI SDK Core (Node), the switch that turns it on, and the arithmetic on claude-sonnet-5-5.
Vercel AI SDK Core (Node) reaches TokenZero with one base-URL argument and keeps your anthropic key. 100,000 reference calls on claude-sonnet-5-5 cost $700 a month at list price; with monthly_budget_usd set to 500 the gateway returns 402 budget_exceeded once routed spend reaches $500.00 and resets on the first of the month, so a runaway loop cannot overspend.
· Source: pricing table 2026-10-26; overhead from the published benchmark on /benchmarks
At a glance
- Framework
- Vercel AI SDK Core (Node) (TypeScript)
- Capability
- token-budget guardrails
- Change
- lib/llm.ts: base URL argument
- Request shape
- Anthropic Messages
- Turn it on
- X-TokenZero-Budget-Usd / -Spent-Usd / -Remaining-Usd / -Resets-At on every response
- Workspace setting
- monthly_budget_usd: 500
- Reference model
- claude-sonnet-5-5 ($2.00 in / $10.00 out per 1M, table 2026-10-26)
- Reference workload against a $500 budget
- $700/month on claude-sonnet-5-5 (computed)
- Gateway overhead (measured)
- 1.52 ms p50, 3.42 ms p95
- Parity floor
- 99.8%
- Free tier
- $500/month routed spend
Reference workload on claude-sonnet-5-5: 2,000 input (1,500 static) / 300 output tokens, 100,000 calls per month, table 2026-10-26
| Scenario | Per call | Per month | Delta |
|---|---|---|---|
| List price, no gateway | $0.00700 | $700 | — |
| Static prefix cached (prompt compression) | $0.00415 | $415 | $285 (41%) |
| 20% exact-cache repeats | $0.00560 | $560 | $140 (20%) |
| All calls cascaded to claude-haiku-5-5 | $0.00035 | $35 | $665 (95%) |
| Budget guardrail at $500/month | — | capped at $500.00 | 402 after 71,428 calls |
The change
1. Point Vercel AI SDK Core (Node) at the gateway (lib/llm.ts):
-import { anthropic } from '@ai-sdk/anthropic';
+import { createAnthropic } from '@ai-sdk/anthropic';
+const anthropic = createAnthropic({ baseURL: 'https://tokenzero.sh/v1', apiKey: process.env.ANTHROPIC_API_KEY });
const { text } = await generateText({ model: anthropic('claude-sonnet-5-5'), prompt });The Anthropic provider appends /messages itself, so the base URL ends in /v1.
2. Turn on token-budget guardrails. Per request: X-TokenZero-Budget-Usd / -Spent-Usd / -Remaining-Usd / -Resets-At on every response. Per workspace (applies to every call without touching code): PATCH /v1/workspaces/settings {monthly_budget_usd: 500} or the dashboard toggle.
3. Prove it. npx -y @tokenzero/cli doctor checks the gateway, the signer, the pricing table and your key; then watch spend against budget on the dashboard.
Questions people ask
How do I point Vercel AI SDK Core (Node) at TokenZero?
Pass base_url / baseURL = https://tokenzero.sh where Vercel AI SDK Core (Node) builds its client (lib/llm.ts) and keep your anthropic key; nothing else changes.
What does token-budget guardrails save on claude-sonnet-5-5?
100,000 reference calls on claude-sonnet-5-5 cost $700 a month at list price; with monthly_budget_usd set to 500 the gateway returns 402 budget_exceeded once routed spend reaches $500.00 and resets on the first of the month, so a runaway loop cannot overspend.
Does token-budget guardrails change the model's output?
No. The guardrail only decides whether a request may reach the provider; past the cap it returns 402 with the reset time.
What does TokenZero cost?
Free up to $500 per month of routed spend; then 15% of verified savings with a 3x-ROI-or-$0 rule, capped plans available. Gateway overhead measured at 1.52 ms p50.