59-Lesson Curriculum
Learn SapixDB
From first boot to production deployment — complete, hands-on, with real curl examples and challenges in every lesson.
Your progress0 / 59 lessons
Click the checkbox next to any lesson to mark it complete. Progress is saved in your browser.
Foundations
0/6 doneThe Mental Model
What SapixDB is, why it exists, how it differs from every database you've used.
First Boot
Start with Docker, health check, make your first write.
Record Anatomy
content_hash, parent_hash, ts_hlc, flags, signature — field by field.
Organisms and Agents
Create multiple agents in one organism, understand namespacing.
Writing Records in Depth
JSON write, batch write, TTL, the write path internals.
Reading Records in Depth
By hash, latest N, scan, time travel, chain_head, count.
Working with Records
0/4 doneSoft Delete & Tombstones
How deletion works in an append-only system. What tombstones are.
Batch Writes
Write many records in one call. GroupCommitter and throughput.
Per-Record TTL
Automatic expiry, the sweeper cycle, good and bad TTL patterns.
Schema Validation
Enforce required fields, types, and enums on an agent.
Querying with SaQL
0/7 doneSaQL Basics
All query types, the request shape, basic filter syntax.
All 15 WhereOp Operators
eq, ne, gt, lt, between, contains, starts_with, in, fts, and more.
Compound Filters
Combine conditions with AND, OR, NOT — any depth.
Sort Order & Pagination
asc/desc, cursor pagination with after_hlc.
Aggregate Functions
sum, avg, min, max, count over a filtered field.
Group By
Count or aggregate per group value.
Distinct Queries
Find unique field values without loading all records.
Indexes & Performance
0/4 doneSingle-Field Indexes
Create an index, understand when the engine uses it.
Composite Indexes
Index multiple fields for AND-of-eq compound queries.
Full-Text Search
Inverted index, tokenizer, the fts operator.
Query Explain
See the query plan before execution — index or full scan?
Time & History
0/3 doneGraph & Joins
0/3 doneAdvanced Query
0/3 doneBinary Storage
0/1 doneBlobStore
Upload files, retrieve by hash, link to strand records.
Auth & Security
0/5 doneMaster Seed & Encryption
AES-256-GCM payload encryption, HKDF derivation, what stays plaintext.
Root Key & API Auth
SAPIX_ROOT_KEY, open vs auth mode, authentication on every request.
Scoped API Keys
Per-service keys with limited scopes, revoke independently.
Key Delegation & Rate Limits
Delegate key creation authority, set per-key rate limits.
Key Rotation
Rotate root key (instant) and master seed (migration).
Automation
0/3 doneReal-Time
0/3 donePer-Agent SSE Stream
Stream every new record from a specific agent in real time.
Global Broadcast Bus
All events across all agents, publications and topic subscriptions.
Durable Publications
Named change-feeds with server-side cursor tracking, subscriber slots, backfill on reconnect, and at-least-once ACK.
Operations
0/3 doneEnterprise
0/3 doneSDKs
0/2 doneProduction
0/2 doneGo SDK
0/1 doneGo SDK
Zero-dependency Go client: write, query, time travel, graph edges, SSE streaming.
Add-ons
0/2 doneAdministration
0/2 doneAuth Add-ons
0/2 doneUser Auth — Register, Login & Magic Links
Add end-user authentication: password registration, login, passwordless magic-link sign-in, JWT access tokens, refresh token rotation.
OAuth, Passkeys & Custom Claims
OAuth 2.0 (Google/GitHub), WebAuthn passkeys, and embedding app_metadata/user_metadata roles into JWTs.
Ask a question
Stuck on a concept, a curl command, or something unexpected? Send your question and the team will respond — usually within one business day.
Prefer the raw docs? Read the manual →