# 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.

| | Free | Beacon Plus |
|---|---|---|
| Price | $0 | $4 a month |
| Static sites | Included | Included |
| Workers per account | 25 | 25 |
| Worker requests per UTC day | 20,000 | 100,000 |
| CPU per request | 1,000 ms, moving to 50 ms | 1,000 ms, moving to 50 ms |
| Subrequests per request | 50 | 200 |
| Deploys and rollbacks per hour | 60 | 60 |
| D1 databases | Not included | 5 per account, 3 per worker |
| D1 data in total | Not included | 2 GiB |
| D1 migration SQL per deploy | Not included | 1 MiB |
| D1 rows read per UTC day | Not included | 25,000,000 |
| D1 rows written per UTC day | Not included | 50,000 |
| Plain-text vars | Not included | Included |

## What Beacon Plus adds {#plus}

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 {#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 {#per-request}

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 {#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 {#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 {#subscribe}

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](/dashboard?view=plan) 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 {#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.
