Skip to content
Back to Templates

Update Starter: Subscriptions and Auth for SaaS

A full-stack Next.js template with built-in authentication, billing, and entitlements β€” powered by Update, Supabase, and Stripe.

This template is unavailable
Contentful thumbnail for SaaS Subscriptions and Auth Starter

⚑ Features

  • πŸ’³ Subscriptions β€” Stripe billing with checkout, portals, trials, and failed payment recovery
  • πŸ” Authentication β€” Supabase auth with Update-powered extensions (e.g., magic links, redirects)
  • πŸ”“ Entitlements β€” Easy access control by plan, org, or user role
  • βš™οΈ Full-stack ready β€” App Router, Middleware, Client, and Server usage supported
  • 🎨 UI β€” Built with Tailwind CSS and shadcn/ui

πŸ”— Demo

Live demo: nextjs-supabase-stripe-update.vercel.app

πŸš€ Deploy to Vercel

Click the button below to instantly deploy the template and set up Update and Supabase:

πŸ› οΈ Local Setup

1. Clone the project

git clone https://github.com/updatedotdev/nextjs-supabase-stripe-update.git cd nextjs-supabase-stripe-update

2. Install dependencies

npm install

or

pnpm install

3. Configure environment variables

Create a .env.local file based on the provided example:

cp .env.example .env.local

Fill in values from:

NEXT_PUBLIC_UPDATE_PUBLIC_KEY=...
NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_ANON_KEY=...

4. Run the dev server

npm run dev

Open http://localhost:3000 in your browser to view the app.

πŸ“¦ What's Included

  • πŸ”Œ Update Client Setup:
    • utils/update/client.ts β€” for browser-side usage
    • utils/update/server.ts β€” for server-side usage
  • 🧠 Entitlements Checks:
    • Example usage of client.entitlements.check() to conditionally render UI
  • πŸ’³ Billing Integration:
    • Stripe Checkout & Customer Portal
    • Cancel/reactivate subscriptions
    • Usage-based plans (coming soon)

🧩 Tech Stack

🀝 Support

πŸ“„ License

MIT

Update Starter: Subscriptions and Auth for SaaS