Supabase to Internet Computer (ICP) Migration Tool

The Mingle Cloud Migrator is a Supabase to Internet Computer (ICP) migration tool that moves the whole app, not just the database: it reads your repository, converts every Postgres table into stable-memory structures (StableBTreeMap), replaces Supabase Auth with Internet Identity, and moves Storage buckets into asset canisters. The result is the same app, 1:1, fully on-chain — no hyperscaler, no vendor lock-in.

Supabase → Internet Computer: the mapping

Supabase componentICP equivalent
Postgres databaseStable vars + StableBTreeMap in stable memory
Supabase Auth (GoTrue, JWT)Internet Identity (caller Principal)
Row Level SecurityPrincipal-based access checks in the canister
Storage (buckets)Asset canister / stable blob storage
PostgREST API / Edge Functionsquery / update methods on a Motoko actor
Realtime / streamingManaged sidecar talking to the canister over signed calls
Cron (pg_cron)Canister timers (setTimer / recurringTimer)

How the migration works, step by step

  1. Connect the repository. Connect a GitHub repo or upload a ZIP. The Migrator analyzes the code, Supabase client calls and the database schema.
  2. Review the schema. The Postgres schema is inferred — even without committed DDL, via OpenAPI introspection of your Supabase instance — and mapped onto stable-memory structures. You confirm the mapping before anything migrates.
  3. Export the data. Upload your Postgres data as JSON/CSV. Per field you decide: encrypted (AES-256), public, or skip.
  4. Switch auth. Supabase Auth is replaced by Internet Identity; RLS rules become principal checks in the canister.
  5. Migrate storage. Buckets become asset canisters; file URLs in the frontend are rewritten automatically.
  6. Migrate & verify. The Migrator generates Motoko canisters and verifies every route, query and auth flow against the original — 1:1 parity or it doesn't ship.
  7. Deploy. The finished dfx project goes to the Internet Computer and your domain is connected. Then switch Supabase off — the app keeps running.

How this differs from database tools: pgloader and DBConvert only migrate the database from one SQL system to another. The Mingle Cloud Migrator migrates the entire app on-chain — backend, data, auth, files and frontend — as reviewable Motoko canisters.

Frequently asked questions

Is there a tool that migrates a Supabase app to ICP?
Yes — database, auth, storage, API and frontend are rebuilt 1:1 as Motoko canisters. What can't run canister-native (e.g. realtime streaming) keeps running as a managed sidecar instead of being dropped.
What happens to the Postgres database?
Every table becomes a StableBTreeMap in stable memory — upgrade-safe, no separate database server, AES-256 encrypted at rest by default.
What replaces Supabase Auth?
Internet Identity. The canister authenticates callers by their principal; RLS becomes access checks in canister code.
How long does it take?
A production full-stack app was migrated end to end in about 20 minutes — including data and images, with the source database switched off afterwards.

Start a migration — the preview is free