Agents fail in a very specific way: not loudly, but expensively. A retry loop with no exit condition, a planner that keeps re-planning, a tool call that re-triggers the tool — each individual request looks perfectly normal, and only the sum is a disaster. By the time a human notices, the damage is measured in invoices, not logs.
A circuit breaker for tokens
The kill switch is a velocity breaker that lives in the gateway's hot path. It watches request rate, spend rate and repetition per key, per user and per organization. When a key blows through your thresholds — say, 40 near-identical requests in 60 seconds, or spend accelerating past $5/minute — the breaker trips: further requests get a clean 429 breaker_tripped response with a machine-readable reason, and the key's owner gets notified.
What trips it
Three signals, each configurable: request velocity (calls per minute per key), spend velocity (dollars per minute, computed from exact per-call cost), and similarity (a cheap fingerprint that catches loops sending the same prompt with trivial variations). Defaults are deliberately conservative — you can loosen them per key, and burnable prepaid keys can't be loosened past their balance, by definition.
Why it's on by default
Because the alternative is a budget cap that fires after the money is gone. Budgets remain the backstop, but budgets are monthly and agents fail in minutes. The breaker converts "we spent $4,000 overnight" into "a key paused itself at 2:13 a.m. and here's the trace." Every trip is on the ledger with the requests that caused it, so the postmortem writes itself.
The kill switch ships to all plans today, at no extra cost. Nothing about your integration changes — it's a property of the gateway, not the SDK.