Source-linked reports: Amounts and outcomes come from the original reports and linked replies.
Will Moss: a reported 20 trillion Durable Object reads from an alarm loop.
@itswillmoss reports 20,213,871,155,804 Durable Object reads, a dashboard mismatch and lost project access. He attributes the loop to health checks waking onStart and repeatedly setting an alarm. The X thread estimates the cost above $30,000.
What happened
- Reported cause
- Unbounded loop
- Incident date
- Date not recorded
- First reported
- 2026-04-16 15:19 UTC
Latest reported outcome
The author says he opened a support case immediately after receiving the invoice and estimates the cost above $30,000.
View this update in the timelineOriginal sources
Each entry links to the report or reply it describes.
Case timeline
Unexpected read count reported
Read on 𝕏The author reports about 20.2 trillion Durable Object reads on the invoice.
will moss
@itswillmoss · Original 𝕏 post
I've been paying close attention to all the awesome things that @Cloudflare has rolled out. I've added Dynamic Workers, Browser Rendering, Agents SDK in the start up I've been trying to build. But I regret it so much after I got on an invoice for 20,213,871,155,804 Durable Object…
Lost access and support case reported
Read on 𝕏The author says Workers Paid was disabled, the project became unavailable and a support case was opened immediately.
will moss
@itswillmoss · Original 𝕏 post
The invoice led to my workers paid plan to get shut off on Wednesday, causing my project to be unusable. Despite the fact I filed a case immediately after receiving the Invoice, I still have no indication on what the resolution will be. pic.twitter.com/E9NU7uu4S1
Dashboard and alerts questioned
Read on 𝕏The author says the dashboard did not reflect the invoice’s count and there was no excess-usage notification.
will moss
@itswillmoss · Original 𝕏 post
On Cloudflare's main dashboard, there is no indication of DO reads / writes, and no automated notification once you exhaust your free amount. Making it confusing when their pricing page promises "clear charges for usage that exceeds the base plan". pic.twitter.com/z8EKnB8aPu
Alarm diagnosis described
Read on 𝕏The author says health checks woke the object every 60 seconds and onStart set an alarm without checking getAlarm.
will moss
@itswillmoss · Original 𝕏 post
The bug was simple, I set up a worker to check API health every 60s, but onStart() called setAlarm() on every wake-up without checking getAlarm() first. Once I got the invoice, I put getAlarm() in front of setAlarm(), added circuit breakers, removed DO bindings from previews.
Cost described as an estimate
Read on 𝕏The author estimates that the cost may exceed $30,000.
will moss
@itswillmoss · Original 𝕏 post
During Agents Week, Cloudflare is pushing DOs as integral to Agents. Cloudflare is putting developers at risk of accruing $30,000+ of invoices without any hard cap, no email after exhausting included limits, and little transparency on the dashboard.
More to read
Cloudflare billing pitfalls thread
The author organizes Cloudflare billing risks by product and shares experience with budget alert emails.
A simulation game, a reported $4,483.74 in Durable Object reads.
Jonathan Mann (@songadaymann) reports spending $4,483.74 on Durable Object reads while building a simulation game. Rita Kozlov replies, “let us see what we can do”; Mann later thanks her.
levelsio: disputed Smart Shield Argo charges of about $1,500/month.
Pieter Levels says around 200 sites were charged for Smart Shield Argo although he had not enabled it. He reports about $1,500 per month and later says Cloudflare refunded everything.