Next License Template
Sell perpetual, offline-verified JWT licenses for .NET and Electron desktop apps.

Local demonstration account in light mode. No license token or payment credentials are shown.
Next License is a .NET 10 + Next.js template for selling one-time licenses that unlock Pro in a desktop app. Customers buy through Stripe Checkout, copy a signed license key from their account, and paste it into your app. The app verifies the key locally and shows who it is registered to.
- Offline verification. A license is an ES256-signed JWT. Apps bundle one public key and check it with a single function call: no network, activation server or helper process.
- Perpetual use, dated updates. A license covers every build released on or before its update cutoff, forever. Lifetime licenses cover future builds too. There is no expiry and no comparison with today's date.
- Complete storefront. Pricing, Stripe Checkout, renewals, Lifetime upgrades, customer license portal, transfers, lifecycle email, and an admin Operations Center.
- GitHub-hosted downloads. Published GitHub releases become download buttons and a Markdown changelog, with a cached fallback when GitHub is unavailable.
- Your choice of database. SQLite by default, or PostgreSQL, MySQL/MariaDB or SQL Server, with Kamal deployment destinations for each.
Start here
- How it works: the purchase-to-unlock flow in one page.
- Run locally.
- Create your signing key and issue a license.
- Enable Pro in .NET or Electron.
- Connect Stripe.
- Verify before shipping.
What it deliberately does not do
Next License indicates license eligibility; it is not DRM. It does not count running machines, enforce seats, bill on a recurring schedule, or remotely disable licenses already held by customers. A user who controls the app code can patch its checks. See signing security.
Concepts, features, development, operations and security cover the rest of the template.