Skip to content
Terrabase
Sovereign backend for Indian developers

The Supabase-compatible backend, hosted in India.

When Supabase went dark in India, your projects didn't have to. Point your SDK at Terrabase — same client, same code, data that never leaves the country.

placeholder

  • Postgres
  • Auth
  • Storage
  • Realtime
  • Auto REST APIs
  • 100% India-hosted
lib/supabase.ts
// same SDK — just point it at Terrabaseconst supabase = createClient('https://xyz.supabase.co', ANON_KEY)
The origin

In early 2026, Supabase became inaccessible in India — and thousands of developers were stranded mid-build.

No sovereign, compatible alternative existed to catch them. Apps broke. Migrations stalled. Roadmaps slipped. Terrabase was built to be exactly that alternative: a backend that speaks the same SDK you already use, and keeps every byte of your data inside the country.

The full backend

A full backend, not a database with extras

Postgres, Auth, Storage, Realtime, and instant REST APIs — the same primitives you already build against, hosted on sovereign infrastructure.

Drop-in compatible

Keep the Supabase client SDKs you already use. Migrate with a URL swap, not a rewrite.

Postgres, fully yours

A dedicated Postgres database per project, with Row-Level Security built in.

Auth included

Email, password, and JWT-based authentication out of the box — no extra service.

Storage

S3-style file storage with hard per-project isolation at the bucket layer.

Realtime

Subscribe to database changes over websockets and push updates to clients live.

Sovereign hosting

Every byte stays on Indian infrastructure. Compliance and low latency by default.

How migration works

Three steps. Zero rewrites.

If your app already talks to Supabase, it already talks to Terrabase. Here's the whole migration.

1

Create a project

Spin up a Terrabase project and copy your project URL and anon key from the dashboard.

# Terrabase dashboardURL = https://xyz.terrabase.devANON_KEY = eyJhbGci…
2

Swap the URL and keys

Point your existing config at Terrabase. Nothing else in your app changes.

# .env- NEXT_PUBLIC_SUPABASE_URL=…supabase.co+ NEXT_PUBLIC_SUPABASE_URL=…terrabase.dev
3

Ship

Queries, auth, storage calls, and realtime subscriptions all work unchanged.

await supabase.from('posts').select() // just works
Security & isolation

Hard multi-tenancy, at every layer

Projects don't share a trust boundary. Isolation is enforced from the database roles down to the network — so one tenant can never reach another. This audience checks; so did we.

  • Namespaced database roles

    Each project gets its own Postgres roles — no shared superuser surface between tenants.

  • Row-Level Security

    Access policies are enforced in the database itself, not bolted onto the API layer.

  • Per-tenant storage buckets

    Files live in isolated buckets scoped to a single project. No cross-tenant paths.

  • Network-level separation

    Tenant traffic is segmented at the network layer, not just in application code.

  • Least privilege by default

    Every credential is scoped to the narrowest role that still does the job.

Your data stays in India. Full stop.

Sovereign hosting isn't a checkbox — it's latency you can feel, compliance you can prove, and resilience against the access disruptions that stranded a generation of Indian developers. Every query, every file, every byte is served from infrastructure inside the country. Nothing leaves. Nothing routes abroad.

Pricing

Free to start — no card, no catch.

Terrabase launches free-first. Paid tiers with higher limits arrive later; getting your project running costs nothing today.

  • No credit card
  • No billing at launch
  • Full backend included
See pricing

Be first in when we open the doors.

Join the waitlist and we'll email you the moment your invite is ready. Migration takes minutes; your spot takes seconds.

placeholder

No spam. We'll email you once when your invite is ready.