billflare.

Appflare spend protection: per-app usage alerts and automatic pausing in your own account

Appflare, an open-source (Apache-2.0) app manager that runs as a Worker in your own Cloudflare account, added spend protection: it reads each installed app’s usage every 5 minutes, alerts on unusual usage, and can pause an app that runs away.

Products
WorkersDurable ObjectsD1R2
Source
Community resourceAppflare docs
Author
Mendy (@MendyOK)

Key points

  • What it watches: every 5 minutes it reads Cloudflare analytics for the resources it created for each app (Workers, Durable Objects, D1, KV, R2, queues, Workflows and others), matched by resource ID. It re-reads the last 3 hours because analytics lag, and a new app’s usage appears about an hour after install. Dollar figures are estimates at Cloudflare list prices, and Workers or resources Appflare did not install are not counted, so the totals are not the account’s whole bill.
  • Alerts: an hour at 5×, 20× (the default) or 100× an app’s normal, defined as the 95th percentile of its active hours over the 7 days before the last day, sends a message to Telegram, Slack, Discord or a webhook, provided the hour also costs at least $0.05 on Workers Paid or uses at least 5% of a free daily limit on Workers Free. You can also write alerts such as “when it is on pace to spend $20 this month”.
  • Pausing: automatic pausing is off by default. A pause makes each Worker serve a stand-in that returns 503 while keeping bindings, secrets and data; Durable Object alarms are put off by an hour each time they fire, cron triggers do nothing, queues stop delivering, Workflow instances pause and containers stop. Storage is still billed while paused, and Appflare never resumes an app by itself.
  • Automatic triggers: a loop check (by default over $1 an hour and at least 50× normal on Workers Paid, tripped on two checks 5 minutes apart; one Durable Object running its alarm more than 3,600 times in an hour also counts) and, on Workers Paid, a per-app spending cap per day, week or month (default $10 a month), plus an optional monthly budget that pauses the biggest spender. On Workers Free it warns when the whole account reaches 90% of a free daily limit, but it does not cap or pause anything it did not install.
  • Official docs (rechecked 2026-10-15): Cloudflare budget alerts email once when account-wide usage-based spend crosses a threshold and do not pause or cap usage. Appflare’s caps and pauses act only on the apps it installed.

Original sources

  1. Undated

    Appflare spend protection: per-app usage alerts and automatic pausing in your own account

    Open original source

    Appflare, an open-source (Apache-2.0) app manager that runs as a Worker in your own Cloudflare account, added spend protection: it reads each installed app’s usage every 5 minutes, alerts on unusual usage, and can pause an app that runs away.

  2. Launch thread by Mendy (@MendyOK): Appflare is a free, open-source app store for your own Cloudflare account, and spend protection tracks every app, warns if one runs away, and can pause it.

    Read on 𝕏

    Mendy

    @MendyOK · Original 𝕏 post

    Appflare is a free, open-source app store for your own Cloudflare account: 100+ apps, one click each. But what if one loops all night? Introducing: spend protection! Appflare tracks every app, warns you if one runs away, and can pause it. website: https://t.co/viYc3rqoDY github: https://t.co/7wuL9UDWw5
  3. Thread: every app gets a Usage tab, and Home shows this month’s cost and where it is heading, from Cloudflare analytics read every 5 minutes with dollar estimates at list prices.

    Read on 𝕏

    Mendy

    @MendyOK · Original 𝕏 post

    Every app now has a Usage tab, and Home shows what your apps have cost this month and where it's heading. The numbers come from Cloudflare's own analytics, read every 5 minutes, with dollar estimates at Cloudflare's list prices. https://t.co/vz8tgBp263
  4. Thread: alerts at 5×, 20× or 100× an app’s normal hour via Telegram, Slack, Discord or a webhook, or a custom alert written as a sentence.

    Read on 𝕏

    Mendy

    @MendyOK · Original 𝕏 post

    When an app's hour reaches 5x, 20x or 100x its normal, Appflare tells you on Telegram, Slack, Discord or a webhook. Or write your own alert as a sentence: "when it is on pace to spend $20 this month". https://t.co/IV4SZpb5yl
  5. Thread: auto-pause for apps stuck in a loop; on Workers Paid, per-app spending caps per day, week or month and a monthly budget that pauses the biggest spender.

    Read on 𝕏

    Mendy

    @MendyOK · Original 𝕏 post

    Turn on auto-pause and Appflare pauses an app that's stuck in a loop, burning real money at many times its normal rate. On Workers Paid, add a spending cap per day, week or month, and a monthly budget that pauses the biggest spender until your apps fit it. https://t.co/vrjGEzHJx9
  6. Thread: pausing keeps data, bindings and secrets; queues, Workflows and containers stop too, and resume restores the exact versions that were running.

    Read on 𝕏

    Mendy

    @MendyOK · Original 𝕏 post

    Pausing doesn't touch your data. Each Worker serves a "paused" page and keeps its bindings and secrets. Queues, Workflows and containers stop too. Resume puts back the exact versions that were running. https://t.co/9z2HKY4nDx
  7. Thread: on Workers Free it also warns before the account hits a free daily limit; existing installs update from Settings > Updates and reconnect Cloudflare once.

    Read on 𝕏

    Mendy

    @MendyOK · Original 𝕏 post

    Free and open source. On Workers Free it also warns you before your account hits a free daily limit. Update Appflare from Settings > Updates, then reconnect Cloudflare once. https://t.co/Oq3ziDqSQo https://t.co/Cz1um9YHSu
  8. Undated

    Repository (Apache-2.0): the README says Appflare runs on the free Workers plan, installed apps count against your own Cloudflare plan, and they keep running if Appflare stops or is removed.

    Open original source
Other

Meathill: OpenNext KV ISR cache left unpaid TTL work and ballooned storage.

Meathill reports that an OpenNext Cloudflare KV incremental-cache path for Next.js ISR left a TODO for KV TTL, so versioned page snapshots accumulated. Dashboard billable storage showed 3.59 GB-month over the 1 GB free allowance with ongoing extra charges, and historical zombie data reached about 24 GB before he moved to a new namespace. He does not state a dollar invoice total.

Author experienceWorkers

Free plan FAQ: overage errors, reset time and CPU limits

风易 (@Michael_liyang) answers three common questions: whether going over the free quota silently charges you, when quotas reset, and whether the free plan can be used commercially.

Community resourceWorkers AI +1

ClaudeBar’s Cloudflare AI provider: Workers AI neurons and overage in the menu bar

The open-source macOS menu bar app ClaudeBar added a Cloudflare AI provider that shows today’s Workers AI neurons against the free daily allocation, an estimated Workers Paid overage, AI Gateway tokens and the last invoice, using a read-only API token.