IPv4 and IPv6 on SupaHost

SupaHost instances have a static IPv4 address, so IPv4-only networks, CI runners and hosts work. How this differs from Supabase Cloud's IPv6-only direct database host.

Every SupaHost instance has a static IPv4 address, and its hostnames are published as IPv4 (A) records. That means IPv4-only networks, CI runners, Docker containers and hosting platforms can reach your projects without an add-on or a workaround.

How this differs from Supabase Cloud

On Supabase Cloud, the direct database host (db.<ref>.supabase.co) resolves only to an IPv6 address unless you buy the IPv4 add-on. On an IPv4-only network, connecting to it fails with errors like:

connection to server at "db.abcdefghijklmnopqrst.supabase.co" (2600:1f18:...), port 5432 failed: Network is unreachable

The usual fix there is to switch to the connection pooler's IPv4 address or pay for a dedicated IPv4 address.

On SupaHost there's nothing to switch. These hostnames all resolve to your instance's IPv4 address:

Hostname Used for
acme.supahost.space The instance itself, SSH, export downloads
app-one.acme.supahost.space A project's API: REST, Auth, Storage, Realtime, Functions
app-one.studio.acme.supahost.space That project's Studio

You can check from any machine:

dig +short app-one.acme.supahost.space A

Direct Postgres

There's no public Postgres host on SupaHost, IPv4 or IPv6. Direct connections (Business and Enterprise) go through an SSH tunnel to the instance's hostname, which works over IPv4:

ssh -N -L 5432:127.0.0.1:5432 [email protected]

Your tools then connect to 127.0.0.1:5432 on your own machine. See Connecting directly to Postgres.

Static means stable

The instance's IP address doesn't change for the life of the instance. Changing plans resizes the VM but keeps the address. That's useful when:

  • you point a custom domain with A records instead of a CNAME (all A records must equal the instance IP);
  • a partner or firewall needs to allowlist where your API lives.

You'll find the address by resolving your instance hostname, as above.

Importing from Supabase Cloud

The same IPv6 issue is why SupaHost's one-click import asks for your Supabase project's Session pooler connection string (*.pooler.supabase.com, port 5432) and rejects the direct db.<ref>.supabase.co host. See Importing from Supabase Cloud.

On SupaHost

  • Your instance's hostnames are published as A records. If you need native IPv6 reachability for a specific reason, email support.
  • Outbound traffic, such as Edge Functions calling third-party APIs, is a separate question. See Static outbound IP for Edge Functions.

Updated 11 November 2026 · View as Markdown · Something wrong or missing? Tell us