Paid Cloudflare plans have no spending limit

Finally. Hard billing caps for Cloudflare.

Other tools watch your bill and send alerts. SignalFlare acts on it: when spend hits your cap, we cut the traffic behind it and wake the right person. One click puts it all back.

14-day trial, no card · Read-only to start · Caps are opt-in

Hard cap

acme-prod · Workers · $200 / month

Armed
  • at 50% alert #infra in Slack
  • projected 100% forecast alert + email
  • at 100% enable WAF rule: rate-limit /api/*
  • at 100% remove route api.acme.dev/* → search-worker
  • at 100% pause cron triggers: nightly-reindex

Dry run passed · Restore in one click · Estimate, not your invoice

The problem

Usage billing with no ceiling.

Workers, R2, D1, KV and Durable Objects bill per use, and nothing on a paid Cloudflare plan says stop. One bug, one crawler, one retry loop, and the meter runs all night.

$4,868

A $5 account, one weekend

Two buggy Workers wrote about 4.8 billion rows to D1 while the owner slept. The bill was waived after 18 days of tickets.

Read the write-up →

1 day

How late the official alert is

Cloudflare's Budget Alerts are evaluated daily and arrive the day after you cross the line. By then a loop has had a full day to run.

0

Switches that say stop

No account-wide spend limit exists for Workers, R2 or D1. Alerts are informational. Stopping the spend is left to whoever is awake.

How it works

Set a ceiling. Go to bed.

  1. 01

    Connect read-only

    Paste a Cloudflare token with one scope, Account Analytics: Read. It can look, not touch. We start watching your spend within minutes.

  2. 02

    Set the ceiling

    A monthly cap for the whole account or per service. Alerts at 50% and 80%, plus a forecast when you are on track to cross it.

  3. 03

    Arm the cap

    Grant a separate, narrowly scoped write token and pick what gets cut. Every action starts as a dry run. Run a live fire drill on staging, then arm it by typing a confirmation.

  4. 04

    Sleep

    Spend hits the cap, we cut the traffic behind it and page whoever is on call. When you are ready, restore everything with one click.

Beyond watching and alerting

When the cap hits, we act.

Pick one action or stack several per budget. Cloudflare-native actions run through Cloudflare's own API with a token you control. Everything else plugs in through a signed webhook.

Reroute or remove a Worker route

Point the burning route at a static maintenance Worker, or take it off entirely. Restore puts the original script and pattern back.

Zone · Workers Routes · Edit

Switch on a WAF rule

Flip a block or rate-limit rule you prepared in advance. Throttle the abusive path, keep the rest of the site up.

Zone · Zone WAF · Edit

Raise the security level

Put the zone into I'm Under Attack mode so every visitor gets a challenge while you investigate.

Zone · Zone Settings · Edit

Repoint a DNS record

Send a hostname to a maintenance origin. High risk, so A, AAAA and CNAME only, never mail records.

Zone · DNS · Edit

Pause crons and queues

Stop the scheduled job that is looping, or pause a Queue delivering messages to a runaway consumer.

Account · Workers Scripts / Queues · Edit

Call your own webhook

A signed cap.fired event to any HTTPS endpoint: flip a feature flag, scale down elsewhere, run your runbook. Restore sends cap.restored.

No write token needed
  • Born as a dry run
  • Fire drills on staging that restore themselves
  • Armed only with a typed confirmation
  • Owners and admins only
  • Cloudflare's raw responses kept in the audit log
  • One-click restore
  • Critical alerts page you via PagerDuty

The honest part

What a cap stops, and what it can't.

A billing cap you can't trust is worse than none. Here is exactly where ours works.

Stops

  • Request floods and crawlers hitting a Worker route
  • Abusive traffic on a path you can block or rate-limit with WAF
  • Runaway cron jobs and Queue consumers
  • Traffic on a forgotten workers.dev URL
  • Anything your own systems can switch off, through a signed webhook

Doesn't stop

  • Storage you already hold in R2, D1 or KV keeps billing per GB-month
  • Durable Object alarms that reschedule themselves never pass through a route. Add a circuit breaker with the budget status API, and we page you loudly.
  • Workers reached only through Custom Domains or service bindings
  • Spend between polls. We check every 5 minutes on paid plans and Cloudflare analytics lag a little, so a cap can overshoot by a few minutes of spend.

Versus Cloudflare Budget Alerts

Alerts tell you. Caps stop it.

Keep Cloudflare's alerts on, they're free. SignalFlare is the part they deliberately leave out.

Feature Cloudflare Budget Alerts SignalFlare
Stops the spend No. Informational only Yes. Opt-in caps cut the traffic
How fast Checked daily, sent the day after Every 5 minutes on paid plans
Delivery Email Slack, Discord, email, signed webhooks
Scope One number for the account Per-service caps and account totals
Billing plans Pay-as-you-go only Any paid Cloudflare plan
Undo Nothing to undo One-click restore, full audit log

For teams that got hurt

Burned once is enough.

If a surprise Cloudflare bill has already hit you, we'll find what caused it, close the gap, and set your caps with you so it can't happen the same way twice.

Book a risk review
  1. 01

    Respond automatically

    Caps that remove routes, enable WAF rules and pause crons when spend runs away.

  2. 02

    Harden the account

    A best-practice pass over caching, rate limiting, cron schedules, CPU limits and loop-prone code paths.

  3. 03

    Bring in a person

    Hands-on help from people who have read a lot of surprise invoices.

Security

Two tokens. Two trust levels.

Watching: read-only

One scope, Account Analytics: Read. It can't touch DNS, Workers or settings. A leaked one reveals usage numbers, nothing more.

Capping: opt-in write

A separate token, scoped only to the actions you arm. Stored apart, used only when a cap fires, a dry run, or a restore.

Both

Encrypted with AES-256-GCM, never logged, never shown again. Revoke either in Cloudflare and we lose access instantly.

Pricing

Cheaper than one bad night.

One plan, $5 a month, the same as Workers Paid. Never a share of your spend. Start with 14 days free, no card.

Pricing details →

FAQ

Straight answers.

Does Cloudflare really have no spending cap?

Not on Workers, R2, D1, KV or Durable Objects as of October 2026. Cloudflare's Budget Alerts, launched in April 2026, send an email the day after a threshold is crossed and are explicitly informational: they don't cap usage, and they only cover pay-as-you-go billing. AI Gateway is the exception and has its own spend limit.

Is this a hard cap or a best effort?

It is a hard stop on the traffic you choose, triggered by estimated spend. When a budget reaches 100%, the actions you armed run against Cloudflare's API and stay in place until you restore them. What it isn't: an instant meter. We check every 5 minutes and analytics lag slightly, so expect a few minutes of overshoot, and storage you already hold keeps billing. The section above lists exactly what a cap can and can't stop.

What if a cap fires on real traffic?

Then you chose a ceiling and it held. That's the trade, and it's why caps are opt-in per action, born as dry runs, and armed only after you type a confirmation. Most teams cut the expensive path (an API route, a crawler-facing URL, a cron) rather than the whole site. Restore takes one click and puts back exactly what we changed.

What access do you need?

Monitoring needs one read-only scope, Account Analytics: Read. Caps need a second, separate token with only the write scopes for the actions you arm, such as Workers Routes: Edit. Both are encrypted with AES-256-GCM, never logged, and never shown again after you paste them. Revoke either in Cloudflare at any time.

How accurate are the spend numbers?

They are estimates: an early warning, not your invoice. Cloudflare samples its analytics, so our figures can drift a few percent from the bill. That is accurate enough to know a cap is being hit, and we label every number as an estimate.

We already got burned. Can you help?

Yes. A risk review is a one-off session where we go through your account with you: what caused the spike, which paths can loop or be abused, and which caps and Cloudflare settings would have stopped it. Book one from the risk review page.

Your Cloudflare bill finally has a ceiling.