Nuxter vs NuxtBase
With Nuxter you sell through four payment providers and take kit updates in one command; NuxtBase runs on a Node server and ships an AI chat with credits.
Checked nuxtbase.com
Feature check
Built in, of 14 rows
- Nuxter: 11 of 14 rows built in, 1 partly.
- NuxtBase: 3 of 14 rows built in.
Counted from the feature check below. A row that NuxtBase’s own site and docs do not mention is not counted. See the rows
01The short version
Which one to pick.
Nuxter covers billing and operations work that NuxtBase's docs do not describe. You can sell through Stripe, or through Polar, Lemon Squeezy or Creem, which handle sales tax for you, and sell one-time plans beside subscriptions. Trials, coupons and a failed-payment grace period are built in, a queue retries work that fails, and each kit update arrives as one commit you review.
NuxtBase suits a buyer who wants to run a Node server on a host they pick, or who is building an AI chat product with credits per organization.
Pick Nuxter if
- You sell through Polar, Lemon Squeezy or Creem, or want a merchant of record to handle sales tax for you.
- You sell one-time plans next to subscriptions, and want buyers to pay for them before they have an account.
- You want trials, coupon links, a failed-payment grace period and plan gates working before your first customer.
- You plan to keep taking kit updates after you start building, and want each one as a single commit you review.
- You want a job queue, security headers, error tracking and a deploy pipeline that runs migrations, all in place from day one.
NuxtBase may suit you better if
- You want to run the app as a Node.js server on a host you pick, such as your own server or Coolify.
- You are building an AI chat product and want streaming chat and credit wallets per organization to start from.
02Feature check
Feature by feature.
What each kit ships for the things buyers ask about most. A question mark means NuxtBase’s own site and docs do not mention it.
- Built in
- Partly
- Not included
- Not in its docs
03Why Nuxter
Why pick Nuxter over NuxtBase.
What Nuxter ships on day one that NuxtBase’s own pages do not describe.
Four providers and one-time sales
Nuxter sells through Stripe, Polar, Lemon Squeezy or Creem, several at once, and the last three are merchants of record that handle sales tax for you. One-time plans sell next to subscriptions, and a buyer without an account can check out for one. You pick the provider that fits your country and product without writing an adapter.
Billing rules ready for customers
Nuxter ships trials limited to one per buyer, coupon links checked before the buyer pays, a 14-day grace period after a failed renewal, and plan gates that lock a feature or the whole dashboard until the customer upgrades. Staff can grant a plan or refund a one-time purchase from the admin, and you write none of that logic.
Kit updates in one command
pnpm template:update brings each kit update in as one commit you review, and the kit's migrations run in a chain apart from yours. Months into your own product, taking a fix from the kit is a pull request you read and merge.
Production operations set up
Background jobs retry on Cloudflare Queues, and a job that fails every retry lands in a dead letter queue, a holding queue whose jobs are logged and reported. Every response carries a Content-Security-Policy, server faults can go to Sentry or Better Stack, and GitHub Actions test every pull request and deploy after running migrations. None of it is code you write before launch: you create the Cloudflare resources and set the secrets the deploy guide lists.
A local database with nothing installed
pnpm dev starts an embedded Postgres and migrates it, and a seed script adds 50 accounts. A new developer on your team runs the app without Docker, a database server or a .env file.
04Where NuxtBase is ahead
Where NuxtBase is ahead.
The trade-offs to weigh before you decide.
Runs on a Node server
NuxtBase expects a Node.js 22 Nuxt server with PostgreSQL, and its FAQ says you deploy on your own infrastructure and can self-host it. Nuxter is built for Cloudflare Workers, with its queue, storage, mail and database connection declared as bindings (services the Worker reaches by name) in one file, so there is one platform to learn.
AI chat with credit wallets
NuxtBase ships a streaming chat on the Vercel AI SDK with OpenAI or OpenRouter, saves conversations per user and organization, and settles a per-organization credits wallet against actual token usage.
A Discord community
NuxtBase runs a Discord server for questions and feedback, beside its support email.
05Side by side
Every row, side by side.
The same nineteen rows on every comparison, so you can read two pages against each other.
06In detail
Part by part.
Stack and hosting
Nuxter is built for Cloudflare Workers on purpose. The queue, file storage, cache, mail, rate limiting, AI and the database connection are Cloudflare bindings, services the Worker reaches by name, declared in one wrangler.jsonc file. You learn one platform, and every binding lives in one Cloudflare account. Postgres is hosted by a provider you choose, such as Neon or Supabase, and reached through Hyperdrive, Cloudflare's connection pooler. The trade is that the app runs on Workers and nowhere else. The deployment guide lists what to create before the first deploy.
NuxtBase expects a Node.js 22 Nuxt server that runs continuously, and its FAQ says you deploy on your own infrastructure and can self-host it. Its production checklist reports a Coolify test and suggests at least 3.5 GB of memory. Both kits are on Nuxt 4.5, Vue 3, Nuxt UI 4 and Tailwind CSS 4.
Sign-in and accounts
Nuxter ships password or magic-link sign-in, passkeys, authenticator codes with ten recovery codes, and OAuth with GitHub and Google, chosen in one config block. A method you switch off has no API endpoint in the build. Every credential route is rate limited, locks for 15 minutes once its limit is spent, and sign-in forms can check for bots with Cloudflare Turnstile. Sessions live in the database, so signing out a device or suspending an account applies on the next request.
A deleted account is held for 30 days by default with a mailed restore link, so a mistaken deletion can be undone. Users can also download their account data as JSON without writing to you.
NuxtBase is built on Better Auth. Its login screen offers password, magic link, a 6-digit emailed code, passkeys, Google and GitHub, and one environment variable switches any of them off. Two-factor is TOTP with backup codes, and the challenge can trust the device. Its demo app's docs describe account deletion that cannot be undone, and its docs do not mention a data export.
Organizations and permissions
Nuxter reads the caller's role from the database on every request, so a removed member loses access on the next one. Each plan sets a member cap, enforced at invitation, acceptance and organization creation, so a seat limit holds without code of your own. An optional second level holds branches or sites that share the parent's plan and seats. Managers read the organization's audit trail on its own page.
NuxtBase leads on teams: sub-groups of members inside an organization.
Both give every account an organization at signup, with owner, admin and member roles and email invitations, and both check roles on the server.
Payments and billing
| Nuxter | NuxtBase | |
|---|---|---|
| Providers | Stripe, Polar, Lemon Squeezy, Creem | Stripe |
| Subscriptions | Monthly and yearly | Monthly and yearly |
| One-time plans | Yes, with guest checkout | Not in its docs |
| Free trials | Per plan on Stripe and Polar, once per buyer | Not in its docs |
| Coupons | Links checked before the buyer pays | Not in its docs |
| Sales tax | Stripe Tax or a merchant of record | Not in its docs |
| Failed renewals | 14 days of access and a banner | Counted as paid, no time limit given |
| Plan change and cancel | In the provider's hosted portal, including card updates, on all four | In the app or the Stripe portal |
Your app sells through four providers, several at once. Polar, Lemon Squeezy and Creem are merchants of record: the provider is the legal seller and handles sales tax. On Stripe, one environment variable switches on Stripe Tax. A buyer without an account can check out for a one-time plan.
Trials work on Stripe and Polar and are dropped for anyone who has subscribed before, so nobody gets a second free trial by cancelling and signing up again. When a renewal fails, billing members see a banner with the date access ends, so a customer whose card expired keeps working while they fix it. Helpers put a route or the whole dashboard behind a plan and tell the browser when an upgrade would help.
NuxtBase ships a Stripe subscription flow. It leads on plan changes: a customer switches plans inside the app, which updates the existing Stripe subscription, and cancels or resumes at period end. Invoices and refunds are mirrored into local tables. Its docs refer to plan-aware checks but document no helper for gating a route.
Database, jobs and files
Nuxter's pnpm dev starts PGlite, Postgres compiled to WebAssembly. The kit's migrations and yours run in separate chains, so a kit update never collides with a migration you wrote. NuxtBase's docs have you create a PostgreSQL 14+ database with createdb, psql or a postgres:16 container. Both use Postgres with Drizzle ORM and committed SQL migrations.
Nuxter runs background work as typed jobs on Cloudflare Queues. A job that fails is retried with growing delays, so a mail or a subscription cancel that hits a provider outage goes through on a later try. Work that fails every retry moves to a dead letter queue, a holding queue for failed jobs, and is reported. A daily cron runs six cleanup tasks. NuxtBase ships three maintenance tasks, and its docs do not mention a job queue.
Nuxter stores files in R2 under a rule per purpose for format, size and access, and reads the first bytes of each upload to check its real format. Avatar and organization photo uploads are wired. NuxtBase offers more storage backends (local disk, S3 or R2) and ships a Projects module with file attachments.
Email and notifications
Nuxter sends mail through Cloudflare Email Sending or Resend. If one provider fails it tries the next, and if all are down the mail is queued for retry, so a password reset survives a brief outage. Mail goes out in the reader's language, and product mail carries a one-click unsubscribe. A notification bell in the dashboard shows in-app notifications, with payment notifications already wired.
NuxtBase sends through SMTP or Resend, and its default driver writes each rendered email to disk for previewing. Its docs do not mention queued sending, retries, translated templates or in-app notifications; they document two notification emails.
NuxtBase also ships outbound webhooks: each organization registers endpoints for ten events, with signed, retried and logged deliveries. Nuxter fires 17 typed events inside your app, and you react to one by dropping a listener file in a folder, without editing kit code.
AI
Nuxter's AI is a server module: typed functions for text, images, speech, transcription, embeddings and video, wired to Cloudflare Workers AI through a binding with no API key. You name models in config by the job they do and swap one per deploy with an environment variable. Other vendors' models go through Cloudflare's AI Gateway or an adapter file you add.
NuxtBase is ahead if your product is a chat. It ships a streaming AI chat on the Vercel AI SDK with OpenAI or OpenRouter, conversations saved per user and organization, and a credits wallet per organization with a monthly quota per plan. Its AI chat docs say credits are reserved before the model streams and settled against actual token usage.
Its docs do not describe image generation, speech or embeddings. If your product works with images, audio or embeddings, Nuxter has a typed call for it.
Content, languages and marketing pages
Nuxter ships a Markdown blog with tags, drafts, bylines and RSS, and a GitHub Actions workflow that drafts a post with an AI model and opens a pull request for you to review. The pricing page is built from the plans in config, so there is no pricing page to edit by hand. Sitemaps, hreflang and Open Graph images are set up.
Nuxter records analytics from the server to Cloudflare Analytics Engine, PostHog or Umami, with no tracking script or cookie, and ships a consent banner. NuxtBase loads GA4, Umami or Plausible as a browser script, and its docs do not mention a consent banner.
NuxtBase ships more landing page sections: seven components, including testimonials, an FAQ and a waitlist with admin moderation. It also ships an in-app docs section and a blog on Nuxt Content.
Both ship a second language beside English: Chinese on NuxtBase, and Serbian on Nuxter, which translates its emails too.
Admin and operations
Nuxter's staff get a searchable customers list where they edit or suspend an account, send reset mail, clear lockouts and view the app as that user. Impersonation is read-only and ends after 30 minutes, so support can look without changing a customer's data.
Every response carries a Content-Security-Policy and hardening headers. Each server fault is logged under a request id that the error page also shows, so a customer's screenshot leads you to the log line. Faults can go to Sentry or Better Stack, and GET /api/health tells an uptime monitor whether the database answers. GitHub Actions test every pull request and deploy main after running migrations, and a failed migration leaves the running Worker in place.
NuxtBase's /admin area sits behind a platform_admin role. Admins search, ban, delete and impersonate users, and see platform stats and a read-only subscription overview. Platform admins can read an audit log through an admin endpoint. NuxtBase rate limits auth endpoints by IP and validates environment variables at startup. Its docs do not mention security headers, bot protection, error tracking, a health endpoint or a CI workflow.
Tests
Nuxter ships 335 test files: 230 unit, 97 component and 8 Playwright specs. Unit tests run against a real Postgres engine with the kit's migrations applied, and about 50 files cover payments. CI runs the unit and component suites on every pull request, so a change to billing or sign-in code runs against the tests the kit relies on.
NuxtBase's changelog counts 503 test cases across 86 files as of v2.0.0, on Vitest and Playwright, and Husky runs its unit tests before each push.
Updates
pnpm template:update brings everything the kit changed since your last update as one commit on a branch you review. It merges against the kit version you last took, so git sees only what the kit changed, and the kit's history stays out of your repository. A table in TEMPLATE.md says which files are the kit's and which are yours, so you know where your code will not conflict with an update.
NuxtBase keeps a changelog with four releases, from v1.0.0 on April 1, 2026 to v2.0.0 on September 15, 2026, and the latest lists its breaking changes and upgrade notes. Updates arrive through the private repository, and its docs give no commands for pulling a later release into a project you have already started.
Docs and AI coding agents
Nuxter's docs are public and searchable. The kit ships AGENTS.md, a 330-line brief with setup commands, code standards, the checks to run and a list of traps with their causes, plus pointer files so Claude Code, Cursor and GitHub Copilot all read it. An agent working in your app starts from the kit's rules.
NuxtBase's docs are public too. Its site and docs do not mention agent instruction files.
Price and license
| Nuxter | NuxtBase | |
|---|---|---|
| One seat | $249, one-time | US$299, one-time, 1 developer |
| Five seats | $649, one-time | US$599, one-time, up to 5 developer seats |
| Updates | Every update; the license never expires | Lifetime updates |
| Projects | Any number of your own products | Unlimited commercial projects |
Both are delivered by invitation to a private GitHub repository, and neither pricing page lists a tier above five seats. On Nuxter a larger team buys more licenses and the seats add up.
Nuxter's license is a plain-English contract from Devilos LLC under Wyoming law. It lets you sell a product to a new owner and says who needs a seat: people who read or change code containing the kit, while hosting, CI and AI coding tools need none. Client work is allowed with one license per client.
NuxtBase's terms grant unlimited commercial projects within the tier, and a Solo license cannot be used by a team. Its pricing page describes the Team tier as for teams "collaborating on client work". The terms do not mention clients or name a governing law. They forbid sharing the source code with any third party.
Support and community
Nuxter's support is by email to Devilos LLC, the company that makes it. The public docs, the source and AGENTS.md cover the rest.
NuxtBase adds a Discord server for questions and feedback, and answers access or delivery issues at support@nuxtbase.com. Its support page says responses are best effort with no guaranteed response time, and that 1:1 setup help and custom development are outside its scope.
07Sources
Where this comes from.
Every claim about NuxtBase was read from its own pages on . The main ones are below, and the rest are linked where they are used. Nuxter’s side comes from its own docs and code.
- NuxtBase pricingnuxtbase.com/
pricing/ - NuxtBase terms of servicenuxtbase.com/
terms-of-service/ - NuxtBase changelognuxtbase.com/
changelog/ - NuxtBase docs: production checklistnuxtbase.com/
docs/ deployment/ production-checklist/ - NuxtBase docs: AI chatnuxtbase.com/
docs/ features/ ai-chat/ - NuxtBase docs: subscription lifecyclenuxtbase.com/
docs/ billing/ subscription-lifecycle/ - NuxtBase docs: installationnuxtbase.com/
docs/ getting-started/ installation/ - NuxtBase docs: getting startednuxtbase.com/
docs/ getting-started/ - NuxtBase docs: adminnuxtbase.com/
docs/ admin/ - NuxtBase docs: storage setupnuxtbase.com/
docs/ setup/ storage-setup/ - NuxtBase FAQnuxtbase.com/
faq/ - NuxtBase demo sitedemo.nuxtbase.com/
NuxtBase is a trademark of its owner, and Nuxter is not affiliated with it. Found something out of date? Tell us.
Docs
Read the docs before you decide.
Every page of the docs is public, so you can see how each part works before you buy. From $249, one-time.