Introduction
An overview of the Keymint licensing platform: how license keys, node locking, floating seats, and offline signing work together to secure your software.
Keymint is a developer-first software licensing platform. It manages the entire license lifecycle — from key issuance and customer records to hardware node locking, concurrent seat tracking, and offline cryptographic verification — behind a small REST API and native SDKs.
This page explains how the platform is structured and where to go next. To get your first license activated end-to-end, start with the Getting Started guide instead.
The License Model
Keymint organizes licensing around three concepts:
| Concept | Purpose |
|---|---|
| Product | A software product you sell (for example, prod_Nx8K2mLpQ4rVtW9sBc). Every license key and activation belongs to exactly one product. |
| License key | A unique key issued for a product, configured with a seat limit and optional expiration. Customers redeem the key to unlock your software. |
| Activation | A license bound to a specific machine. Activations are what make licenses enforceable — a key with three seats can be activated on up to three devices at once. |
Products are created from the Dashboard, customer records can be managed from the Dashboard or the API, and every downstream operation — activation, checkout, heartbeat, offline signing — is performed with a scoped API key.
Enforcement Primitives
Keymint supports three distinct ways to enforce a license, and you can combine them per product:
- Node-locked (online) licensing — the most common model. The user's application activates the key with a hardware identifier (
hostId), and Keymint verifies the activation on each launch or on a schedule. See License Keys. - Floating licenses — a pool of concurrent sessions shared across a team or department, created as floating-type keys. Applications check out a session, then send heartbeats to keep it; sessions are released on check-in or when the lease expires. See Floating Licenses.
- Offline verification — for air-gapped or high-security environments. Keymint signs a JWT-based license file with an Ed25519 key, and your application verifies the signature locally with a bundled public key. See Offline Verification.
The API and SDKs
All license operations go through the REST API at https://api.keymint.dev, authenticated with a Bearer API key. Keys are scoped as client (device activation/deactivation and floating sessions), read-only (reads), or admin (key management), so a distributed application never needs to hold privileged credentials.
POST /key/activate HTTP/1.1
Host: api.keymint.dev
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"productId": "prod_Nx8K2mLpQ4rVtW9sBc",
"licenseKey": "A8E2K-9F1BC-3D4GH-7J2KM",
"hostId": "mac-studio-m2"
}Official client libraries are available for Node.js, Go, Python, and C# / .NET.