Pricing and billing
Scribase has no project limit. You pay for the projects you keep:
| Option | Price | What it covers |
|---|---|---|
| Per project (default) | $25 per project per month | Postgres, Auth, Storage, Realtime, Functions and previews for each project |
| Unlimited | $599 per month, by request | Any number of projects, under pooled fair-use quotas |
The per-project plan is billed monthly via Dodo for the most projects you had at once. Idle projects scale to zero and wake on the next request; they still count while they exist. Delete a project and it stops counting from then on.
How billing works
- Sign up and a $1 card check. Starting the per-project plan opens one checkout with Dodo Payments, our merchant of record. It carries a one-time $1 card check, which is credited to your first invoice.
- Your backend is live. When you return from checkout your first project is created at once.
- One invoice a month. The control plane records how many projects your organization has every hour. At the end of each billing period Dodo invoices $25 for each project in the highest count of that period, so creating and deleting a project in the same month is billed once, not twice.
- Payment problems. If a payment fails, your projects keep running and you can still create projects while the subscription is past due. Once the subscription is on hold or has ended, new projects wait until it is active again; existing data is kept.
- Cancel any time. In the console, Billing → Manage or cancel opens Dodo's customer portal. The plan stops renewing; nothing is charged after it ends other than the projects of the period you canceled in.
Invoices, receipts and tax are handled by Dodo Payments. The console Billing page shows your plan, this period's project count, capacity packs and every payment.
Unlimited
Unlimited covers any number of projects for $599 a month under the pooled fair-use quotas below. It is by request, not sold through checkout: email support@scribase.com with how many projects you run for a quote. An organization already on Unlimited can switch back to per project in Billing.
Unlimited quotas are pooled across the organization, per calendar month:
| Resource | Fair use |
|---|---|
| Database | 500 GB |
| File storage | 2 TB |
| Egress | 5 TB |
| Compute hours | 50,000 |
Each environment still has its own hard caps (from config/plans.json), and
capacity packs add room to one environment.
Capacity packs
A pack adds room to one environment and is billed monthly with your plan:
| Pack | Price per month |
|---|---|
| +8 GB database | $10 |
| +100 GB file storage | $5 |
| +50 GB backup storage | $5 |
| +250 GB egress | $10 |
| +750 compute hours | $10 |
| +5 preview environments | $10 |
Temporary agent projects
An agent can create a temporary project with POST /v1/temporary-projects
(see Temporary databases). Temporary
projects are free for 72 hours. Claim one to keep it; billing starts from
the claim. An unclaimed temporary project is removed when it expires.
API
GET /v1/plans returns this price catalog (config/plans.json) as JSON. It is
public and read-only: no token needed.
The billing routes are under /v1/organizations/{org}/ and use the same bearer
as the rest of the API.
| Route | Who | What |
|---|---|---|
GET billing/subscription |
Any member | Plan, status, the current period and this period's project count |
POST billing/portal |
Owner, admin | Returns a link to Dodo's customer portal (payment method, invoices, cancel) |
Operator configuration
Hosted billing is configured with environment variables on the control API.
| Variable | Default | Meaning |
|---|---|---|
SCRIBASE_BILLING_PROVIDER |
unset | dodo turns on Dodo billing |
SCRIBASE_PRICE_PER_PROJECT_CENTS |
2500 |
Monthly price of one project; keep equal to config/plans.json |
SCRIBASE_UNLIMITED_PLAN_CENTS |
59900 |
Monthly price of the Unlimited plan; keep equal to config/plans.json |
DODO_API_KEY, DODO_WEBHOOK_SECRET |
none | Dodo API access and the webhook signing secret |
DODO_PRODUCT_ID_CARD_CHECK, DODO_PRODUCT_ID_PER_PROJECT, DODO_PRODUCT_ID_UNLIMITED |
none | The Dodo products each checkout uses |
SCRIBASE_DODO_METER_TICK_SECONDS |
300 |
How often unsent project counts are retried; the count itself is recorded once an hour |
A deployment without a billing provider never charges or pauses anything.