# VerdantStack > Production-hardened SvelteKit starters for B2B SaaS — multi-tenancy, seat billing, role-based access, audit logging. Documented for AI agents with AGENTS.md, llms.txt. Every kit is actively maintained with 259–310 automated tests, live demos, and machine-readable API references. One-time pricing, 30-day refund. ## Products One-time license (single seat, unlimited projects, lifetime updates + support). Each kit is a **paid, source-available product**: buy on the product page and it is delivered privately to buyers (no public npm/registry). Every kit ships with AGENTS.md and a generated TypeDoc API reference. - [VerdantStack](https://verdantstack.dev/) — Home: production-grade developer starters for the parts of software products nobody demos — multi-tenancy, seat billing, role-based access, audit logging - [All products](https://verdantstack.dev/products/) — index of every VerdantStack starter; one-time prices, single-seat license, lifetime updates + support - [Multi-tenant SvelteKit Starter](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/) — **$79 one-time**. A production-shaped B2B SaaS foundation with multi-tenancy wired end-to-end. Organizations, invitations, role-based access, seat-based billing via a merchant of record, and an append-only audit log. SQLite + Drizzle ORM. - [SvelteKit + Supabase Starter](https://verdantstack.dev/products/sveltekit-supabase-starter/) — **$99 one-time**. Same multi-tenancy, RBAC, billing, and audit log — running on Supabase for auth, database, and realtime. PostgreSQL via Supabase with RLS defense-in-depth. - [SvelteKit + Postgres Starter](https://verdantstack.dev/products/sveltekit-postgres-starter/) — **$79 one-time**. Same multi-tenancy, RBAC, billing, and audit log — on real Postgres with Drizzle ORM + postgres.js, opt-in Row-Level Security, connection pooling, and no provider lock-in. 259 automated tests against a real Postgres test database. ## Live Demos All three products have a free, clickable, live demo (demo credentials are shown on the landing page): - [Multi-tenant SvelteKit Starter — live demo](https://multi-tenant-starter.verdantstack-site.pages.dev/) — the real kit running on Cloudflare Pages + D1, seeded with Northwind Labs (owner dana@northwind.example / Dana-demo-2026, member riley@northwind.example / Riley-demo-2026), reset daily - [SvelteKit + Supabase Starter — live demo](https://supabase-starter.verdantstack-site.pages.dev/) — the real kit running on Cloudflare Pages + Supabase Postgres with RLS, seeded the same way, reset daily - [SvelteKit + Postgres Starter — live demo](https://postgres-starter.verdantstack-site.pages.dev/) — the real kit running on Cloudflare Pages + any-Postgres (postgres.js + Drizzle), seeded the same way, reset daily ## Comparisons & Guides - [Documentation index](https://verdantstack.dev/docs/) — all guides, comparisons, and resources - [How to Use Claude Code with VerdantStack](https://verdantstack.dev/docs/claude-code-with-verdantstack/) — Build SaaS features faster with Claude Code. AGENTS.md and machine-readable docs make your agent productive from the first prompt. - [How to Use Cursor with VerdantStack](https://verdantstack.dev/docs/cursor-with-verdantstack/) — Integrate Cursor AI with VerdantStack starters. AGENTS.md and machine-readable docs make Cursor productive from the first edit. - [How to Build SaaS Features with AI Coding Agents](https://verdantstack.dev/docs/build-with-ai-agents/) — A complete guide to AI-assisted SaaS development: principles, workflow, and tool-specific guides. - [SvelteKit vs Next.js for SaaS](https://verdantstack.dev/comparison/sveltekit-vs-nextjs-saas/) — Honest comparison of features, pricing, performance, and developer experience - [Multi-Tenant Starter Checklist](https://verdantstack.dev/comparison/multi-tenant-starter-checklist/) — The 5 essential features every multi-tenant starter kit must have - [VerdantStack vs CMSaasStarter](https://verdantstack.dev/comparison/sveltekit-starter-vs-cmsaasstarter/) — Feature-by-feature comparison with the 2,357★ Supabase starter - [SvelteKit + Postgres vs Supabase](https://verdantstack.dev/comparison/sveltekit-postgres-vs-supabase/) — Provider-neutral Postgres with Drizzle vs managed Supabase — auth, RLS, pooling, realtime, and lock-in - [SvelteKit + Postgres vs Next.js + Prisma](https://verdantstack.dev/comparison/sveltekit-postgres-vs-nextjs-prisma/) — Building a multi-tenant SaaS: framework ergonomics, Drizzle vs Prisma, Postgres hosting - [Drizzle ORM vs Prisma for SvelteKit](https://verdantstack.dev/comparison/drizzle-orm-vs-prisma-sveltekit/) — SQL-first Drizzle vs Prisma's schema DSL for a SvelteKit SaaS - [Best SvelteKit SaaS Starters 2026](https://verdantstack.dev/bestof/sveltekit-saas-starters-2026/) — Compare the top SvelteKit starter kits for multi-tenant B2B SaaS - [How to Build Multi-Tenant SaaS](https://verdantstack.dev/docs/how-to-build-multi-tenant-saas-sveltekit/) — Step-by-step guide to building a production-ready multi-tenant SaaS with SvelteKit - [SvelteKit SaaS Boilerplate](https://verdantstack.dev/docs/sveltekit-saas-boilerplate/) — What you actually need in a SaaS boilerplate (and what free starters skip) - [Multi-Tenant SvelteKit Template](https://verdantstack.dev/docs/multi-tenant-sveltekit-template/) — How to implement organizations, RBAC, seat billing, and audit logging - [Make Your Codebase AI-Agent-Friendly](https://verdantstack.dev/docs/make-codebase-ai-agent-friendly/) — AGENTS.md, llms.txt, and API references — the context files AI coding agents need to work productively in your code ## Documentation - [Multi-tenancy in SvelteKit](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/sveltekit-multi-tenant-auth/) — Multi-tenant auth, session management, and database design decisions for SvelteKit - [RBAC model](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/sveltekit-rbac-role-hierarchy/) — Role-based access control: three roles with strict hierarchy enforced server-side - [Invite link flow](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/sveltekit-invite-link-flow/) — Single-use hashed invite tokens with expiry and atomic claim - [Seat billing adapter pattern](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/seat-billing-adapter-pattern/) — Pluggable BillingAdapter interface for merchant-of-record checkout - [Append-only audit log](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/append-only-audit-log-design/) — Audit trail design: append-only by construction, no update/delete path - [Hashed session auth](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/sveltekit-hashed-session-auth/) — Database-backed sessions with hashed tokens for revocation - [Rate limiting login](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/sveltekit-rate-limiting-login/) — Sliding-window failed-attempt rate limiter with pre-hash blocking - [SaaS starter evaluation checklist](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/saas-starter-evaluation-checklist/) — Six-dimension evaluation framework for choosing a SaaS starter - [Sell software without Stripe](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/sell-software-without-stripe-access/) — Merchant-of-record options for developers in countries where Stripe isn't available - [Starter checklist](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/multi-tenant-starter-checklist/) — Production readiness checklist for multi-tenant SaaS starters - [Drizzle ORM migrations](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/drizzle-orm-migrations-sveltekit/) — Schema-first database management with Drizzle Kit in SvelteKit - [Multi-tenant database design](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/multi-tenant-database-design/) — Shared-database tenant isolation patterns with org-scoped queries - [Session management](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/sveltekit-session-management/) — Server-side sessions with hashed tokens, httpOnly cookies, and DB-backed revocation - [Hooks & middleware](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/sveltekit-hooks-middleware/) — Server-side request handling with hooks.server.ts - [Testing with Vitest](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/sveltekit-testing-vitest/) — Unit tests, integration tests, and HTTP-level patterns from a 298-test suite - [SQLite for production SaaS](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/sqlite-production-saas/) — WAL mode, tenant isolation, connection handling, and ceiling awareness - [Environment variables](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/sveltekit-environment-variables/) — Public vs private, static vs dynamic, .env files, Cloudflare Workers secrets - [Error handling](https://verdantstack.dev/products/multi-tenant-sveltekit-starter/docs/sveltekit-error-handling/) — fail(), error(), redirect(), and typed error patterns for form actions ## SvelteKit + Supabase Starter — Documentation - [Architecture](https://verdantstack.dev/products/sveltekit-supabase-starter/docs/architecture/) — thin routes → framework-free services → rbac/billing seams → supabase/client.ts; RLS defense-in-depth (service-only foundation — you wire the route layer) - [RBAC & RLS](https://verdantstack.dev/products/sveltekit-supabase-starter/docs/rbac/) — three roles enforced server-side at the app layer and again via Supabase Row Level Security - [Seat billing](https://verdantstack.dev/products/sveltekit-supabase-starter/docs/billing/) — pluggable BillingAdapter for merchant-of-record checkout, enforced at invite acceptance - [Testing](https://verdantstack.dev/products/sveltekit-supabase-starter/docs/testing/) — 12 Vitest suites (310 tests) against an in-memory fake Supabase client; RLS checks via supabase start - [Versioning](https://verdantstack.dev/products/sveltekit-supabase-starter/docs/versioning/) — semantic versioning, Keep a Changelog, and the release process ## SvelteKit + Postgres Starter — Documentation - [Multi-tenant DB design](https://verdantstack.dev/products/sveltekit-postgres-starter/docs/postgres-multi-tenant-drizzle-design/) — shared-database tenancy on Postgres with Drizzle ORM: org_id scoping, uuid PKs, bigint-ms timestamps - [RLS defense-in-depth](https://verdantstack.dev/products/sveltekit-postgres-starter/docs/row-level-security-sveltekit-postgres/) — opt-in Row-Level Security: fail-closed, app.current_user_id GUC, per-table policies - [Connection pooling](https://verdantstack.dev/products/sveltekit-postgres-starter/docs/sveltekit-postgres-connection-pooling/) — postgres.js pool sizing, PgBouncer/Supavisor, and Neon pooled connections - [Drizzle migrations](https://verdantstack.dev/products/sveltekit-postgres-starter/docs/drizzle-postgres-migrations-sveltekit/) — schema-first Postgres migrations with drizzle-kit, applied at boot - [Read replicas](https://verdantstack.dev/products/sveltekit-postgres-starter/docs/postgres-read-replica-routing-sveltekit/) — write/read splitting with Drizzle, lag-tolerant reads - [Full-text search](https://verdantstack.dev/products/sveltekit-postgres-starter/docs/postgres-full-text-search-sveltekit/) — native Postgres tsvector + GIN over the audit log - [JSONB metadata](https://verdantstack.dev/products/sveltekit-postgres-starter/docs/jsonb-metadata-saas-audit-logs/) — flexible audit-log metadata and the jsonb upgrade path - [Session management](https://verdantstack.dev/products/sveltekit-postgres-starter/docs/postgres-session-management-sveltekit/) — hashed, DB-backed, revocable sessions with 30-day expiry ## Source Code The kit source is the **paid product** and ships **privately to buyers** — the public GitHub repos are proof-only (docs, features, screenshots). See the product pages to buy. - [Multi-tenant SvelteKit Starter (proof repo)](https://github.com/verdantstack/multi-tenant-sveltekit-starter) — docs & features, plus the generated API reference at `docs/api`; **buy the kit →** on the product page - [SvelteKit + Supabase Starter (proof repo)](https://github.com/verdantstack/sveltekit-supabase-starter) — docs & features, plus the generated API reference at `docs/api`; **buy the kit →** on the product page - [SvelteKit + Postgres Starter (proof repo)](https://github.com/verdantstack/sveltekit-postgres-starter) — docs & features, plus the generated API reference at `docs/api`; **buy the kit →** on the product page ## API Reference (TypeDoc) The generated TypeDoc reference for each kit is public in its proof repo under `docs/api` — a browsable, machine-readable index of the public exports (auth, billing, db, http, ratelimit, rbac, services, ...). This is the surface AI coding agents read. - [Multi-tenant SvelteKit Starter — TypeDoc index](https://github.com/verdantstack/multi-tenant-sveltekit-starter/tree/main/docs/api) — API reference (TypeDoc) for the multi-tenancy, RBAC, seat-billing, and audit-log core - [SvelteKit + Supabase Starter — TypeDoc index](https://github.com/verdantstack/sveltekit-supabase-starter/tree/main/docs/api) — API reference (TypeDoc) for the Supabase-backed kit - [SvelteKit + Postgres Starter — TypeDoc index](https://github.com/verdantstack/sveltekit-postgres-starter/tree/main/docs/api) — API reference (TypeDoc) for the Postgres-backed kit - [License Agreement](https://verdantstack.dev/docs/license/) — single-seat license, unlimited projects, lifetime updates + lifetime standard support, 30-day refund - License: source-available to buyers (EULA); not open source ## Contact - [Contact form](https://verdantstack.dev/contact/) — name, email, subject, message; stored in our own database, no third party - Async support only: docs first, then verdantstack@proton.me - Response target: 48 hours