Skip to content

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.

Feature NuxterNuxtBase
Polar, Lemon Squeezy and Creem paymentsBuilt inNot in its docs
One-time plans and guest checkoutBuilt inNot in its docs
Free trials, one per buyerBuilt inNot in its docs
Coupon codes at checkoutBuilt inNot in its docs
Failed-payment grace periodBuilt inNot in its docs
Plan gates and paywallBuilt inNot in its docs
One-command kit updatesBuilt inNot in its docs
Background job queue with retriesBuilt inNot in its docs
Local database, nothing to installBuilt inNot in its docs
CI and deploy workflowsBuilt inNot in its docs
Content-Security-Policy and security headersBuilt inNot in its docs
AI chat with credit walletsNot includedBuilt in
Self-host on a Node serverNot includedBuilt in
Discord community and support emailPartlyBuilt in
  • 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.

Topic Nuxter NuxtBase
Stack
FrameworkNuxt 4 and Vue 3, with Nuxt UI 4 and Tailwind 4, in one appNuxt 4 and Vue 3, with Nuxt UI 4 and Tailwind 4; docs show a single app
HostingCloudflare Workers, with queues, storage, cache, mail and AI as native bindingsA Node.js 22 Nuxt server that runs continuously; Coolify is the one host its docs report testing
DatabasePostgres with Drizzle through Cloudflare Hyperdrive; runs locally with nothing to installPostgreSQL 14 or newer, with Drizzle; your own Postgres or Docker locally
What ships
Sign-inPassword or magic link, passkeys, authenticator codes with recovery codes, GitHub and GooglePassword, magic link, email code, passkeys, TOTP, and OAuth with Google and GitHub
OrganizationsOrganizations with a second level for branches or sites, roles, invitations and seat caps per planOrganizations with teams inside them, three roles and email invitations
PaymentsStripe, Polar, Lemon Squeezy and Creem: subscriptions, one-time, coupons, failed-payment grace, refunds; trials on Stripe and PolarStripe; monthly and yearly subscriptions, with plan change and cancel in the app
EmailCloudflare Email Sending and Resend, with fallback between them, queued retry and one-click unsubscribeSMTP or Resend, plus a preview driver that writes HTML to disk; Vue templates
Background jobsCloudflare Queues with retries and a dead letter queue, plus scheduled cleanup tasksThree Nitro maintenance tasks; a job queue is not mentioned in its docs
File storageCloudflare R2 with type, size and access rules per purpose; avatar and organization photo uploads built inLocal disk, S3 or Cloudflare R2; presigned upload URLs can be generated on S3 and R2
AITyped server calls for text, image, speech, transcription, embeddings and video on Workers AIStreaming chat on the Vercel AI SDK with OpenAI or OpenRouter, and credit wallets
LanguagesEnglish and Serbian, with localized routes, emails and legal pagesEnglish and Chinese, with localized routes and in-app docs
AdminCustomers list: edit, suspend, view as a customer, send resets; plan grants, one-time refunds and an audit trailAdmin area with user search, ban, delete and impersonation; a read-only subscription overview
Blog and docsBlog with RSS and an AI drafting workflow, pricing page, legal page templates, sitemap and social imagesBlog, in-app docs, a seven-section landing page, pricing, legal pages and a waitlist
Working on it
Tests335 test files: 230 unit, 97 component and 8 Playwright86 test files holding 503 cases, on Vitest and Playwright, as of v2.0.0
Updatespnpm template:update brings each kit update as one commit you reviewDelivered through the private repository, with upgrade notes in the changelog
AI coding agentsAGENTS.md, read by Claude Code, Cursor and CopilotIts site and docs do not mention agent instruction files
Buying
Price$249 for one seat or $649 for five, one-timeUS$299 for 1 developer or US$599 for up to 5 developer seats, one-time
LicenseAny number of your own products; one license per clientUnlimited commercial projects; no resale or sharing the source with third parties
SupportEmail support from Devilos LLC; public docsDocs, Discord and email for access or delivery issues; no guaranteed response time

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

NuxterNuxtBase
ProvidersStripe, Polar, Lemon Squeezy, CreemStripe
SubscriptionsMonthly and yearlyMonthly and yearly
One-time plansYes, with guest checkoutNot in its docs
Free trialsPer plan on Stripe and Polar, once per buyerNot in its docs
CouponsLinks checked before the buyer paysNot in its docs
Sales taxStripe Tax or a merchant of recordNot in its docs
Failed renewals14 days of access and a bannerCounted as paid, no time limit given
Plan change and cancelIn the provider's hosted portal, including card updates, on all fourIn 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

NuxterNuxtBase
One seat$249, one-timeUS$299, one-time, 1 developer
Five seats$649, one-timeUS$599, one-time, up to 5 developer seats
UpdatesEvery update; the license never expiresLifetime updates
ProjectsAny number of your own productsUnlimited 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.

  1. NuxtBase pricingnuxtbase.com/pricing/
  2. NuxtBase terms of servicenuxtbase.com/terms-of-service/
  3. NuxtBase changelognuxtbase.com/changelog/
  4. NuxtBase docs: production checklistnuxtbase.com/docs/deployment/production-checklist/
  5. NuxtBase docs: AI chatnuxtbase.com/docs/features/ai-chat/
  6. NuxtBase docs: subscription lifecyclenuxtbase.com/docs/billing/subscription-lifecycle/
  7. NuxtBase docs: installationnuxtbase.com/docs/getting-started/installation/
  8. NuxtBase docs: getting startednuxtbase.com/docs/getting-started/
  9. NuxtBase docs: adminnuxtbase.com/docs/admin/
  10. NuxtBase docs: storage setupnuxtbase.com/docs/setup/storage-setup/
  11. NuxtBase FAQnuxtbase.com/faq/
  12. 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.