LicenseManager
License keys for Electron apps

Get paid for your Electron app in 5 minutes.

Connect Stripe, add a few lines to your main process, and ship. Every purchase creates a license key and emails it to your customer. No backend to build, and we never take a cut of your sales.

Free up to 100 active users. No credit card required.

main.ts
import { app, ipcMain } from "electron";
import { LicenseManager } from "@licenseman/electron";

const license = new LicenseManager({
  productId: "x7Kp2QaZ",
  publicKey: PUBLIC_KEY,
});

app.whenReady().then(async () => {
  // "ACTIVE", "MISSING_KEY", "EXPIRED"…
  const state = await license.ready();
  if (state === "ACTIVE") openMainWindow();
  else openActivationWindow();
});

// Called by your activation window
ipcMain.handle("activate", (_event, key) =>
  license.setLicenseKey(key),
);
Activation window of an Electron app, with a license key field and an Activate button

Your customer pastes the key, your app unlocks

Setup

From zero to your first sale in 5 minutes

Two minutes in the dashboard, three in your code. Then share your Stripe link and start selling.

  1. 11 min

    Setup your licensing model

    Sign up, add your app, and choose what you sell: a perpetual license, a yearly one, on 3 machines, with a trial…

    New policyNamePersonalDurationMonth1 yearLifetimeMachines−+12Updatesfor 1 year after purchaseCreate policyPolicy created
  2. 21 min

    Connect Stripe

    Map your Stripe price to that offer. From now on, each payment creates a license and emails the key to your customer.

    SStripePolicies€49one-time pricePersonal1 year · 2 machines+1€129one-time priceBusiness1 year · 5 machines+1Each payment creates a license
33 min

Unlock your app when the license is active

Install the SDK, and create a LicenseManager in your main process, like above. Open your app when the state is ACTIVE, and otherwise your activation window, which passes the key your customer enters to setLicenseKey.

That's the whole integration. Validation, storage, offline use and renewals are done for you.

Terminal
$ npm install @licenseman/electron
activation.ts
// window.license is exposed by your preload script
form.addEventListener("submit", async (event) => {
  event.preventDefault();
  try {
    await window.license.activate(input.value);
    showApp();
  } catch {
    showError("This license key wasn't recognized.");
  }
});

No backend

There's no server to write. Not even a small one.

Stripe talks to LicenseManager, and your app talks to LicenseManager. Nothing of yours in between to host, secure, or keep running at 3 a.m.

StripeYour customer pays
LicenseManagerCreates and emails the key
Your appValidates the key

Your serverNot needed

  • A Stripe webhook handler
  • A license validation server
  • A database of keys
  • Emails with the keys
  • Signed tokens for offline use
  • Keychain storage on 3 systems
  • Clock tampering detection
  • A page to recover lost keys

Electron SDK

The hard parts are already written

Licensing a desktop app well takes more than one request. The SDK does it the way you would, after a few months of support tickets.

License models

Every licensing model you want

Each offer sets how long a license lasts, on how many machines, and which versions it unlocks. Combine them to match your pricing page, and change them without shipping an update.

See every setting in policies, and how updates are unlocked in releases.

Perpetual

Pay once, use forever. Very popular licensing model for focused desktop apps.

Perpetual with limited time updates

Customers keep the last version released during a given period after purchase, forever.

Time limited

Every update while the license is valid, then it expires.

Free trial

Let your users test it for free first.

Limited number of machines

Allow your users to install your app on a limited number of machines.

Money-back guarantee

A good alternative to free trials for your users.

Pricing

Free for your first 100 active users. Then €29 a month.

Every feature, no time limit, no credit card. Only licenses used in the last 90 days count, and €29 / month covers up to 1,000 of them. Our price grows with your sales, not ahead of them.

We never take a cut of your sales

Customers pay you on your own Stripe account. Say you sell 300 licenses at €49 this month:

Your sales
€14,700
A 5% cut would be
€735
LicenseManager
€29

FAQ

Questions before you start

Something else? Write to us, a developer answers.

Your Electron app could be selling by tonight

Create a free account, add your product, and activate your first key from your app. Connect Stripe when you're ready to sell.