Documentation

Vaultbrix Documentation

Everything you need to build with Swiss-hosted, AI-native databases.

Quick Start

Getting Started
Create your first project and connect to your database

1Create an Account

Sign up at app.vaultbrix.com using email/password, Magic Link, or GitHub OAuth.

2Create Your First Project

Click "New Project" and select your region. Currently available:

  • CH-GVA-2 - Geneva, Switzerland (GDPR + LPD compliant)

3Get Your Connection Details

From your project dashboard, copy your connection details:

# Project URL
https://YOUR_PROJECT_REF.vaultbrix.ch

# API Keys (Settings > API)
ANON_KEY=eyJhbGciOiJIUzI1NiIs...
SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIs...

# Database Connection
postgresql://postgres:YOUR_PASSWORD@db.YOUR_PROJECT_REF.vaultbrix.ch:5432/postgres

4Connect with Supabase Client

Vaultbrix is Supabase-compatible. Use the official client libraries:

npm install @supabase/supabase-js

// Initialize client
import { createClient } from '@supabase/supabase-js'

const supabase = createClient(
  'https://YOUR_PROJECT_REF.vaultbrix.ch',
  'YOUR_ANON_KEY'
)

// Query your database
const { data, error } = await supabase
  .from('users')
  .select('*')
API Reference
REST, GraphQL, and Realtime endpoints

REST API (PostgREST)

Auto-generated RESTful API from your PostgreSQL schema:

# Base URL
https://YOUR_PROJECT_REF.vaultbrix.ch/rest/v1

# Examples
GET    /rest/v1/users              # List all users
GET    /rest/v1/users?id=eq.1      # Get user by ID
POST   /rest/v1/users              # Create user
PATCH  /rest/v1/users?id=eq.1      # Update user
DELETE /rest/v1/users?id=eq.1      # Delete user

# Headers required
apikey: YOUR_ANON_KEY
Authorization: Bearer YOUR_JWT_TOKEN

GraphQL API

Full GraphQL endpoint powered by pg_graphql:

# Endpoint
POST https://YOUR_PROJECT_REF.vaultbrix.ch/graphql/v1

# Example query
query {
  usersCollection {
    edges {
      node {
        id
        email
        created_at
      }
    }
  }
}

Realtime API

WebSocket subscriptions for live data:

// Subscribe to changes
const channel = supabase
  .channel('db-changes')
  .on(
    'postgres_changes',
    { event: '*', schema: 'public', table: 'messages' },
    (payload) => console.log('Change:', payload)
  )
  .subscribe()

// Presence (who's online)
const presenceChannel = supabase.channel('room-1')
presenceChannel.on('presence', { event: 'sync' }, () => {
  console.log('Online:', presenceChannel.presenceState())
})

Authentication API

GoTrue-based authentication endpoints:

# Base URL
https://YOUR_PROJECT_REF.vaultbrix.ch/auth/v1

# Endpoints
POST /signup         # Register new user
POST /token          # Sign in (returns JWT)
POST /logout         # Sign out
POST /recover        # Password recovery
POST /magiclink      # Magic link login
GET  /user           # Get current user
PUT  /user           # Update user
AI Context Engine (Snipara)
Native AI understanding for your database
Unique to Vaultbrix

What is the AI Context Engine?

Every Vaultbrix project includes Snipara - an AI context engine that allows any LLM (Claude, GPT, etc.) to natively understand your schema, data patterns, and conventions without manual context assembly.

  • 95% context compression - 500K tokens → 5-15K tokens
  • Anti-hallucination - Source-tagged facts, no made-up data
  • Persistent memory - AI remembers your conventions across sessions

MCP Setup for Claude Code

Add to ~/.claude/mcp.json:

{
  "mcpServers": {
    "vaultbrix": {
      "command": "npx",
      "args": [
        "-y",
        "@vaultbrix/mcp-server",
        "--project", "YOUR_PROJECT_SLUG"
      ]
    }
  }
}

MCP Setup for Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "vaultbrix": {
      "command": "npx",
      "args": [
        "-y",
        "@vaultbrix/mcp-server",
        "--project", "YOUR_PROJECT_SLUG"
      ]
    }
  }
}

Available MCP Tools

rlm_context_query

Full documentation query with semantic search

rlm_ask

Quick query with predictable token count

rlm_remember

Store decisions, learnings, and context

rlm_recall

Retrieve relevant memories

Features

Database

PostgreSQL 17 with enterprise extensions, hosted in Switzerland.

pgvector - Vector embeddings for AI/ML applications
Row Level Security - Fine-grained access control at row level
SQL Editor - Browser-based query interface
Schema Isolation - Multi-tenant with schema-per-tenant
-- Enable pgvector
CREATE EXTENSION IF NOT EXISTS vector;

-- Create table with embeddings
CREATE TABLE documents (
  id SERIAL PRIMARY KEY,
  content TEXT,
  embedding vector(1536)
);
Authentication

GoTrue-based auth with multiple providers and enterprise SSO.

Email/Password - Traditional signup with confirmation
Magic Links - Passwordless email login
OAuth Providers - GitHub, Google, GitLab, and more
JWT Sessions - Secure token-based auth
// Sign up
const { data, error } = await supabase.auth.signUp({
  email: 'user@example.com',
  password: 'secure-password'
})

// Sign in with OAuth
await supabase.auth.signInWithOAuth({
  provider: 'github'
})
Storage

S3-compatible object storage with access policies.

Buckets - Organize files into containers
Access Policies - RLS-based file permissions
CDN Integration - Fast global delivery
Swiss Storage - Exoscale SOS in Geneva
// Upload file
const { data, error } = await supabase.storage
  .from('avatars')
  .upload('user-123.png', file)

// Get public URL
const { data: { publicUrl } } = supabase.storage
  .from('avatars')
  .getPublicUrl('user-123.png')
Edge Functions

Serverless TypeScript/Deno functions running in Switzerland.

Deno Runtime - TypeScript native, secure by default
Sub-100ms Cold Start - Fast function invocation
Version History - Rollback to previous versions
Environment Variables - Secure secrets management
// functions/hello/index.ts
import "jsr:@supabase/functions-js/edge-runtime.d.ts"

Deno.serve(async (req) => {
  const { name } = await req.json()
  return new Response(
    JSON.stringify({ message: `Hello ${name}!` }),
    { headers: { 'Content-Type': 'application/json' } }
  )
})
Realtime

WebSocket-based real-time subscriptions and presence.

Database Changes - Subscribe to INSERT/UPDATE/DELETE
Presence - Track online users in real-time
Broadcast - Send messages to all subscribers
Filtered Subscriptions - Only receive relevant changes
// Subscribe to new messages
supabase
  .channel('messages')
  .on('postgres_changes', {
    event: 'INSERT',
    schema: 'public',
    table: 'messages'
  }, (payload) => {
    console.log('New message:', payload.new)
  })
  .subscribe()
Database Branching

Git-like branching for your database schema and data.

Instant Branches - Create isolated dev environments
Schema Diff - Visualize changes between branches
Safe Merge - Conflict detection before merging
Reset & Rollback - Revert to any previous state
# Create a branch
vaultbrix branch create feature-auth

# Make changes to your branch
# ... run migrations, test data

# View diff
vaultbrix branch diff feature-auth

# Merge to production
vaultbrix branch merge feature-auth

Resources

Roadmap
Coming Soon
Community
Discord server for discussions
Coming Soon
Status Page
Service status and incidents
Coming Soon
Changelog
Latest updates and releases