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.
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),
);
Your customer pastes the key, your app unlocks
- No backend to build
- Works offline
- Free for 100 active users (inactive users don't count!)
- 0% commision of your sales
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.
- 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…
- 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.
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.
$ npm install @licenseman/electron// 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.
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.
Keys in the keychain
The key and the token are stored in the macOS Keychain, the Windows Credential Manager or the Linux Secret Service. They survive reinstalls.
Works offline
Your app verifies a signed token locally on every launch, and keeps running without a connection until it expires.
Renews in the background
The key is validated again before the token expires, with retries and a backoff. Startup is never delayed.
Detects clock tampering
A clock set back to keep using an expired license is noticed, even offline.
Locks to the machine
A stable fingerprint per computer, so a key shared beyond its machine limit is refused.
Locks only when it should
A network error or an outage never locks your customer out. Only an answer about their license does.
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.
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.