CrabStack vs supastarter - which SaaS boilerplate should you buy in 2026?
Last verified: June 11, 2026 - every claim about supastarter below was checked against supastarter.dev on that date.
The short answer
supastarter is the closest of the incumbents to CrabStack's worldview: one-time pricing, self-hosting support, an AGENTS.md in the repo, and a founder who publicly credits agent-era buyers. The architectural split is the real decision: supastarter is a TypeScript monorepo with a Hono backend integrated into the stack (Next.js, Nuxt, or TanStack Start); CrabStack is a deliberately separate NestJS 11 API + Next.js frontend joined by an OpenAPI contract.
Choose supastarter if you want frontend-framework choice (Nuxt, TanStack), built-in multi-tenancy and usage-based billing modes, file storage, or the trigger.dev/QStash job integrations.
Choose CrabStack if you want the backend to be a real standalone service (own process, own deploy, consumable by other clients), billing correctness pinned by unit tests (webhook idempotency, dispute lock), a runtime MCP server in the product, GDPR deletion as code, and a Postgres email queue with zero extra infrastructure.
Side by side (verified 2026-06-11)
| CrabStack | supastarter | |
|---|---|---|
| Price | $199 Personal / $349 Team (5 seats) one-time, before tax | $349 Solo / $799 Startup (5 seats) / $1,499 Agency one-time |
| Architecture | Standalone NestJS 11 API + Next.js 16, OpenAPI contract | Monorepo: Hono backend (oRPC) + Next.js/Nuxt/TanStack |
| Database | PostgreSQL via Knex | Prisma or Drizzle |
| Auth | NextAuth v5, custom REST adapter, DB sessions | Better Auth (2FA, passkeys, RBAC) |
| Billing | Stripe; idempotent webhook state machine, dispute lock, refund handling, tested | Stripe, Lemon Squeezy, Polar, Creem, Dodo; subscription/usage/seat modes |
| Background jobs | Postgres queue (FOR UPDATE SKIP LOCKED), no Redis, crash-recovery tested | trigger.dev / QStash integrations |
| Tests shipped | 500+ tests on money paths, integration specs against real Postgres included | Playwright configured |
| Agent support | AGENTS.md + CLAUDE.md + OpenAPI drift CI | AGENTS.md, "optimized for AI coding agents" |
| Runtime MCP server | Yes (OAuth 2.1 + PKCE) | Not advertised |
| Multi-tenancy / i18n / file storage | Not included, by design | Included |
| Self-hosting | $5 VPS runs everything; no platform deps | Docker + guides (Vercel, Fly, Coolify, Railway…) |
| Updates | Lifetime, git pull | Lifetime |
What supastarter does better
More payment providers, more frontend frameworks, more included features (orgs, i18n, storage), seat-based and usage billing modes, and an established customer base (800+ buyers per the founder's public interviews). If you need that breadth, the $349 Solo price buys a lot.
Where the $199 vs $349 comparison is real
At entry tier, CrabStack is $150 cheaper and narrower. The narrowness is the point: fewer integrated services (no trigger.dev, no QStash, no storage provider) means fewer accounts, fewer bills, and fewer moving parts an agent has to reason about. One Postgres does sessions, queue, billing state, and content. If your instinct says "I'd rather own five fewer dependencies," that's us; if it says "I'd rather not build file storage," that's them.
FAQ
Both ship AGENTS.md - so what's the agent-support difference? Conventions files are table stakes now. The deltas: CrabStack's OpenAPI contract is CI-enforced (an agent reading the spec reads the truth), one strict module pattern covers every feature, and the unit suite lets an agent verify a change to billing logic without a human in the loop.
Is the Hono backend a real backend? It's a real server framework - but it ships inside the monorepo's stack, coupled to the frontend tooling. CrabStack's NestJS service is a separate application with its own lifecycle: deploy it alone, point a mobile app or a second frontend at it, scale it independently.
Can my agent verify these claims before I buy? CrabStack's: yes - this site runs on the template, buyer-visible issue tracker, /llms.txt. supastarter's: dated above; re-check supastarter.dev.