Preparing your workspace
Jobbit
Guides9 min read

How to Sell a Desktop App With Licence Keys in 2026

Sell a desktop app with licence keys the simple way: trials, machine-locked activation, refunds and offline checks, plus a hosted key API in three calls.

How to Sell a Desktop App With Licence Keys in 2026
Read in:

To sell a desktop app you need four things a web app never worries about: a way to issue a licence key on every sale, a way for the app to activate and verify that key on a specific machine, a way to run a free trial, and a way to revoke a key when you refund. You can build all four yourself in a weekend of careful work, or use a hosted licence API and wire it in with three calls.

Most one-person software companies in 2026 sell web apps because hosting, payments and accounts are solved problems. Desktop apps still win for anything that touches local files, hardware, video or a user's own GPU, and buyers still pay once for them. The sticking point is the plumbing: licence keys for a desktop app are easy to get wrong, and the failure modes (keys shared on forums, trials reset by deleting a folder, refunds that keep working) all cost money quietly.

This guide walks through the choices in the order you meet them, from what a key actually is to what happens when a customer asks for a refund. It uses SublimeKeys, an indie-built licensing service, as the worked example, and it shows where an AI agent can build the surrounding pieces, the landing page, the checkout and the support replies, so the licensing is the only part you touch by hand.

Want the shop around the app built for you? Describe the product, the price and the download to Jobbit and the agent builds the landing page, the checkout and the licence email, then hosts them on your own domain.

What a licence key has to do

A licence key is a promise your app can check without phoning you. In practice that means five jobs:

  1. Issue. When a sale completes, generate a key tied to that customer and product, and deliver it by email or on the thank-you page.
  2. Activate. The first time the key is entered, bind it to that machine (a hardware fingerprint), and count the activation against the key's limit.
  3. Verify. On later launches, confirm the key is still valid, still within its device limit and not revoked, ideally without needing the internet every time.
  4. Trial. Let a new user run the app for a limited period before buying, in a way that deleting a folder does not reset.
  5. Revoke. When you refund, or a key leaks, switch it off so the next verification fails.

Everything else, pricing pages, invoices, VAT, is shared with web apps and is covered in how to build a SaaS with AI.

Three ways to get it done, compared

ApproachWhat you buildOffline useTrials and revocationBest for
Roll your own (signed keys, your server)Key generator, activation endpoint, fingerprinting, admin panelOnly if you design signed leasesYou write every ruleTeams with a backend engineer and time
Store-provided keys (marketplace or checkout tool issues a key string)Verification call to the store's API inside the appRarely, most verify onlineTrials usually separate, revocation by support ticketApps sold through one store only
Hosted licence API (SublimeKeys and similar)Three API calls in the app, a webhook from checkoutSigned offline leases, re-checked weeklyBuilt in, instant revocation on refundIndie developers selling direct

Rolling your own is cheap until the first support ticket about a lost key or a reinstalled laptop. Store keys tie you to that store. The hosted route costs a little each month and removes the whole category of problems, which is why it is the default for most indie Windows and Mac apps now.

SublimeKeys, the worked example

Disclosure: this guide is part of an unpaid, reciprocal content exchange with Sublimearts, the studio behind SublimeKeys. No money changed hands and the facts below come from their documentation and the developer.

SublimeKeys is licensing as a service for desktop apps. You generate, activate and verify licence keys through a hosted API with three calls: activate, verify and deactivate. Activations are machine-locked, trials and revocations are built in, and the whole thing was built by an independent developer as the licensing backend for his own Windows apps, ReelNox Studio and BackDrop_, before being opened to other developers. It is new and indie-built, which is worth knowing: it is a small, focused service rather than an enterprise platform.

How the integration works

  • Register your product. Pick a slug and a key prefix. One call, and the product exists.
  • Issue a key on every sale. Your checkout (or a webhook from it) asks the API for a key, and you send it to the customer.
  • Verify inside the app. The app calls activate on first run with the machine fingerprint, then verify on later launches. Deactivate frees the seat when a user moves machines.
  • Offline. A successful verification returns a signed Ed25519 lease valid for seven days, so users need to be online for the first activation and about once a week afterwards. A laptop on a plane keeps working.
  • SDKs. Official Python (pip install sublimekeys) and Node.js or Electron (npm install sublimekeys) packages; any other language can verify the lease signature directly.
  • Refunds and exports. Instant revocation for refunds, and a full key export through the API if you ever want to move. Hosting is in the EU (Nuremberg), and the service promises twelve months' notice if it is ever shut down.

Pricing

PlanPriceProductsKeysDevices per key
Free$011005
Pro$9 a month51,00025
Business$29 a monthUnlimitedUnlimited100

Prices in US dollars from the SublimeKeys pricing page on 31 October 2026; check the page before you rely on them. The free tier covers a first product with up to 100 customers, which is most launches.

Trials that cannot be reset

A trial stored as a date in a config file lasts exactly until someone deletes the config file. Two patterns hold up:

  • Server-side trial keys. Issue a trial key per email address with an expiry on the server. Reinstalling changes nothing, because the server remembers the email.
  • Fingerprint-bound trials. Bind the trial to the machine fingerprint. Simpler for the user (no email), weaker against a determined reinstaller, fine for a £20 app.

Whichever you pick, make the trial generous and the upgrade path one click. Buyers who hit a wall at the exact moment they were about to finish something convert; buyers who hit it on day one do not.

Refunds, chargebacks and leaked keys

  • Refund. Revoke the key the moment the refund is issued, by hand or from the payment provider's webhook. The app fails its next verification with a clear message and a link to buy again.
  • Chargeback. Same as a refund, plus a note in your records. Chargebacks on software are rarely won, so a 14-day no-questions refund policy usually costs less than fighting them.
  • Leaked key. Device limits do most of the work: a key shared on a forum stops activating at its limit. Revoke it, email the original buyer a fresh key, and move on.
  • The customer who reinstalls Windows. Deactivate frees the seat, and a self-service "manage my devices" page saves you the support email.

How an AI agent helps around the licensing

ChatGPT, Claude, Gemini, Microsoft Copilot, Manus and Meta's Muse will all draft the activation code and explain the API. An agent on Jobbit does the jobs around it end to end:

  • The landing page and checkout, built from your description and hosted on your own domain, with the download and the licence email wired to the API; the Go plan at £7 a month keeps a small site live.
  • The support replies for lost keys, device limits and refunds, drafted in your tone from your policy and sent after you approve.
  • The changelog and release notes written from your commit messages before each build.
  • The pricing page copy and three variants of the trial-expiry message to test.
  • A human when you need one: a Windows installer specialist or a designer for the app icon from the network, briefed and paid through the same place.

Mistakes that cost indie developers money

  • Checking the key only at install. Verify on launch, or at least weekly, or refunds keep working forever.
  • Hard-coding the secret in the app. Anything in the binary is public. Verify signatures with a public key and keep the private one on the server.
  • No deactivate. Every machine change becomes a support ticket.
  • Trial state in a plain file. See above.
  • Forgetting VAT. Selling to EU consumers means VAT at their rate from the first sale; a merchant-of-record checkout handles it, a bare Stripe account does not.

Read next

Frequently asked questions

Do I need a licence server to sell a desktop app?

You need something that issues keys and can revoke them, and that has to live outside the app. That can be your own small server, a store's key API, or a hosted licence service such as SublimeKeys that gives you the endpoints and the offline leases without writing them yourself.

How do licence keys work offline?

The app verifies online once and receives a signed lease, a small file with an expiry that the app can check with a public key. SublimeKeys issues leases valid for seven days, so a user needs to be online at first activation and roughly weekly after that; between checks the app runs offline.

Can a customer share one key with friends?

Only up to the device limit you set per key. Once the limit is reached, new activations fail. If a key is posted publicly, revoke it and send the buyer a new one; the device limit means the damage is capped in the meantime.

What happens to my customers if the licensing service shuts down?

Ask before you sign up. SublimeKeys publishes a twelve-month notice commitment and a full key export through its API, so you could move keys to another system. Any service without an export path is a risk for a paid app.

How much does a licensing service cost?

SublimeKeys has a free tier for one product and 100 keys, then $9 and $29 a month. Building your own costs nothing in fees and several days of work plus ongoing support time, which for most solo developers is the more expensive option.

Can an AI agent build the shop around my desktop app?

Yes. Describe the app, the price and the download to Jobbit, and the agent builds the landing page, checkout and licence email, hosts them on your domain and drafts the support replies, while you keep the activation code in the app itself. Start free with 100 credits a day.

Related guides