fshy / Compute / Databases and KV / Storage
Supabase
supabase.com · Compute, Databases and KV, Storage · 3 records · JSON
- Supabase Computecaveatemailno cardR
- Supabase Databases and KVcaveatemailno cardDretention-clamped
- Supabase Storagefails: egressemail?card?R
Supabase Compute
caveatemailno cardR
| Free tier | a free project with 500 MB RAM, a 500 MB database, 5 GB of egress, 1 GB of file storage and 50k monthly active users unit GiB; metered on stored-bytes; projects are paused after a week of inactivity, limit 2 active projects |
|---|---|
| Price | none stated |
| Per-object cap | not applicable |
| Retention | free projects are paused after 1 week of inactivity; data is retained while paused (7 days) |
| Egress | 5 GB a month included, then metered free_allowance: 5 GB a month |
| Identity | email an account; no card on the free plan |
| Limits |
a weekly API call or database query is enough to keep the project awake |
| Binding | |
| Interface | ssh a Postgres connection string plus a REST and GraphQL API; Edge Functions on Deno |
| Tooling | the supabase CLI, the client SDKs, Postgres clients, Deno for Edge Functions |
| Composes with | Edge Functions give an always-on process with a public URL on a free project, kept awake by a weekly query |
| Reliability | no reliability event recorded |
| Notes | This is a database row in a compute census. It is kept because Edge Functions give a real always-on process with a public URL, which is a compute capability on a database product. |
| Evidence rung | reported re-read live on 2026-10-22 for the free-tier and limit figures |
| Checked | 2026-10-23 (live); stale on 2026-11-06 |
| Parsed numbers |
|
Evidence (2)
| date | source | what it proved |
|---|---|---|
| 2026-10-06 | supabase.com/pricing | 'Free projects are paused after 1 week of inactivity. Limit of 2 active projects.' |
| 2026-10-22 | supabase.com/pricing | read live: free projects pause after a week idle; 2 active project limit |
More fields (8)
{
"shape": null,
"billing_model": "flat-pool",
"session_cap": {
"wall_clock_min": null,
"idle_reap_s": null,
"restart_required": false,
"note": "paused after 1 week of inactivity"
},
"keep_rate": null,
"persistent_storage": {
"included_gib": 1,
"price_gib_month": "1 GB of file storage included",
"durability": "Postgres and file storage",
"survives_stop": true,
"survives_destroy": false,
"max_retention": "while the project exists"
},
"network_out": {
"allow_outbound": true,
"allow_inbound_listen": true,
"ports": "HTTPS through the API",
"static_ip": null,
"ipv6": null,
"per_session_bytes": "5 GB a month"
},
"free_tier_kind": "allowance",
"census_rows": [
"supabase-free-project"
]
}Unknown or withheld values (3)
$.per_object_cap.notesprocess$.per_object_cap.statednot-applicable$.reliability_notenone-observed
Supabase Databases and KV
caveatemailno cardDretention-clamped
| Free tier | 500 MB database on Shared CPU with 500 MB RAM; 2 active projects; 5 GB egress and 5 GB cached egress; unlimited API requests unit mixed; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | 500 MB per project database |
| Retention | a Free project is paused after 1 week of low activity, and is restorable for up to 1 year after the pause. A paid project is never paused (7 days) |
| Egress | 5 GB egress and 5 GB cached egress per month included. The Free plan publishes no overage price, so the fifth gigabyte is a wall and not a bill free_allowance: 5 GB egress, 5 GB cached egress |
| Identity | email email signup; no card on Free |
| Limits |
the shared pooler is IPv4-only on every plan; a direct connection is IPv6-only without the paid IPv4 add-on, so an IPv4-only host must use the pooler |
| Binding | retention-clamped |
| Interface | rest, cli Postgres wire protocol; a PostgREST data API; a Management API and the Supabase CLI |
| Tooling | psql and any Postgres client; the supabase CLI; PostgREST over HTTP |
| Composes with | a free Postgres plus free auth plus free object storage in one project, which is the whole reason to pick it over a bare Postgres |
| Reliability | two warning emails precede an automatic pause, one about a week ahead and one on the pause; restore is a dashboard action, not an API call on the free plan |
| Notes | The pause is the finding, and it is a 7-day activity clock rather than a 30-day deletion. A weekly cron that touches the database keeps it alive; a monthly one loses a week of availability every cycle. The restore window is 1 year, so the data is not at risk the way a deletion would put it at risk. |
| Evidence rung | documented the pricing page and the pausing guide were read today; nothing was provisioned. The 90-day restore window stated in the 2024-06-24 changelog has since been widened to 1 year. |
| Checked | 2026-10-23 (live); stale on 2026-11-22 |
| Parsed numbers |
|
Evidence (6)
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | supabase.com/pricing | 500 MB database, 2 active projects, 5 GB egress, 5 GB cached egress, 'Free projects are paused after 1 week of inactivity', and the plan table row Pausing: After 1 week of inactivity |
| 2026-10-22 | supabase.com/docs/guides/platform/free-project-pausing | 'Supabase pauses Free Plan projects that show low activity over a 7-day period'; restore is available 'for up to 1 year after it was paused'; a few user requests a day over a week prevent it |
| 2026-10-22 | supabase.com/docs/guides/platform/billing-on-supabase | two free projects across all organizations where you are Owner or Administrator; paused projects do not count toward the free project limit |
| 2026-10-22 | supabase.com/changelog/27497-paused-free-plan-projects-are-r | the 2024-06-24 change set the restore window at 90 days, which the current doc has since widened to 1 year |
| 2026-10-22 | supabase.com/docs/guides/database/connecting-to-postgres/poo | the shared Supavisor pooler is multi-tenant and IPv4-only; the dedicated PgBouncer pooler needs a paid plan |
| 2026-10-22 | supabase.com/docs/guides/platform/compute-and-disk | Nano compute is the free plan at USD 0 with up to 0.5 GB of RAM and a recommended 500 MB database; 'Database max connections are recommended values and can be customized via max_connections', so the compute size sets the count |
Supabase Storage
fails: egressemail?card?R
| Free tier | 1 GB file storage — PER ORGANIZATION, not per project; 5 GB egress + 5 GB cached egress per org; 2 free projects per user (across all orgs) unit GB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | 50 MB max file size on Free (global limit, cannot raise); 1 GB storage/org; projects paused after 7 days inactivity and must be manually restored; storage metered in GB-Hours so deleting late in the month barely helps; 5 GB egress hard-capped (overage not purchasable on Free). (7 days) |
| Egress | 5 GB uncached + 5 GB cached egress per org per month, unified across Database/Auth/Storage. Storage has its own Smart CDN so cache hits consume the cached bucket. THIS IS THE WALL: 1 GB stored can be served only 5x/month before the org is restricted. |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | s3-compatible, rest, rclone, cli s3 |
| Tooling | Storage is S3-compatible (supabase storage S3 endpoint, aws CLI / boto3 / rclone s3 remote with endpoint override), plus supabase-js and the REST storage API |
| Composes with | The premise '100 projects per free org' is WRONG on two counts: (a) quota is per ORGANIZATION not per project — 'The quota is applied to your entire organization, independent of how many projects you launch'; (b) the free project limit is TWO, and it is account-wide: 'You are granted two free projects. The project limit applies across all organizations where you are an Owner or Administrator... two Free Plan organizations with one project each, or one Free Plan organization with two projects.' So the ceiling is 2 projects x but only 1 GB + 5 GB egress TOTAL. Paused projects do not count toward the limit, so pause/unpause rotation is the only lever, and it is manual. |
| Reliability | Free projects pause after 1 week of inactivity — data persists but the project is offline until manually restored from the dashboard. Egress overage leads to a grace period then restriction until the next billing cycle. |
| Notes | 1 GB file storage — PER ORGANIZATION, not per project; 5 GB egress + 5 GB cached egress per org; 2 free projects per user (across all orgs) |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (4)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | supabase.com/pricing | '1 GB file storage', '5 GB egress', '5 GB cached egress', 'Limit of 2 active projects' |
| 2026-10-21 | supabase.com/docs/guides/platform/billing-on-supabase | 'You are granted two free projects. The project limit applies across all organizations where you are an Owner or Administrator... The quota is applied to your entire organization, independent of how many projects you launch within that organization.' |
| 2026-10-21 | supabase.com/docs/guides/platform/manage-your-usage/egress | 'Free | 5 GB / 5 GB | -' (no overage on Free) |
| 2026-10-21 | supabase.com/docs/guides/storage/uploads/file-limits | 'For Free projects, the limit can't exceed 50 MB' |
More fields (1)
{
"dead_end": {
"failure_class": "egress",
"why": "1 GB file storage — PER ORGANIZATION, not per project; 5 GB egress + 5 GB cached egress per org; 2 free projects per user (across all orgs)",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (7)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted