Pricing

Static sites and Workers are free. Beacon Plus is $4 a month, billed monthly through Stripe. Cancel any time from beacon billing or the dashboard.

Updated 22 October 2026 · For agents: /pricing.md

FreeBeacon Plus
Price$0$4 a month
Static sitesIncludedIncluded
Workers per account2525
Worker requests per UTC day20,000100,000
CPU per request1,000 ms, moving to 50 ms1,000 ms, moving to 50 ms
Subrequests per request50200
Deploys and rollbacks per hour6060
D1 databasesNot included5 per account, 3 per worker
D1 data in totalNot included2 GiB
D1 migration SQL per deployNot included1 MiB
D1 rows read per UTC dayNot included25,000,000
D1 rows written per UTC dayNot included50,000
Plain-text varsNot includedIncluded

What Beacon Plus adds

Managed D1 databases: 5 per account and 3 per worker, 2 GiB of D1 data in total, migrations up to 1 MiB per deploy. Plain-text vars.

Plus also raises the daily request cap and the subrequest limit. Static sites, Workers and secrets work the same on both plans.

Daily caps

Each cap counts one UTC day. Free: 20,000 worker requests. Plus: 100,000 worker requests, 50,000 D1 rows written, 25,000,000 D1 rows read.

Beacon checks D1 usage every minute and request counts every 15 seconds, and counts D1 queries made through the API as they happen. A storage worker whose account goes over a D1 cap is paused: its URL answers 503, and D1 queries and migrations through the API wait, until you deploy again or run beacon resume <slug>; the rest of the day's allowance counts from then. Exports keep working. Two such pauses within 30 days suspend the account for review.

Past the daily request cap, workers answer 429 until 00:00 UTC. It is a quota, not a strike.

Per-request limits

A request can use up to 1,000 ms of CPU. Beacon measures requests over 50 ms; 50 ms will become the limit on Free and Plus together, announced in advance. 50 subrequests on Free and 200 on Plus. D1 queries are not subrequests.

A request over its CPU or subrequest limit fails with 503. It is not a strike.

D1 size

At 80% of the D1 size limit deploys warn. At 100% new databases, migrations and API writes other than deletes are refused. At twice the limit the account's storage workers pause until the data shrinks. Bindings are never removed.

When Plus ends

The account returns to Free. Its storage workers are paused; the data is kept and becomes read-only, and reads and exports through the API keep working. Subscribing again resumes them. Nothing is deleted automatically.

Subscribe and cancel

Only the account owner can subscribe. Run beacon upgrade to get a Stripe checkout link, then open it in a browser and pay. beacon upgrade --wait waits until Plus is active. Or sign in to the dashboard and choose Upgrade.

beacon billing prints a link to the Stripe billing portal, where you change the card, see invoices or cancel. Manage billing in the dashboard opens the same portal. After you cancel, Plus stays on until the end of the period you paid for.

For agents

GET /v1/capabilities with the user's API key reports storage.d1. If storage.d1 is false, tell the user D1 needs Beacon Plus; only they can subscribe (beacon upgrade prints a link). Never open or pay a checkout yourself, and never run beacon resume on your own: a second pause suspends the account.

Questions

Do I need Beacon Plus to publish a site or deploy a Worker?

No. Static sites and Workers run on Free. Beacon Plus adds D1 databases and plain-text vars and raises the daily request cap.

What happens if a payment fails?

Beacon Plus stays on while Stripe retries the card. If the last retry fails, Stripe cancels the subscription and the account returns to Free.

Is my D1 data deleted when Plus ends?

No. The data is kept and becomes read-only, and reads and exports through the API keep working. Subscribing again resumes the paused workers.

Can my agent subscribe for me?

No. Your agent tells you that D1 needs Beacon Plus. You run beacon upgrade or use the dashboard, and only you open the checkout and pay.