SaaS backend, hosted or self-hosted

Auth, billing, email and workflows. One SDK, one console.

Turn on sign-in methods, plans, emails and automations in the console, then call them from your React app with one npm package.

7-day free trialNo credit card requiredWorks with Next.js, Vite, React Router / Remix, TanStack Start
console.buildbase.app/dashboard/admin9:00 AM

Dashboard

Acme

All users

12,483

+312 this week

All audience

9,120

+188 this week

Emails sent, 30 days

48,210

61% opened

Workspaces

1,906

41 on trial

Users vs Audience Growth

Day · Week · Month

Users Audience

Needs your attention

3

Payments failed overnight

A retry workflow is running. Two customers were emailed.

1

Sender domain needs a DKIM record

mail.acme.com, added yesterday.

Live events

View all
audience.member_created[email protected] signed up with Googlejust now
subscription.upgradedNorthwind moved to Pro4m ago
workspace.member_addedLena invited to Harbor Labs as Editor12m ago
form.submittedDemo request from beacon.co31m ago

Launch day. One console for the whole backend.

A demo workspace for a fictional company. Yours will look different. Open the real one

Production products built on BuildBase

All 6 are ours. We built the platform for them first, and every module on this page runs their sign-in, billing and email today.

Authentication

Turn it on in the console. It is in your app.

Sign-in methods are configuration, not code. Enable a provider and your hosted sign-in page has it, on your own domain, with sessions handled.

  • OAuth 2.0 with Google, LinkedIn, GitHub, Microsoft, and more
  • Magic link passwordless login
  • Passkey (WebAuthn) sign-in
  • API token management and scoping
Everything in Authentication
Console · login methods
Your app · sign inlive

Sign in to Acme

Continue with Google
Billing

Trial to paid, without a webhook handler

Plans, trials, proration, invoices and quotas run in the module. Your app asks one question: can this workspace do this right now?

  • Subscription plans with versioning
  • Free trials with automatic conversion
  • Usage-based and seat-based billing
  • Credit system with ledger tracking
Everything in Billing
Workspace · Northwindlive

Subscription

Day 12 of 14

Trialing
API calls this month3,100 / 10,000
bb.usage.record → ok, 6,900 left
Email Campaigns

Write it once. It sends itself to the right people.

Templates with merge tags, audiences that keep themselves current, and open and click tracking on every send.

  • HTML, Markdown, and plain text templates
  • Open, click, and bounce tracking
  • Unsubscribe groups and preference centers
  • Google, Mailgun, and custom SMTP support
Everything in Email Campaigns
Template · trial ending

Subject {{first_name}}, your trial ends in {{trial_ends_in}}

Hi {{first_name}}, your {{plan}} trial ends in {{trial_ends_in}}. Keep your workspace by adding a card.

Unsubscribe group · open and click tracking on

Sending to Priyalive

Priya, your trial ends in 3 days

Hi Priya, your Pro trial ends in 3 days. Keep your workspace by adding a card.

120

Sent

73

Opened

22

Clicked

Workflows

Every event in your product can start a workflow

A failed payment, a new signup, a form submission. Build the response once in the visual builder and it runs every time, with retries.

  • Visual drag-and-drop workflow editor
  • Event-based triggers across users, billing, email, forms and more
  • Conditional branching and A/B splits
  • Wait-for-event steps with timeout
Everything in Workflows
Workflow · failed payment recoverylive

Trigger

payment.failed

Action

Send email

Action

Slack #billing

Wait

3 days

Condition

Still unpaid?

run#20481 01 Cobalt: charge declined

Permissions

Permissions your UI can read

Define roles in the console, then wrap the button. The SDK resolves what this person may do in this workspace and renders or hides it.

  • Built-in admin, editor and viewer permission sets, and the workspace's creator always has everything
  • WhenPermission, WhenRoles and WhenWorkspaceRoles for gating UI
  • usePermissions() for checks in code
  • Your own app permissions next to the built-in ones
Everything in Permissions
Your app · signed in as

Full access to settings, billing, members, and data

View reportsreports:read
Edit projectprojects:update
Manage billingbilling:manage
Invite membersmembers:invite

<WhenPermission permission={…}> the button </WhenPermission>

Webhooks

Everything that happens, delivered to your endpoint

Subscribe to the events you care about. Each delivery is signed, retried on failure and kept in a delivery log.

  • 112 events across users, workspaces, billing, credits, workflows, audience and email
  • Subscribe an endpoint to specific events, or to all of them
  • HMAC-SHA256 signatures, verified and parsed in one call with parseWebhookEvent()
  • Failed deliveries retried with exponential backoff
Everything in Webhooks
POST https://api.acme.com/hookslive
audience.member_created[email protected] 200
subscription.trial_will_endHarbor Labs, 3 days 200
form.submittedDemo request, beacon.co 200
payment.failedCobalt, retry scheduled 200

x-buildbase-signature · signed, retried with backoff, every delivery logged

The 13-vendor stack you don't have to assemble

Every SaaS needs the same backend. The usual way to get it is a subscription per capability, a webhook contract per vendor, and glue code you own forever.

AuthenticationAuth0 / Clerk / Kinde
Subscription billingChargebee / Outseta / Memberstack
Email campaignsMailchimp / Loops / Constant Contact
Workflow automationZapier / Make / n8n
Feature flagsLaunchDarkly / Flagsmith / Unleash
Web pushOneSignal
Role-based permissionsCustom RBAC code
Credit and usage meteringLago / Orb / OpenMeter
FormsTypeform / Tally / Jotform
Webhook deliverySvix / Hookdeck / Convoy
Short linksBitly / Dub
Image uploadsCustom S3 upload code
Blog and site contentWordPress / Ghost

Auth alone typically takes 3-6 weeks to build well, and every vendor on the list is another monthly bill - we published the math. BuildBase ships the same list as 20 integrated modules behind one SDK, so the first thing you build is your product.

One price for the whole backend

From $49/mo for everything on this page. The plans differ in how much you can run, never in what you can use.

  • All 20 modules on every plan. You pay for scale, not features.
  • 7-day free trial, no credit card.
  • Users, emails and workflow runs are allowances, not meters. Going over does not produce a bill.
  • Storage is the one exception: $0.10 per GB-month beyond the plan allowance.
  • Pay yearly and get twelve months for the price of ten.

Prices in USD. Verified 9 September 2026.

Every module, plusLaunch$49/moGrowPopular$99/moScale$199/mo
Monthly active users25k100k500k
Workspaces1k25k100k
Storage10 GB50 GB200 GB
Console team members3850
Changelog

Shipping every week

The most recent release. Every week we ship is written up.

Spam protection for forms, deploy hooks that report back, and monday.com in the console

Forms can require a captcha and hold suspicious submissions for review. Deploy hooks and the monday.com integration, built but hidden until now, are in the console and working, and a workflow set to run every time no longer runs once per person.

  • FormsForms can require a captcha, on the hosted page and in an embed, with no code to write. Pick a provider once under Forms > Spam protection, then switch on Require a captcha in a form's Protect dialog. The default, Managed by BuildBase, needs no keys or account, and your own Cloudflare Turnstile, hCaptcha or reCAPTCHA v2 Checkbox keys work too, with the secret encrypted at rest and never sent back to the console. Where the server has no Turnstile keys of its own, as a self-hosted install ships, Managed falls back to a proof of work the visitor's browser solves in about a second, with no third-party script or cookie: it makes every bot submission cost CPU time, but on its own it does not tell a person from a headless browser.
  • FormsEvery form now drops the obvious bot traffic with nothing to switch on. Hosted and embedded forms carry a hidden field a person never fills, and a submission that fills it sees the usual success message and is never stored. The same content from the same address to the same form within ten minutes is stored once, so a retrying client no longer fires form.submitted twice. For spam that gets past a captcha, the Protect dialog adds a limit on links, up to 200 blocked words or phrases, a block on 70 known throwaway email domains or on your own list, and a daily cap. A link or word hit waits for review, badged with its reason such as "3 links (limit 1)", and reaches no webhook or workflow until someone approves it.
  • FormsForms can be embedded in any website. A form's page has a Share and embed card with its link and an iframe snippet, and the embedded form resizes its frame as it grows and keeps its captcha and rules; until now the hosted form refused to load in a frame at all. A form you render yourself can carry the captcha too: the public form read names the widget and its site key, and the token travels in a _captcha field that is removed before the submission is stored or sent on. Require a captcha is off by default, because a form your own code posts sends no token until you add one, and on your own domain it needs the built-in check or your own keys, since the managed Turnstile key only works on BuildBase's own hostname.
  • Deploy hooksDeploy hooks are in the console, under Settings > Configuration. Save a deploy hook URL from Vercel, Netlify, Cloudflare Pages or Render, and the banner at the top of the console lists the blog posts changed since the last deploy and starts a build on the hook you pick. The screens were built but had no menu entry, and no step worked: a hook's first deploy was refused, and hooks were called with a GET, which Netlify and Cloudflare Pages do not build on. Adding a hook now refuses a URL that cannot start a build, such as a site address or a provider's dashboard page, and the deployment history never returns a hook's URL, since anyone holding it can start a build. Three new docs pages, with screenshots, cover each provider.
Guides

Pick your framework

Each guide adds BuildBase to an app you already have: install, sign-in, reading the session on the server, then teams and billing.

The server SDK runs on Node.js, Bun, Deno and Cloudflare Workers. All build guides

Start from working code

Clone a starter that is already wired to BuildBase, or install the Claude skill and let Claude do the integration in your own app.

Integrate the SDK with Claude

buildbase@buildbase-skills

Takes a Next.js app from npm install to a working sign-in, then covers workspaces, billing, feature flags, quotas, credits, notifications, webhooks and calling BuildBase from a non-Node backend.

In Claude Code:

Any agent (Cursor, Codex, Copilot and others), from a shell:

Then ask Claude: “Add BuildBase auth to my Next.js app.”

Other ways to install, including claude.ai

Frequently Asked Questions

Common questions about BuildBase.

Do I have to use every feature?

No. Turn on only what you need - auth and billing now, email or workflows later. Some modules build on others: billing and credits belong to workspaces, forms store into collections, and workflows send email through the email module.

How long does integration take?

Install the SDK, wrap your app in a provider, and call hooks. Sign-in runs on a hosted, white-label auth portal, and pre-built screens cover workspace settings, so the first screens need no UI of your own.

How is data secured?

AES-256 encryption at rest, TLS 1.3 in transit, role-based access control, and per-tenant data isolation. Built for GDPR, CCPA, and SOC 2 readiness.

Can I migrate away later?

Partly. Audience contacts export as CSV and each workflow exports as JSON from the console, and subscriptions and payments sit in your own Stripe account. Passwords, passkeys and workspaces do not export, and moving off means replacing the SDK hooks and components in your code.

What frameworks does BuildBase support?

The React SDK works with Next.js, Vite, React Router / Remix, TanStack Start and any other React web app. The Server SDK and REST APIs are framework-agnostic - Express, NestJS, Fastify, Hono, Astro, or anything else.

Build your product, not its plumbing

Sign-in, billing, email and workflows are waiting in the console. 7-day free trial, no credit card.

7-day free trialNo credit card requiredCancel anytime