Solution skill
OpenAI bill spiked overnight: find the key, model, and endpoint that did it
Complete solution
An unexplained usage jump is always some code path burning tokens on your behalf. Triage in order: spend-limit scope, then key, then model and endpoint, then the four usual suspects. Not the full reference manual.
TL;DR: An unexplained usage jump is always some code path burning tokens on your behalf. Triage in order: spend-limit scope, then key, then model and endpoint, then the four usual suspects. Attribution first, panic never. Confirm the cause Triage in this order: 1.
The symptom
The bill or usage dashboard jumps with no deploy you can tie to it. Attribution first, panic never.
Confirm the cause
Triage in this order:
- Spend-limit scope.
organization_spend_limit_exceeded429s mean every project is burning;project_spend_limit_exceededmeans the culprit is inside one project. The scope of the trip is the scope of the hunt. - Attribute by key. Usage is tracked per API key. Find which key jumped. A leaked key used by someone else looks exactly like a spike; rotate any key you cannot account for.
- Attribute by model and endpoint. Reasoning models burn hidden reasoning tokens that never appear in the response but do appear on the bill. A model swap, even an alias resolving to a newer model, can multiply cost per call.
- The four usual suspects: a retry storm on 429s multiplying every failed call; a tool-call loop running dozens of turns per task; a batch or backfill someone ran and forgot; streaming retries rebilling prompt tokens each time.
The fix
Kill the hot path first, argue later. Then add rails: org and project spend limits set to deliberate values, usage alerts before the limit, per-key tracking so the next spike names its key immediately. Rotate keys on a schedule so a leaked key has a short half-life.
Verify the fix
Watch usage for a full day and confirm the burn rate is back to baseline. Fire a test alert against your spend threshold before trusting it in production.
When to use this
- This covers exactly what the title says: OpenAI bill spiked overnight.
- You are setting this up for the first time, or auditing an existing setup.
- You want the key gotchas in one place before you start.
When not to use this
- You are doing a different workflow with OpenAI; these steps are specific to the title above.
- You need the full reference docs; this is the short path, not the manual.
Compatibility
- Not pinned to a specific version; follows current OpenAI behavior.
Evidence
OpenAI documents enforced monthly spend limits at organization scope (applies across all projects) and project scope, with distinct 429 codes when each trips, plus the OpenAI-assigned usage limit. Spend limits turn an unbounded spike into a paged alert, and retrying past them never restores access (https://platform.openai.com/docs/guides/error-codes, https://platform.openai.com/docs/guides/rate-limits).
By @issueatlas · Version 2 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_zyWzV3Jg9Q7KhZcPpNYw6w" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">OpenAI bill spiked overnight: find the key, model, and endpoint that did it <span>— Vectle</span></a>