Pricing

Three plans. One door.

Every plan runs the same platform: the edge in front of every app, signed identity for every request, the audit log. The plans differ in how much you can put behind the door.

Free

$0per month

For trying it, and for the one internal tool a small team needs.

  • 3 apps, 3 members
  • JS, TypeScript and static apps
  • No container apps
  • 100,000 requests a calendar month
  • 1 GB of storage for files and databases
  • Audit log kept 3 months
  • Community support
Start for free
Business

$199per workspace, per month

For a company where IT needs to see all of it.

  • 200 apps, 200 members
  • 4 container apps
  • 20,000,000 requests a billing period, then $3.50 per million
  • 100 GB of storage for files and databases
  • Audit log kept 12 months
  • Priority email support
Start on Business

Prices are in US dollars, billed monthly per workspace through Stripe, and exclude tax: VAT, GST or sales tax is added at checkout where it applies. Enter your VAT, GST or tax ID at checkout for reverse charge. A workspace starts on Free with no card; upgrade from the workspace's Billing tab. On Team and Business the request allowance is per billing period, the month each invoice covers; on Free it is per calendar month, in UTC. Export is available on every plan.

Everything, side by side

Per workspaceFreeTeamBusiness
Price$0$49 / month$199 / month
Apps325200
Members325200
Container appsNo14
Container sizesNonelite, basiclite, basic
CPU time per request50 ms100 ms150 ms
Bypass tokens per app550100
Environment variables per app255050
Public paths per app31010
Storage: files and databases1 GB10 GB100 GB
Image pushes per dayNone20 GB100 GB
Requests included100,0002,000,00020,000,000
Counted perCalendar monthBilling periodBilling period
Beyond thatStops at 2×$3.50 per million$3.50 per million
Audit log kept3 months3 months12 months
App logs kept1 day7 days7 days
App log lines per workspace per day20,000100,000500,000
ExportYesYesYes
SupportCommunityEmailPriority email

From 1 November 2026

New limits start on 1 November 2026, with new terms. Until then everything above applies as it is. We have emailed every workspace's members with their own numbers.

From 1 November 2026FreeTeamBusiness
Database storage, most1 GB2 GB10 GB
Database rows read a month50,000,000, then stopsNo cutoffNo cutoff
Database rows written a month100,000, then stopsNo cutoffNo cutoff
Subrequests per request505050
Requests countedEvery request, public paths includedSigned-in people and bypass tokensSigned-in people and bypass tokens

Questions

What counts as a request?

Every request the edge admits to an app in your workspace for a signed-in person or a bypass token. Requests to the dashboard and the API don't count, and public-path traffic isn't counted either: anonymous requests to a public path are rate-limited per client instead of counted against you.

On Team and Business the allowance is per billing period: the month that starts on the day you subscribe and renews on the same day each month, which is the period each invoice covers. The count starts again with each period. On Free it is the calendar month, in UTC. The workspace's Billing tab shows the count for the current period: the same requests the invoice is worked out from.

What happens when a Free workspace runs out of requests?

Its apps keep running until the workspace reaches twice the allowance: 200,000 requests in a calendar month. After that the edge answers 402 for the workspace's apps until the month ends, or until you upgrade, which takes effect immediately. The platform emails the workspace's owners when it passes the allowance, and again if its apps stop. The count is of requests served while the workspace was on Free, so a workspace that has just come onto Free (after a cancellation, a downgrade or a failed payment) counts from the hour the change takes effect, whatever it served on the plan before. For a cancellation or a downgrade that is the end of the paid period; for a failed payment, the end of the two weeks of retries. Starting a checkout and leaving it unfinished changes nothing. Team and Business workspaces are never cut off; requests past the allowance are metered at $3.50 per million and added to the invoice for that billing period.

What is a container app?

Anything that isn't a JavaScript Worker or a static site: a Python, Go, Rust or Node server, with or without a Dockerfile. It runs in a container behind the same edge. Team runs one container app and Business four, each at the lite or basic size (up to a quarter of a vCPU and 1 GB of memory); write to us for more. Container apps need Team or Business: a Free workspace can deploy JS, TypeScript and static apps only, and a container app in a workspace that has moved to Free stops answering (the edge returns 402 with a page saying the app needs a paid plan) until the workspace is on a paid plan again.

What counts toward storage?

The files your sites and apps serve and your Worker apps' databases, together. Each database is measured about once an hour. Once a workspace is past its storage, nothing new deploys until it's back under: delete rows or files, or move to a bigger plan. What's running keeps running.

What counts as a database row?

From 1 November 2026, Free stops for the month at 50,000,000 database rows read or 100,000 written. Cloudflare counts them for each of your apps' databases: a query counts every row it reads, including rows it scans and doesn't return, and every row and index entry it writes. That includes queries made while serving public-path requests, and the reads and writes of database exports and jiayang db commands. We take the lowest figure Cloudflare's analytics give, so the count never runs ahead of what was used. If we can't measure a Free workspace's rows for two hours, its apps that have a database answer 402 until we can.

What happens when a workspace's databases reach the limit?

From 1 November 2026, each plan limits its databases together: 1 GB on Free, 2 GB on Team and 10 GB on Business. We measure them every few minutes, and email the owners at 80%. Once they are over, apps with a database answer only the workspace's owners and admins, so they can delete rows through the app; everyone else, bypass tokens, public paths and webhooks get 507, and nothing new deploys. If the databases grow further, or reach 10% over, those apps answer no one. To get back under, delete rows with jiayang db exec or through the app, export and remove data, or upgrade. On Free, a workspace still over after 7 days is suspended, and 30 days after that its largest databases are deleted until it is under, after emails 7 days and 1 day before. Apps without a database keep answering throughout.

Is billing per person?

No. A plan is per workspace and includes the members it lists. Someone can belong to several workspaces on different plans.

How do I change a plan?

From the workspace's Billing tab. An upgrade takes effect at once, and the difference for the rest of the current period is charged now, pro rata. The new plan's allowance starts from the moment the upgrade takes effect, and the requests served before it are billed at the old plan's price, so an upgrade never reprices what you have already served. A downgrade applies at your renewal, when the paid period ends: until then the workspace keeps the higher plan, the Billing tab shows "Team from date", and you can undo it. The renewal invoice is at the new price. Either way the dialog says exactly what will happen before you confirm. Audit events older than the new plan's retention are deleted 30 days after the change; export first.

How do I cancel?

Cancelling, along with cards and invoices, is in Stripe's customer portal, which the Billing tab opens. A cancellation takes effect at the end of the paid period, and the workspace then goes back to Free: container apps stop, and everything else keeps running within Free's limits. Audit events older than Free's retention are deleted 30 days after the change; export first. See the refund policy for what happens to a partial period.

What if a payment fails?

If a payment fails we retry for up to two weeks, and Stripe emails you each time; then the workspace moves to Free, container apps stop, and everything else keeps running within Free's limits. The platform emails the workspace's owners three days before the move, and again when it happens. Paying again brings the plan back.

How much can I push?

Pushing a container image counts against two daily budgets: the workspace's, which the plan sets, and the person's, 20 GB a day on any plan. So Team is 20 GB per workspace per day, and Business is 100 GB per workspace per day, 20 GB per person. Both are rolling: a push counts for 24 hours. A push that would go over either is refused until enough has aged out, and the image already deployed keeps running.

What if I go over a limit other than requests?

Creating the thing that would go over (an app, a member, a token) is refused with a message saying which limit and which plan lifts it, for example "Team allows 25 apps". Nothing already running is affected.

Can I take my data out?

On every plan. The workspace export, from the workspace's Settings, is one JSON document: the workspace's configuration, its members, its sharing grants, the names of its tokens, secrets and environment variables (never a value), and the audit log the plan retains. An app's database is exported on its own, as SQL, from the app's page in the dashboard or with jiayang db export. A static site is the files you uploaded.

What happens when I delete an app or a workspace?

Deletion is immediate and permanent. The app's scripts, databases, containers and files are removed from Cloudflare right away, and its configuration, versions, sharing grants, tokens, secrets and environment variables go with them. Its entries in the workspace's audit log stay for your plan's audit retention, like every other entry. Deleting a workspace removes its apps the same way; the control plane's own records of the workspace linger for 30 days, for accounting, and nothing is ever restorable. Export first. Deleting a workspace on a paid plan cancels its subscription at once, with no refund for the rest of the period; the confirmation dialog says so.

Where are my invoices?

In Stripe's customer portal, which the Billing tab opens. Stripe issues every invoice and receipt; we store no amounts.

Do you offer invoicing or annual billing?

Not yet. Every plan is monthly, paid by card through Stripe. If you need annual invoicing for a Business workspace, write to us.

Is there a discount for open source, education or non-profits?

Ask. Tell us about the project at support@jiayang.cloud.