Skip to content
DocsPlatformPlans & Billing

Plans & Billing

PocketBase Cloud has three plans. All billing runs through a single Stripe subscription per account — upgrades and add-ons are added to it without a new checkout.

Plan comparison

Free Starter Pro
Price $0/month $5/month $20/month flat
Projects Unlimited Unlimited Unlimited
PocketBase instances 1 (50MB storage) 1 Unlimited per compute
Frontends 5 5 Unlimited per compute
Backends ✓ Unlimited (Node.js, Next.js, Deno, Bun)
Compute Automatic Automatic, or choose a region Dedicated compute in a region you choose

Free

The Free plan includes one PocketBase instance (with a 50MB storage limit) and five frontends. A $0 Stripe subscription is required to collect payment information and prevent abuse — you are not charged.

Starter — $5/month

Starter lifts the storage limit and lets you choose the region your deployments run in. It includes 1 PocketBase instance and 5 frontends, and supports add-ons when you need more:

  • +1 PocketBase instance — $5/month
  • +5 frontends — $5/month

Add-ons are purchased from the Plan page and are added to your existing subscription immediately, with no new checkout.

Pro — $20/month flat

Pro is a flat $20/month and unlocks:

  • Your own dedicated compute (2 vCPU) — provisioned automatically within a few minutes of subscribing, in a region you choose at checkout
  • Backend deployments — run custom server-side code (Node.js, Next.js, Deno, Bun)

Each dedicated compute supports effectively unlimited PocketBase instances, backends, and frontends — you pay for the compute, not per deployment. There is no per-server or usage-based billing — the flat $20 price covers your compute.

What “unlimited” means in practice

There is no per-deployment charge and no artificial cap, but a compute is one real 2 vCPU machine rather than a metered quota. How much fits depends on what you run, because the three resource types cost very different amounts:

  • Frontends are static files served by Caddy. There is no process per site, so they cost almost nothing beyond disk.
  • PocketBase instances each run as their own container, but PocketBase is a single Go binary with a small resident footprint.
  • Backends each run a Node.js, Next.js, Deno or Bun runtime in their own container, and a language runtime holds considerably more memory than a Go binary does.

So dozens of PocketBase instances and frontends sit comfortably on one compute, and backends are what you run out of room for first.

Nothing is metered and you are never billed by surprise. If a deploy would exceed what your compute can hold, it fails with a message saying so rather than silently degrading what is already running. Additional dedicated computes are coming for teams that want extra isolation or scale.

See Available Regions for the full list of locations your dedicated compute can run in.

Deployment slots

Your plan defines how many of each resource you can run. Deleting a deployment frees its slot immediately, so you can replace a frontend or instance without changing your plan.

Using the portal

The Plan page shows current usage against your limits.

Using the CLI

pbc whoami            # which account and plan you're acting as
pbc whoami --json     # same, for scripts
pbc pocketbase ls             # what's currently deployed
pbc frontend ls
pbc backend ls

A command that would exceed a limit fails with exit code 3 and a message naming the limit — so a CI job can tell “over quota” apart from a broken deploy.

Changing plans

Checkout and subscription changes happen in the portal — the CLI has no payment flow.

Using the portal

Upgrade from the Plan page at any time; the change takes effect immediately. Since everything is one Stripe subscription, you can also manage payment methods and view invoices from the built-in Stripe billing portal linked in the portal.

Using the CLI

pbc plan    # prints your current plan and the link to change it

Next steps