# Projects

> Each SupaHost project is a full Supabase project with its own database, Auth, Storage, URL and keys. Creating projects, naming rules, the project tabs and deleting a project.

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

A project is one Supabase backend: a Postgres database, Auth, the Data API, Storage, Realtime and Edge Functions, behind one URL with its own keys. Projects live on your [instance](/docs/platform/instances), and an instance holds many of them. Client libraries such as supabase-js don't know or care that the project is on SupaHost; you give them the project URL and the anon key, and they work as they would anywhere else.

## What each project gets

| Part | Per project |
|---|---|
| Database | Its own Postgres database on the instance's Postgres 17 server, named `p_<name>` with dashes turned into underscores (`app-one` becomes `p_app_one`) |
| Keys | Its own JWT secret and its own `anon` and `service_role` keys |
| Auth | Its own Auth service, users, settings, OAuth providers and email templates |
| Data API | Its own PostgREST service |
| Storage | Its own Storage service and its own folder of files on the instance disk |
| Realtime | Its own tenant on the shared Realtime service |
| Edge Functions | Its own functions, secrets and logs |
| Cron and Queues | Its own jobs and queues |

Because keys and JWT secrets are separate, a token issued by one project isn't accepted by another, even on the same instance. What projects do share is the instance itself: CPU, memory, the Postgres connection limit, and the plan's database, file storage and egress quotas. See [Usage, quotas and add-ons](/docs/platform/usage).

## Creating a project

1. Open **Dashboard → Projects** and select **New project**.
2. Type a name. The field shows the address you'll get, for example `app-one` followed by `.acme.supahost.space`.
3. Create it. Only the **Blank** template exists, so the project starts empty.

The Projects list shows the new project as Provisioning until its services are up, and the owner gets a "project ready" email when it's done. On a brand-new instance, most project tabs show a provisioning notice until the instance itself is running.

Project names must be 2 to 30 characters, use lowercase letters, digits and dashes, and start and end with a letter or digit. `app-one`, `invoices2` and `bookings-staging` are fine; `App_One` and `-test` aren't.

Your plan includes a number of projects (5 on Builder, 15 on Pro, 30 on Business). Each project beyond that costs $3 a month. During the free trial you can create up to 3 projects, and branches count toward that limit. See [Free trial and billing](/docs/platform/trial-and-billing).

## Connecting your app

Your project's API lives at `https://<project>.<instance>.supahost.space`. Copy the URL and keys from the project's **Connect** tab, then create a client:

```ts
import { createClient } from '@supabase/supabase-js'

const supabase = createClient(
  'https://app-one.acme.supahost.space',
  process.env.SUPABASE_ANON_KEY!
)

const { data, error } = await supabase.from('recipes').select('id, title').limit(10)
```

The **Overview** tab also has a button that copies a ready-made `.env` block. Framework guides start at the [Quickstart](/docs/getting-started/quickstart).

## Project tabs

Open a project from the Projects list to see its tabs:

| Tab | What it's for |
|---|---|
| Overview | API URL, region, services, `.env` copy, recent activity |
| Connect | Keys and code snippets (App), the SSH tunnel (Database), MCP setup (AI agents), SSH & CLI |
| Auth | Site URL, redirect URLs, email templates, sign-in settings, OAuth providers |
| Database | Open Studio |
| Cron | Scheduled jobs |
| Queues | pgmq queues |
| Functions | Edge Functions, secrets, test runner and logs |
| Branches | Branches of this project (Pro and up) |
| Domains | Custom domains |
| Backups | Backups, restores and exports |
| Logs | Marked coming soon |
| Import | Import from Supabase Cloud |
| Settings | Project details and the danger zone |

The project header also has a **Studio** button (owner only), **Connect**, and a "…" menu with Copy project URL, Hand off to an AI agent, Import from Supabase Cloud and Delete project.

## Projects don't pause

Projects stay running whether or not they get traffic. There's no inactivity pause and no cold start for the database or APIs. Studio and Edge Functions containers start when they're first needed.

## Deleting a project

Delete a project from **Settings → Danger zone → Delete project**, or from the "…" menu in the header. Deleting stops the project's services and archives its database. Take a pg_dump and a Storage export first if you might want the data later; see [Exporting your data](/docs/platform/exports).

## Related

- [Instances](/docs/platform/instances)
- [Branching](/docs/platform/branching)
- [How many projects can I run on one instance?](/kb/how-many-projects)
- [API keys](/docs/api/api-keys)
