# Limits reference

> Every SupaHost limit in one place: plan quotas, project names, database connections, Data API rows, Storage file size, Auth settings, Realtime, Edge Functions, cron, backups and SSH.

Source: https://supahost.app/docs/platform/limits · Updated 2026-11-11

This page collects SupaHost's limits in tables, grouped by area. Each section links to the page that explains it. Values are for the current release; where a limit is a default from the open-source Supabase component and SupaHost doesn't change it, it isn't listed here.

## Plan quotas

| | Builder | Pro | Business |
|---|---|---|---|
| Projects included (extra: $3/month each) | 5 | 15 | 30 |
| Projects during the trial | 3 | 3 | 3 |
| Database, shared | 8 GB | 25 GB | 50 GB |
| File storage, shared | 100 GB | 250 GB | 500 GB |
| Egress per month, shared | 250 GB | 500 GB | 1 TB |
| Custom domains (extra: $2/month each) | 1 | 3 | 10 |
| Daily backups kept | 7 days | 7 days | 14 days |
| Point-in-time recovery | No | 7 days | 14 days |
| Starting disk / maximum disk | 50 / 150 GB | 100 / 350 GB | 200 / 700 GB |
| Edge Functions container memory (all functions in a project) | 384 MB | 768 MB | 1536 MB |

Enterprise is custom. See [Plans and limits](/docs/platform/plans) and [Usage, quotas and add-ons](/docs/platform/usage).

## Projects and branches

| Limit | Value |
|---|---|
| Project name | 2-30 characters: lowercase letters, digits and dashes; starts and ends with a letter or digit |
| Branch name | `<parent>-<suffix>`, 30 characters in total |
| Branch from a branch | Not allowed |
| Project templates | Blank only |

See [Projects](/docs/platform/projects) and [Branching](/docs/platform/branching).

## Database

| Limit | Value |
|---|---|
| Postgres version | 17 |
| Max connections | 400 per instance, shared by all projects and services |
| Connection pooler | None |
| Direct connections from outside | Business and Enterprise only, through the SSH tunnel |
| Data API connection pool | 5 per project |
| Auth connection pool | 5 per project |
| Statement timeout, `anon` role | 3 seconds |
| Statement timeout, `authenticated` role | 8 seconds |
| Server time zone | UTC |

See [Connections and timeouts](/docs/database/connections-and-timeouts).

## Data API

| Limit | Value |
|---|---|
| Max rows per request | 1000 |
| Exposed schemas | `public`, `storage`, `graphql_public`, `pgmq_public` (fixed) |
| GraphQL endpoint (`/graphql/v1`) | Not available |

See [Exposed schemas](/docs/api/exposed-schemas).

## Auth

| Setting | Range |
|---|---|
| Minimum password length | 6-72 |
| Access token lifetime | 300-604800 seconds (default 3600) |
| OAuth providers | 19 |
| OAuth client secret | Up to 4000 characters |
| App name | Up to 60 characters |
| Email subject / heading | Up to 150 characters each |
| Email message | Up to 2000 characters |
| Email button text | Up to 40 characters |
| Phone and SMS sign-in | Not available |
| Custom SMTP | Not available |

See [Auth on SupaHost](/docs/auth/overview) and [Auth rate limits and abuse protection](/docs/auth/rate-limits).

## Storage

| Limit | Value |
|---|---|
| Max file size | 50 MB |
| Image transformations | Not available |
| S3 protocol | Not available |
| Bucket count | No SupaHost limit |

See [Storage limits and quotas](/docs/storage/limits).

## Realtime (per project)

| Limit | Value |
|---|---|
| Concurrent users | 50,000 |
| Events per second | 5,000 |
| Channel joins per second | 500 |
| Channels per client | 100 |
| Bytes per second | 10,000,000 |

In practice the instance's CPU and memory set the ceiling first; see the capacity guides on [Plans and limits](/docs/platform/plans) and [Realtime capacity and limits](/docs/realtime/limits).

## Edge Functions

| Limit | Value |
|---|---|
| Memory per run | 150 MB |
| Time to start responding | 150 seconds |
| Functions per project | 100 |
| Files per function | 50 |
| Source size per function | 1 MB in total |
| Folder depth | 8 levels |
| Function name (slug) | Up to 63 characters: lowercase letters, digits, `_` and `-`; starts with a letter or digit |
| Secrets per project | 100 |
| Secret value | Up to 10,000 characters |
| Dashboard test request | 60-second timeout; response shown up to 64 KB |
| Function logs | Kept by size, not time; a read returns up to 1000 recent entries |

See [Edge Function limits](/docs/functions/limits).

## Cron and Queues

| Limit | Value |
|---|---|
| Cron job name | 1-49 characters: lowercase letters, digits, `_` and `-`; starts with a letter or digit |
| Cron run history kept | 14 days (last 1000 runs in `cron.job_run_details`) |
| Queue name | 1-40 characters: lowercase letters, digits and `_` |

See [Scheduled jobs with pg_cron](/docs/cron-queues/cron) and [Queues with pgmq](/docs/cron-queues/queues).

## Backups, restores, exports and imports

| Limit | Value |
|---|---|
| Back up now | Once every 10 minutes |
| Previous database kept after a restore | 3 days |
| Restore job timeout | 6 hours |
| Export download links | Valid for 24 hours |
| Export job timeout | 2 hours |
| Storage export free disk needed | 1.1 × file size + 512 MB |
| Import from Supabase Cloud timeout | 8 hours |

See [Backups](/docs/platform/backups), [Restoring a project](/docs/platform/restore) and [Exporting your data](/docs/platform/exports).

## Account, SSH and MCP

| Limit | Value |
|---|---|
| SSH keys | 20 per instance (Business and Enterprise) |
| Alert CC addresses | 5 |
| Dashboard password | At least 8 characters |
| MCP request body | 4 MB |
| MCP function log lines per call | Up to 500 |

See [SSH access and direct Postgres](/docs/platform/ssh) and [The SupaHost MCP server](/docs/ai-tools/mcp).

## Related

- [Supabase features on SupaHost](/docs/getting-started/feature-support)
- [Upload file size limits](/kb/upload-size-limit)
