Prototype

Launch your SaaS without rebuilding the backend.

AtomBase is the SaaS-native backend. Give every tenant their own database with organizations, auth, storage, and AI. Powered by distributed SQLite.

acme-corp
pinnacle-io
northwind
contoso
fabrikam
tailspin
woodgrove
adatum
coho-winery
alpine-ski
blue-yonder
fourth-coffee
litware
proseware
treyresearch
wideworldimporters
adventure-works
datum-corp
+999,982 more

What's included

Databases Everywhere

Spin up a database for every tenant in seconds.

Definitions

Define database schemas and access patterns in code.

Data APIs

Securely query any database over HTTP.

Authentication

Complete with orgs, RBAC, and RLS.

Storage

Coming soon

AI

Coming soon

Coming Soon

AI with tenant isolation built in.

Every model call is scoped to a tenant. Context includes knowledge bases, database rows, and metadata—all isolated per customer.

No prompt injection across tenants. No data leakage. Just secure, contextual AI for your customers.

ai.ts
const model = ai.model("support-agent");

await model.generate({
  tenantId,
  input,
  context: {
    include: [
      // Tenant-scoped knowledge base
      ai.context.kb("help-center"),

      // Query specific rows
      ai.context.table("customers")
        .where({ id: customerId }),

      // Inject metadata
      ai.context.vars({ plan: "pro" })
    ]
  }
});
Coming Soon

Enterprise-grade authentication

SSO, RBAC, and organization management. Coming soon.

Templates keep everything in sync.

Define your schema once. Every customer database stays in sync automatically.

Update the template, push, and the migration engine updates all customer databases—whether you have 10 or 10,000.

enterprise template
5 tables · v12 · 2,847 customers
acme-corp
pinnacle
globex
initech
+2,843
analytics template
3 tables · v8 · 1,203 customers
acme-corp
stark-ind
wayne-ent
+1,200
starter template
2 tables · v3 · 89 customers

SDK

Onboard customers and query data

app.ts
import { createClient } from "@atombase/sdk";

const db = createClient({
  url: "http://localhost:8080",
  apiKey: "your-api-key",
});

// Onboard a new customer
await db.tenants.create({
  name: "acme-corp",
  template: "enterprise"
});

// Query their data
const acme = db.tenant("acme-corp");
await acme.from("users").select();

Schema

Define once, use everywhere

schemas/enterprise.schema.ts
import { defineSchema, defineTable, c }
  from "@atombase/schema";

export default defineSchema("enterprise", {
  users: defineTable({
    id: c.integer().primaryKey(),
    email: c.text().notNull(),
    role: c.text(),
  }),

  workspaces: defineTable({
    id: c.integer().primaryKey(),
    name: c.text(),
    ownerId: c.integer(),
  }),
});

CLI

Manage from the terminal

terminal
$ npx atombase init
✓ Created atombase.config.ts

$ npx atombase templates push
✓ Pushed enterprise template

$ npx atombase tenants create \
    acme-corp --template enterprise
✓ Created tenant: acme-corp
atombase atombase

Launch your SaaS without rebuilding the backend.

© 2026 AtomBase. Fair Source licensed.