License models that fit your product

From perpetual licenses to usage-based metering — choose the model that matches how you sell, then implement it in minutes with our SDK and REST API.

🕒

Perpetual

One-time purchase, indefinite use. Optionally time-limited.

Learn more →
💳

Subscription

Recurring billing with automatic renewal or expiration.

Learn more →
📄

Trial

Time-limited evaluation. Auto-convert to paid on expiry.

Learn more →
👥

Floating

Concurrent user licensing — X simultaneous users from a pool.

Learn more →
🔒

Node-Locked

Bound to specific devices via hardware fingerprint.

Learn more →
📈

Usage-Based

Metered consumption — pay per API call, token, or resource.

Learn more →
🕒

Perpetual License

One-time purchase, indefinite use

A perpetual license grants the customer the right to use a specific version of your software indefinitely. It never expires — no renewal required. Optionally, you can set a time limit to create a term-based perpetual license (e.g., 1 year of access, no renewal).

Best for

Desktop applications, CAD tools, creative suites, games, and on-premise enterprise software where customers expect a one-time purchase model.

Implementation

Create a plan with license model "perpetual" via the admin dashboard or API. Issue licenses tied to that plan — customers validate offline using the Ed25519 public key. No server call required after activation.

Key parameters

  • No expiration (or custom term)
  • Offline validation
  • Node-locked or floating
  • Version-lock option
  • Transfer allowed (configurable)
💳

Subscription License

Recurring billing, automatic renewal

A subscription license grants access for a recurring period (monthly, yearly). The license automatically expires at the end of each period unless renewed. Billing is handled via Revolut Pay integration.

Best for

SaaS products, cloud services, and any software where ongoing revenue and regular updates are part of the value proposition.

Implementation

Create a plan with license model "subscription" and set duration_days. Licenses auto-expire. Integrate Revolut Pay for recurring billing. Webhook notifications alert when renewals fail.

Key parameters

  • Duration: monthly, yearly, custom
  • Auto-expiry on non-payment
  • Grace period (optional)
  • Revolut Pay integration
  • NTFY expiry alerts
📄

Trial License

Time-limited evaluation

A trial license grants temporary access to your software for evaluation purposes. It has a fixed duration and can auto-convert to a paid subscription on expiry. Clock tampering detection prevents users from extending the trial by rolling back their system clock.

Best for

Any software where you want prospects to experience the full product before purchasing. Reduces friction in the sales cycle.

Implementation

Create a plan with license model "trial" and set duration_days. Issue trial licenses via the customer portal or API. When the trial expires, the license status changes to "expired" — prompt the user to purchase.

Key parameters

  • Fixed trial duration
  • Auto-expiry enforcement
  • Clock tampering detection
  • Post-trial conversion flow
👥

Floating License

Concurrent user licensing

A floating (concurrent) license allows a fixed number of users to access the software simultaneously from a shared pool. When a user checks out a license, it's occupied until they check it back in. This is ideal for environments where not all users need access at the same time.

Best for

Engineering teams, enterprise departments, server-based tools, and any scenario where usage is concurrent rather than per-seat.

Implementation

Create a plan with license model "floating" and set max_seats to the pool size. Use the SDK to check in/check out licenses. The server enforces concurrent seat limits.

Key parameters

  • Concurrent seat count
  • Check-in / check-out API
  • Configurable timeout
  • Real-time usage dashboard
🔒

Node-Locked License

Bound to specific devices

A node-locked license binds the software license to specific devices using a SHA-256 device fingerprint. The license cannot be activated on more devices than the allowed maximum. An activation can be deactivated to free up a slot for a different device.

Best for

Per-workstation licensing, embedded systems, kiosk deployments, and any scenario where each installation should be tied to a specific machine.

Implementation

All licenses are node-locked by default with configurable max_devices. The SDK generates a device fingerprint on activation. Vendors can extend the fingerprint or provide their own. Transfer limits prevent key sharing.

Key parameters

  • Max devices per license
  • Device fingerprint (SHA-256)
  • Transfer limit (optional)
  • Deactivation flow
📈

Usage-Based License

Metered consumption

A usage-based (consumption) license meters the actual usage of your software — API calls, tokens consumed, reports generated, credits used. Customers pay based on what they consume rather than a flat rate. Metering data can be exported for custom billing integrations.

Best for

API services, AI/ML inference, document processing, cloud functions, and any product where usage varies widely between customers.

Implementation

Create a plan with license model "usage_based". Use the SDK to report usage events to the server. The server tracks consumption against the license. Configure custom billing thresholds and alerts.

Key parameters

  • Custom metering units
  • Usage event tracking
  • Configurable thresholds
  • Export for billing

Ready to license your software?

Choose the model, configure it in minutes, and start issuing licenses.