[BUG] Prepaid API balance went negative (-$47.18) past a $20 spend limit; support confirms this is inconsistent with documented behaviour and no ceiling is documented
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
What happened
Prepaid API account, no postpaid arrangement. On 6 September 2026, 17,521,366
input tokens were consumed in a single 30-minute window (04:00–04:30 UTC) on API
key sk-ant-api03-67_...TQAA.
Sixteen minutes after the billing notice, Anthropic emailed separately to say
that same key had been exposed or used without authorisation.
The usage was not ours:
- Models used: claude-opus-5, claude-opus-4-8, claude-fable-5-1, claude-opus-4-6.
Our application calls Sonnet only, for document extraction. We have never
called Opus 5, Opus 4.8 or Fable 5.1 from any environment.
- Normal volume is under 1M tokens/day. This was 17.5M in 30 minutes.
- Token split: ~9M prompt-cache read, ~4M cache write, ~266K output.
- We disabled the key immediately on receipt of the notice.
- We audited our full git history across both remotes — 3,633 commits, all
branches, unreachable objects included — and found no committed key. No CI/CD
system holds one.
Three controls failed together
- Prepaid balance went to MINUS US$47.18. We are prepaid only. We have
topped up six times since April 2026 and service has always stopped at zero.
- Monthly spend limit of US$20 was exceeded 2.9x. Console shows US$57.45
spent, marked "100% used".
- US$2 email alert never fired, at any point before the balance went
negative.
Console showed contradictory data during the incident
The per-key detail panel showed "Last used: 30+ days ago" for this key while the
Usage page, grouped by API key, attributed 17.5M tokens to it on the same date.
The Cost column later corrected to US$57.18 for that key. Several hours were lost
to this.
Audit logging is off by default
Anthropic's exposure notification directs customers to check activity logs forapi_actor events containing ip_address and user_agent. Support repeated
this advice.
Organization settings → Security shows: *"The Compliance API and event logging
are off. Claude activity in this organization is not being recorded."*
Off by default. The data never existed. The origin of the unauthorised usage is
permanently unrecoverable — by us or by Anthropic.
Neither the exposure notice nor the support agent checked whether logging was
enabled before advising us to look at it.
What support confirmed in writing
Over several exchanges (case 215475811039103), Anthropic support stated:
- Prepaid API usage is designed to stop once the balance reaches zero.
- No maximum negative balance threshold is documented for prepaid accounts with
spend limits configured.
- Spend limits are checked before a request starts and billed after it
completes, which explains marginal overshoot — and explicitly *"the 2.9x
overage you experienced goes beyond what would be expected from that
mechanic."*
- *"I don't have visibility into the specific technical mechanism that allowed
your balance to go negative or a documented maximum-exposure figure for a
compromised key beyond empty balance."*
- Refund declined. Service credit declined under the same framework.
- No route to a different queue.
The unresolved question
If a prepaid balance can go negative with no documented ceiling, then a single
compromised credential can generate an unbounded liability against an account
with no money in it. Nobody at Anthropic has been able to say whether that is
possible or where it stops.
That is not a $47 question. It is the question of whether a prepaid account has a
maximum exposure at all, and it is unanswerable through support.
What would help
- Document the maximum negative balance possible on a prepaid account, or
enforce the zero floor the product already implies.
- Enable event logging by default, or have the exposure notification check
whether it is on before directing customers to audit logs that do not exist.
- Reconcile the per-key "Last used" field with the Usage page.
Organisation: YantraLive. Case: 215475811039103. Happy to provide screenshots of
all Console states referenced above.
What Should Happen?
need to prevent this from happening again. I have lost $47 but more importantly fear of using Claude even with pre paid mechanism. I can be hit with Million dollar bill when i have not used anything. Anthropic should stop charging people for things they know, not unauthorised usage because beyond the limit set in account
Error Messages/Logs
Hi there,
We found signs that the API key(s) below, in your organization YantraLive, may have been exposed or used without your authorization.
sk-ant-api03-67_...TQAA
Please replace the key(s) now. To protect your account and prevent abuse, we may disable them at any time, and any application that uses them will then stop working.
What to do now
Check for activity you don't recognize. The Usage page in Console shows spend and tokens for each API key. If you're on an Enterprise plan, an admin can also export your organization's audit log from Organization settings, under Data and Privacy. It shows sign-ins and admin actions, but not individual requests.
Create a new key on the API Keys page in Console, and update your applications to use it. Don't store it where the old key was. If the old key(s) are still active, disable them on the same page.
Steps to Reproduce
Not reproducible on demand — this requires a compromised key generating high-volume concurrent traffic against a prepaid account with a spend limit set. The reproducible part is the second-order failure: enable a spend limit on a prepaid account and observe that Organization settings → Security shows event logging is off by default, so no api_actor records exist to investigate with."
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
Claude 1.46388.4 (50e62f) 2026-09-05T01:57:47.000Z
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗