CostMonStart free

Case studies

Anatomy of a runaway bill

Every one of these really happened, and each is publicly documented. Each entry shows what happened, what it cost, and the leading indicator. That indicator would have flagged it in real time, not on next month's invoice.

Every figure below comes from a public source, linked at the end of each entry, verified as of 2026-07-23. Where a bill was later reduced or waived, that's stated in the outcome — this page reports what happened, not the most dramatic version of it.

8documented incidents cataloged below
6distinct ways a bill runs away: credentials, loops, traffic, AI agents
$500 millionthe largest documented bill on this page (Anthropic (Claude))

Leaked credentials

Leaked AWS keys spin up ~600 mining instances overnight

$5,994AWS~12 hours

What happened. AWS access keys committed to a public GitHub repository were found by an automated bot within hours. Attackers used them to spin up roughly 600 EC2 instances across multiple regions. A normal $17-a-month account jumped to a $5,994.08 bill in about half a day. AWS itself emailed a fraud warning, and that was the only thing that caught it.

The signal that would have flagged it

A sudden instance-hours spike across regions the account doesn't normally use. 600 new instances is a step change no baseline-comparison alert would miss, hours before a human would otherwise notice.

Outcome. AWS credited back $5,980.70 of the bill once the compromise was reported.

Source: WP Tavern →

S3 keys leak to GitHub, bots spin up 140 servers in five minutes

$2,375AWSovernight

What happened. A Rails security tool accidentally published Andrew Hoffman's Amazon S3 keys to a public GitHub repository. He pulled the keys within five minutes of noticing. That was enough time for a bot that scans GitHub for AWS keys all the time. It spun up 140 EC2 servers for Bitcoin mining overnight.

The signal that would have flagged it

The same instance-count/region anomaly as the Hellyer case above. It's also a reminder that even a five-minute exposure window is long enough for automated credential-scanning bots to act.

Outcome. Amazon refunded the $2,375 bill, as it had for other similar cases reported around the same time.

Source: The Register →

Misconfiguration / runaway loop

A Lambda function that triggered itself runs up ~$10,000 in a week

~$10,000AWS1 week

What happened. A Lambda function reacted to S3 API activity via CloudTrail. It wrote back to the same bucket that triggered it. This created a self-sustaining invocation loop. A routine AWS account check flagged spend already over $7,500 mid-month. The team forced every affected function's concurrency to zero to stop it. By then the account had run up close to $10,000 for the week. The normal baseline was a few dollars a day.

The signal that would have flagged it

An invocation-rate or daily-cost-velocity alarm on the Lambda/S3 pair. The loop was invisible to any dashboard that only tracks errors, since every invocation in the loop succeeded.

Outcome. The team stopped the loop by zeroing out concurrency on every Lambda function in the account. AWS later shipped built-in recursive-loop detection between Lambda and S3 (October 2024), years after this incident.

Source: Asankha Perera →

Traffic spike / DDoS

A 3 MB MP3 turns into a $104,500 bandwidth bill

$104,500Netlify4 days

What happened. jyutping.org is a free-tier static site. It normally used well under 10 GB of bandwidth a month. A sudden traffic spike pushed daily bandwidth to a peak of 60.7 TB. The cause traced back to a single 3 MB MP3 file being downloaded an enormous number of times over four days.

The signal that would have flagged it

A bandwidth/egress anomaly alert. A peak of 60.7 TB in a single day, against a monthly baseline under 10 GB, is a spike of more than 1,000x. A real-time cost view flags that kind of indicator the same day. An invoice shows it four weeks later.

Outcome. Netlify's CEO confirmed the $104,500 overage was fully waived once the story reached Hacker News. The company's stated policy is not to enforce free-tier overage charges from unexplained traffic spikes. A clear violation is a different case.

Source: Cybernews →

Viral scaling

A viral week turns Cara's Vercel bill into $96,280

$96,280Vercel1 week

What happened. Cara is a social app for artists. It positions itself against AI-generated art on larger platforms. It grew from 40,000 to 650,000 users in a week as creatives left Meta's platforms. Serverless function invocations spiked along with that growth, and the resulting Vercel bill for that week came to $96,280.

The signal that would have flagged it

A function-invocation / compute-volume anomaly. A user base multiplying more than 15x in a week drives a matching surge in serverless invocations. A real-time spend view shows that usage-velocity spike well before the bill lands. You get days of runway to add caching or rate limits. Without it, you find out after the invoice.

Outcome. Vercel said its team tried to reach the founder as usage climbed. The emails were missed during the growth spike. The two companies later worked together on cost mitigation.

Source: TechCrunch →

AI / agent runaway

An enterprise skips usage limits, spends $500 million on Claude in a month

$500 millionAnthropic (Claude)1 month

What happened. An AI consultant told Axios that one of their enterprise clients rolled Claude out company-wide without per-user spending caps or usage limits. Engineers running parallel, long-context coding sessions, alongside employees using it for trivial tasks, drove the account to a $500 million bill in a single month.

The signal that would have flagged it

Per-user or per-team spend ceilings paired with a daily normalized-cost view. Anthropic's own enterprise console offers admin dashboards and usage limits, but they have to be configured before the spend happens, not discovered after the invoice.

See exactly how to turn those limits on →

Outcome. The company has since put cost controls in place. The incident, alongside similar pullbacks reported at Microsoft and Uber, is widely cited as accelerating a broader shift toward AI spend governance.

Source: Tom's Hardware →

100 coding agents run up $1.3 million in OpenAI tokens in 30 days

$1.3 millionOpenAI30 days

What happened. Peter Steinberger, creator of the open-source OpenClaw project, posted a screenshot showing $1,305,088.81 in OpenAI API charges over 30 days. That was 603 billion tokens across 7.6 million requests. Roughly 100 autonomous Codex agents generated them. The agents reviewed PRs, hunted bugs, and opened features. There was no per-project budget ceiling.

The signal that would have flagged it

A per-project cost ceiling paired with token-spend-velocity tracking. Steinberger later pointed to one setting as the single biggest driver: Codex's high-throughput "Fast Mode". Turning it off alone would have cut the bill to roughly $300,000.

Outcome. OpenAI covered the bill as part of supporting the project. Steinberger has been explicit that he ran it on purpose, with no budget constraint. It was a stress test of AI-assisted development when token cost is not a factor.

Source: Tom's Hardware →

Billing bug / anomaly

AWS's own billing console briefly shows customers trillion-dollar estimates

up to $2.5 trillion (never actually charged)AWS~1 day

What happened. A unit-pricing bug in AWS's estimated-billing computation subsystem briefly showed some customers cost forecasts. They ran from a few million dollars up to roughly $2.5 trillion. Some screenshots circulating showed even higher figures. The displayed figures were never real usage or charges.

The signal that would have flagged it

None on the customer side. The anomaly sat inside AWS's own estimate pipeline, not real usage. The takeaway here is different: a spend record you keep independently of a single provider's live console isn't exposed to that provider's own display bugs.

Outcome. AWS paused estimated-bill updates so the figures would not climb further. It said the displayed numbers never reflected real charges. It had corrected the estimates within about a day. No customer was billed the erroneous amounts.

Source: The Next Web →

What this adds up to

What every one of these has in common

Discovery gapIllustrative example

Illustrative example. Every incident on this page shares this shape: a break on day 8, an alert on day 9, and an invoice 22 days later.

"Cost Explorer refreshes your cost data at least once every 24 hours". "AWS finalizes your report's usage charges after issuing an invoice at the end of the month".

The invoice was never the fast path

In every case above, something else moved before the dollar figure did. It was a bandwidth spike, an instance count, a function-invocation rate, or a token-throughput curve. None of these bills was the first sign of trouble. Each was the last sign, and by far the slowest.

Per-service dashboards can all stay green at once

The sharpest example on this page is the $500 million Claude month. Every individual account, API key, and workload worked exactly as configured. Nothing errored. Nothing was down. The only thing wrong was the total. No per-service uptime or error-rate dashboard is built to show a total across providers at all.

One normalized view is the actual fix

Every leading indicator above lives on a different provider's console, in a different unit, on a different schedule. To catch the next one before it becomes an invoice, watch normalized, cross-provider spend daily, with anomaly alerting on top. CostMon is built on that premise. See how a rule would have caught this. It uses the same triple-gate detection math, and it runs against illustrative scenarios in your browser.

FAQ

Common questions about runaway bills

Will AWS, Vercel, or Netlify refund a surprise bill like this?

Sometimes, but there's no guarantee. Several incidents above were waived or refunded after the story reached Hacker News or Reddit and got public attention. Netlify's CEO and Amazon support have both stepped in on viral cases. A provider's goodwill is not a cost control, though. Most affected accounts never go viral. Providers have said publicly that a full waiver is the exception, not the norm.

Do spending limits or budget alerts prevent this?

They help, but a limit nobody configures doesn't fire, and a monthly budget alert can still arrive weeks after a loop or a leak started. Several incidents above happened on accounts that had no per-service or per-key limits set at all. The gap this page keeps pointing at isn't the absence of a feature; most providers offer one. It's that the feature has to be turned on before the incident, and someone has to be watching a number that updates daily, not monthly.

How fast can spend be detected, realistically?

Every incident above had a leading indicator. It was a bandwidth spike, an instance count, a function-invocation rate, or a token-throughput curve. It moved hours or days before the dollar figure appeared on an invoice. Detection speed is not the technical bottleneck. Most teams look at one provider's native console, if they look at a live number at all. They have no normalized, cross-provider view that flags an anomaly the same day it starts.

Why do AI/agent incidents keep showing up here specifically?

Because an AI agent has no natural request-per-response ceiling the way a plain API call does. A runaway loop, a misconfigured retry, or no per-user or per-project budget at all can turn ordinary usage into a five- or seven-figure bill. Several cases above had no budget at all. Every underlying service reports 200 OK the whole time. Per-service uptime dashboards have nothing to flag; only a spend-specific view catches it.

The invoice is a lagging signal.

A monthly invoice tells you what already happened. CostMon builds a daily baseline, so a spike stands out while you can still act on it.

Esc