Supabase through Squiid

Postgres with auth, storage, realtime and edge functions attached. Supabase is next up on Squiid, being built now.

Next up Provisioned Provisioned. Squiid creates the project or account for you and keeps the provider keys.

What Supabase is

Supabase is a hosted Postgres database with the parts most apps need bolted on and exposed through one client library. You get a real Postgres instance with extensions, an auto-generated REST API through PostgREST, Row Level Security policies for authorization, Supabase Auth for email, OAuth and magic link sign-in, Storage for user uploads with the same policy system, Realtime for change subscriptions over websockets, and Edge Functions for server-side work. Branching gives a pull request its own copy of the database, and the SQL editor and migrations keep schema changes in version control.

This is the default database for vibe-coded apps for a practical reason: an agent can build the whole backend against one service. Claude Code or Cursor writes the schema, the policies, the storage buckets and the queries in one pass, and because everything is Postgres underneath, none of it is a dead end when the project grows. The failure mode is credentials. A Supabase project hands you a URL, an anon key and a service role key that bypasses every policy, and that service role key ends up in .env files, preview deployments and pasted config more often than any other secret in the stack. Supabase also ships a local development stack, so an agent can run migrations against a container before anything touches the hosted project.

Why connect it through Squiid

Squiid provisions the Supabase project for you and holds those keys. Your app carries SQUIID_API_KEY and reaches Postgres, Auth, Storage and Realtime through https://api.squiid.io/v1/supabase/..., with the supabase-js client working by pointing its base URL at the gateway (gateway convention). Usage is metered against your prepaid credits and the Pro plan, when you need it, passes through on the monthly Squiid invoice at Supabase's own price with no fee added. Rotating the Squiid key cuts off every agent at once without a database migration.

  • One account, one key, one bill, one dashboard. Supabase sits beside every other service your project uses, on the same invoice and the same credit balance.
  • Key custody. Squiid holds the Supabase credentials. Your code carries SQUIID_API_KEY, so SUPABASE_URL, SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY, DATABASE_URL never land in a repository, a preview deployment or an agent’s context.
  • Metering you can see. Every call is counted per service and per day, so you know what Supabase costs before the month ends.
  • Pause on zero. When prepaid credits run out the gateway stops authorizing usage instead of running up a bill you did not fund.
  • One rotation. Rotating the Squiid key cuts off every agent, worker and deployment at once, with no provider key to hunt down.

What you get

  • A provisioned Postgres project with connection details held by Squiid
  • Auth, Storage, Realtime and Edge Functions on the same key
  • Row Level Security and branching workflows unchanged
  • Usage and plan cost on one Squiid invoice
  • No service role key in your repository or preview builds

How to connect Supabase

One variable replaces the provider credentials this service would normally need. Requests go to the gateway and the official SDKs work by pointing their base URL at it (gateway convention).

# .env
# replaces SUPABASE_URL, SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY, DATABASE_URL
SQUIID_API_KEY=sq_live_xxxxxxxxxxxxxxxxxxxxxxxx

# every request: https://api.squiid.io/v1/supabase/...
# header:       Authorization: Bearer $SQUIID_API_KEY
01

Add it in your dashboard

Open the Squiid catalog, add Supabase and fund credits. Squiid provisions the project and keeps the provider keys.

02

Put the one key in your env

Add SQUIID_API_KEY to .env and delete SUPABASE_URL, SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY, DATABASE_URL. Nothing else from Supabase needs to exist in your project.

03

Point your agent at it

Claude Code, Cursor and Codex read the same variable and call https://api.squiid.io/v1/supabase/. Claude Code and Cursor generate the schema, RLS policies and supabase-js queries together, reading only SQUIID_API_KEY from the environment.

Pricing through Squiid

Supabase charges a monthly plan fee plus usage above the plan's included database, storage, bandwidth and monthly active users, at the provider's listed price. Squiid passes that through at par: one dollar of prepaid credit is one dollar of Supabase usage, with no markup and no per-request margin.

Supabase Pro passes through at $25 a month at the provider’s listed price on your monthly Squiid invoice. Service subscriptions carry no Squiid fee.

Squiid adds no markup to provider prices. There is a free plan at $0 a month with a 15% fee when you top up credits, Solo at $19.97 a month with a top-up fee that starts at 8% and falls to 3.5% as your spend grows, Team from $29.97 a seat a month with the same ladder one point lower, and Custom with a rate of 3% or less. Credits are prepaid, so Supabase usage stops when the balance reaches zero rather than producing an invoice you did not fund. Auto top-up with a cap keeps production running without handing anyone an open-ended card.

If you leave

Transfer: Squiid provisions one Supabase organization per tenant, so handover is an invite making you Owner of that organization and Squiid removing itself; project transfer between organizations also exists in the dashboard. Squiid never owns your code, your schema or your domain, and the gateway speaks Supabase's own API, so the client change is a base URL. The handover page lists what happens for every provider in the catalogue.

Works with every coding agent

Supabase through Squiid is just an HTTP call with a bearer token, so every agentic coding tool can use it with the single key already in your environment:

Vibe coding a feature on Supabase usually means asking for it in plain language and letting the agent write the integration. Because the key is Squiid’s rather than the provider’s, it can do that without ever holding a credential that could be leaked, logged or committed.

Related services

Questions people ask

Can Cursor use Supabase through Squiid?

Yes. Cursor writes supabase-js code that points at the Squiid gateway and authenticates with SQUIID_API_KEY, so the anon and service role keys stay in Squiid's custody.

Does Squiid mark up the Supabase Pro plan?

No. Supabase Pro passes through at $25 a month on your Squiid invoice at the provider's listed price. Squiid's fee is the plan you are on plus the percentage taken when you top up credits.

Who owns the Supabase project?

It is provisioned for your Squiid account and your data is yours. Squiid holds the provider keys so they never reach your repository or an agent's context.

What happens to my database if my Squiid credits run out?

Usage-metered calls stop being authorized and a subscription that cannot be funded is flagged before renewal. Your data is not deleted because you ran out of credits.

Can I still use SQL, migrations and Row Level Security?

Yes. It is ordinary Postgres. Migrations, policies, extensions and the SQL editor work the way they do on a direct Supabase project.

Connect Supabase with one key.

Supabase is a managed Postgres database with authentication, file storage, realtime subscriptions and edge functions on top, reachable from an auto-generated REST and client API. Squiid provisions the project and holds the keys.