Licensing models

One platform. Every way to license.

Charge by subscription, one-time, or lifetime, and lock each license to a device or a website. Mix and match for every product you sell.

ModelRecurringSeatDomain
Subscription (recurring)
One-time
Lifetime
Seat-mode (node-locked)
Domain-mode
Model 01

Subscription (recurring)

Customer pays monthly or annually. The license stays active as long as the subscription is current. When payment fails or the customer cancels, the license moves through a grace period and then expires.

Best for: Plugins with ongoing updates, SaaS-style tools, anything with recurring value.

How it works

  1. 1Customer purchases on your buy page
  2. 2License key issued and emailed automatically
  3. 3Renewals and retries of failed payments happen in your payment account
  4. 4Grace period on failed payments (configurable)
  5. 5License ends when a canceled subscription reaches the end of its paid period, or when a failed payment is not fixed within the grace period
Model 02

One-time

Customer pays once. By default the key never expires. Give the plan a license length (for example 365 days) to sell a year of access and updates instead.

Best for: Desktop apps, audio plugins, tools sold as a one-time download.

How it works

  1. 1Single charge on your buy page
  2. 2License key issued and emailed automatically
  3. 3Optional license length, counted from the day the customer first activates (not from purchase)
  4. 4Optional: offer paid upgrades as separate products
Model 03

Lifetime

A one-time plan with no license length. Your buy page shows it as "Lifetime access", so the deal is clear before the customer pays.

Best for: Launch promotions, AppSumo-style deals, early adopter pricing.

How it works

  1. 1Single charge, license issued with no expiry
  2. 2Validates forever unless you deactivate it
  3. 3Customer appears in your dashboard like any other license holder
Model 04

Seat-mode (node-locked)

Each activation binds to a specific machine identifier. The plan defines a max seat count (for example 3 machines). Once all seats are used, additional machines are blocked until an existing seat is deactivated.

Best for: Desktop apps, audio plugins, development tools, anything installed on a physical machine.

How it works

  1. 1Customer activates with a machine-specific identifier
  2. 2Server tracks active seat count per license
  3. 3Hitting the cap returns activation_cap_exceeded
  4. 4Customer can deactivate old seats from the portal
  5. 5Idempotent: the same machine re-activating does not consume an extra seat
Model 05

Domain-mode

Each activation binds to a domain name instead of a machine. Essential for WordPress plugins, browser extensions, Shopify apps, and anything distributed to run on a customer-controlled URL.

Best for: WordPress and Shopify plugins, browser extensions, SaaS integrations.

How it works

  1. 1Customer activates with an identifier like shop.example.com
  2. 2Server tracks active domain count per license
  3. 3Domain-origin guard: validate checks the Origin header matches an activated domain
  4. 4Even if someone extracts the key, they cannot use it from an unauthorized domain
  5. 5Customer manages domains from the self-serve portal

When a license ends

Licensr moves every license through these states for you. Your product only reads the answer.

A subscription payment fails

  1. Active

    Working as usual.

  2. Grace period

    Still working, 7 days by default. We email the customer to update their card.

  3. Off

    The key stops working until they pay. Paying turns it back on.

A license reaches its end date

  1. Active

    Working until the license length or the last paid period runs out.

  2. Expired or limited

    The key stops working. Turn on "Keep working after expiry" and your product gets a "limited" answer instead, so you can keep core features on and lock only the extras.

Ship your product.
We'll handle the rest.

Free tier, no credit card. Connect your payment account and have a live buy page in 15 minutes.