Billing & pricing
Per-second metering, workload-class rates for sandboxes, apps, and databases, storage and egress, and how plan credits work.
PandaStack bills per second of actual runtime. Anything suspended, hibernated,
or scaled to zero bills no compute at all. The live rate card is always available
at GET /v1/pricing — the tables below mirror it.
Workload-class rates
Different workloads have different economics, so each class has its own rate:
| Class | vCPU / hour | RAM GiB / hour | Typical monthly |
|---|---|---|---|
| Sandboxes (AI / code-exec) | $0.054 | $0.0162 | 1 vCPU / 1 GiB ≈ $0.07/hr while running |
| Apps (git-deployed, incl. PR previews) | $0.004 | $0.008 | always-on 4 GiB ≈ $23–29/mo depending on CPU use; sleeping ≈ $0 |
| Databases (managed Postgres) | $0.0015 | $0.012 | 1 GiB ≈ $0.015/hr awake ≈ $11/mo always-on; a dev DB that auto-suspends is typically $2–3/mo |
- CPU vs. memory: memory bills by resident working-set GiB-hours — the RAM your workload actually keeps warm — capped at the committed-basis price, so it can only come out cheaper than paying for the full baked size; CPU is billed by active CPU-seconds actually used, capped at the committed vCPU ceiling. An always-on app pays at most for its 4 GiB, and only for the CPU it burns. Databases are the exception: they stay reservation-priced for their provisioned RAM.
- Apps: builds run inside your app's VM at app rates — a 10-minute build costs about half a cent. There are no separate build minutes.
- Databases: point-in-time recovery, backups, and failover are included. Database tiers roll up to 1 GiB ≈ $0.015/hr · 4 GiB ≈ $0.051/hr · 16 GiB ≈ $0.195/hr.
- Idle is free: hibernated sandboxes, sleeping apps, and auto-suspended databases bill no compute — only storage.
Storage & egress
| Meter | Rate |
|---|---|
| Volume storage beyond your plan quota (DB volumes count here too) | $0.15 per GiB-month |
| Network egress beyond 100 GB/month per workspace | $0.10 per GB (inbound free) |
Plans & credits
Plan base fees convert 1:1 into monthly usage credit — you only pay overage beyond it:
| Plan | Base | Included credit | Per-sandbox cap |
|---|---|---|---|
| Free | $0 | $5.40/mo | 4 GiB RAM |
| Pro | $20/mo | $20/mo | 16 GiB RAM |
| Team | $99/mo | $99/mo | 64 GiB RAM |
Every plan gets the same 8 burstable vCPUs — plans differ on memory, concurrency, and features, not CPU.
Apps deploy on the Free tier. The free credit covers a side project that sleeps when idle (a sleeping app + a dev database fit comfortably). An app kept always-on exhausts the free credit in a few days, after which it is hibernated until the next month — upgrade to Pro to keep apps always-on.
What happens when the free credit runs out
Running out of free credit stops compute. It never destroys your work.
At 80% of the credit you get a heads-up email. At 100%:
- Running apps, databases, and sandboxes are paused — they stop running, and stop costing anything. Their state is preserved exactly as it was.
- New creates return
402 Payment Requireduntil there is credit again. - A paused app's URL answers
503with a short "this app is paused" page rather than failing to connect, so visitors and crawlers see something sensible.
Nothing is deleted. There is no grace period and no countdown — your code, data, volumes, and settings are kept for as long as the workspace exists. The workspace stays paused until either:
- you add a payment method or upgrade — the pause lifts on the next reconcile (within about a minute) and your resources resume where they left off; or
- your monthly credit resets, which lifts the pause automatically.
Running workloads are never surprise-billed: exceeding the free credit pauses them rather than charging you.
Where to see your usage
The dashboard's Billing page shows the credit meter and month-to-date usage.
Programmatically, GET /v1/pricing returns the current rates, tier catalog, and
egress allowance.