BetterSWE DigestWhat is BetterSWE?

News · Issue 2

Inside AWS's $1.7 Billion Billing Bug

For a day in July 2026, AWS told a hobbyist his $5 account owed $1.7 billion. Here is what actually broke.

A billing console showing an absurd multi-billion-dollar estimate next to a tiny workload

July 17, 2026

The morning AWS billed the internet in trillions

A billing console showing an absurd multi-billion-dollar estimate next to a tiny workload

On Friday, July 17, 2026, AWS customers opened their billing consoles to numbers that made no sense. A Hacker News user (nprateem) with normal usage under $5/month saw an estimate of $1.7 billion, and that title is where the incident got its name. His was far from the worst.

One Reddit user watched a normal $0.19 charge balloon to roughly $2.5 billion. Another reported usage billed at $4.2 trillion. TNW put the spread of reported estimates at $126,000 to $2.5 trillion, which tells you this was not one bad account but a systemic display error.

  normal bill      →   estimated shown
  ----------------------------------------
  $0.19            →   ~$2,500,000,000
  <$1/month        →   $284,006,266,443.74
  $0.15/month      →   $15,400,000,000
  <$5/month        →   $1,700,000,000  (the HN title)
A sample of real reported figures from the HN thread and Reddit screenshots

The $1.7B number is useful only as the label on the thread. The reality was a wide, ragged range of nonsense, which is itself a clue about what went wrong underneath.

What actually broke

Only the estimate lied, not the invoice

Actual usage feeding a correct invoice while a separate estimate display shows a wrong number

AWS was precise about the blast radius. The bug hit only the estimated / forecasted billing displays in the Billing Console and billing emails, the running "current month estimated charges" figure. Actual metered usage and final invoices were never affected.

The official root cause, in AWS Service Health Dashboard language, was "an issue with unit pricing within the estimated billing computation subsystem." In plain terms, the step that multiplies usage units (GB, requests, hours) by their unit prices to produce a running estimate was multiplying wrong.

Actual billing

metered usage → invoice, correct

Estimated display

usage × unit price, broke here

That separation is why AWS could tell customers, verbatim, that "the displayed billing estimates do not reflect actual usage and charges" and that "there are no customer actions required at this time." The scary number lived in a display path, not in the ledger.

The likely mechanism

A unit-pricing error, and one off-by-a-billion guess

A multiplication step where bytes are priced as if they were gigabytes

AWS never published a detailed mechanism, but the shape of the numbers is suggestive. When errors land at factors in the thousands, millions, or billions rather than random noise, the usual suspect is a units mismatch: charging a per-GB rate against a byte count, or a similar exponent slip.

estimate=(usage in bytes)⏟wrong unit×price per GB  ≈  true cost×230\text{estimate} = \underbrace{(\text{usage in bytes})}_{\text{wrong unit}} \times \text{price per GB} \;\approx\; \text{true cost} \times 2^{30}
One community theory: a GB-vs-bytes confusion, an off-by-2^30 factor

That 2^30 idea came from an HN commenter (lukaslueg) and is unverified speculation, not an AWS-confirmed cause. The same comment carried a strange aside that read like a chatbot admitting it "guessed instead of validating," a reminder that some of the thread itself may have been bot-flavored. Treat the exact factor as folklore; the units-error category is the credible part.

Why a units bug produces exactly these numbers

A 2^30 factor (about 1.07 billion) turns a $0.15 monthly bill into roughly $160M, and a few dollars into a few billion. Different services store usage in different base units, so a single wrong conversion applied across a diverse account produces exactly the ragged spread that was reported, from six figures to trillions, rather than one clean multiplier everywhere.

The response

Root cause in 90 minutes, but the rollback failed

An incident response board showing a paused update pipeline and a revert to a known-good snapshot

The bug began late Thursday, July 16 evening and surfaced broadly Friday morning. AWS said it identified the root cause within 90 minutes, which is fast, but the first obvious move did not work.

  1. Thu eve (bug enters estimated billing subsystem)
  2. +90 min (root cause identified)
  3. Rollback (attempted, did NOT fix it)
  4. Pause (freeze estimate updates)
  5. Sat noon PT (recompute from last accurate data)

A rollback was attempted and failed to resolve it; AWS then pinned the cause to a change in the billing calculation subsystem. Its mitigation was to pause estimated billing updates so the inflated figures would stop climbing, then revert and recompute from the last known accurate billing data, with full correction targeted for Saturday, July 18 at noon Pacific.

Why it stung

Fake numbers, real panic

A panicked developer tearing down cloud resources under an enormous fake forecast

The charges were never real, but the fear was. One Reddit user (u/lern_by) panicked and destroyed every resource in their account, believing the charge was genuine. Another (u/Vatonee) said two S3 buckets holding a few MB generated a half-billion-dollar forecast: "I nearly had a heart attack."

A display bug that convinces engineers to delete production is still an outage, even if the ledger is fine.

The timing did not help AWS. The week prior it had committed $1B to forward-deployed AI engineers, and the billing bug landed a day after a separate CloudFront outage. Keep those distinct: the October 2025 US-EAST-1 DynamoDB/DNS failure was a different incident entirely. Together they mark a rough reliability stretch, but this one was purely a billing-display fault.

The open questions AWS did not answer publicly are the interesting ones for engineers: how many accounts were affected, and why testing let a change ship that mispriced usage by factors of a billion. No full post-mortem was cited in the reporting, so the prevention story is still a gap to watch on AWS's status archive.

The takeaway

A display path is still production

Why it matters

AWS's ledger held; a secondary estimate subsystem got a units conversion wrong and briefly told customers they owed billions. The damage was reputational and behavioral, not financial: engineers deleted real resources over fake numbers, and a company selling trust in its infrastructure spent a Friday explaining that its own dashboard was lying. Fast root-causing (90 minutes) did not save it when the rollback failed, which is the part worth remembering.

The short version

  • The bug hit only **estimated billing displays**, not actual usage or invoices; AWS said no customer action was needed.
  • Root cause was **incorrect unit pricing** in the estimated billing computation subsystem; the exact GB-vs-bytes (`2^30`) theory is unverified community speculation.
  • AWS found the cause in **90 minutes**, but a rollback failed; it paused estimates and recomputed from last-known-good data, fixed by **Saturday noon Pacific**.
  • The `$1.7B` name comes from one HN thread title; real reported estimates ran from **$126K to $2.5 trillion**.
  • No detailed post-mortem was published, so the number of affected accounts and the testing gap remain open questions.

Sources

  1. 1.$1.7 BILLION Error Uncovered! (Hacker News Explodes)
  2. 2.AWS billing glitch displayed false multibillion dollar charges to customers | Ukraine news - #Mezha
  3. 3.A bug in AWS has caused some customers' bills to spike ...
  4. 4.AWS: Inaccurate Estimated Billing Data – $1.7 BILLION (Hacker News thread)
  5. 5.AWS Billing Bug Hits Customers With Billion-Dollar Bills
  6. 6.An AWS billing bug sent users estimated charges of up to ...
  7. 7.Customers refunded by Amazon due to "Billing Error" and the amount is 2357.36!
  8. 8.Customers refunded by Amazon due to "Billing Error" and support will not help.
  9. 9.Request for Refund Due to Unintended AWS Service Charge Within 7-Day Right of Withdrawal | AWS re:Post
  10. 10.amazon issues unexpected refunds to customers
  11. 11.Refunds and cancellations in AWS Marketplace - AWS Marketplace
  12. 12.Post-Mortem Analysis: AWS US-EAST-1 Outage, October 20, 2025
  13. 13.The October 2025 AWS Outage: A $62,500-Per-Hour Wake-Up Call for Healthcare Organizations | Censinet
  14. 14.AWS Outage Analysis: October 20, 2025
  15. 15.AWS's billing incident was an example of how important communication ...
  16. 16.AWS billing bug shows some customers estimates in the billions and trillions (Engadget)
  17. 17.AWS estimated billing error coverage (The Next Web)
  18. 18.AWS Service Health Dashboard
  19. 19.AWS billing incident and communication retrospective (r/aws)