Licensing for developers
Add license keys, hardware-bound activations, floating seats, and signed offline files to software people install.
- Node-locked keys
- Floating sessions
- Signed .lic files
curl -X POST https://api.keymint.dev/key/activate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"productId": "Xb8Kq2LmN4pR7sT9vW1yZ3",
"licenseKey": "A8E2K-9F1BC-3D4GH-7J2KM",
"hostId": "mac-studio-m2"
}'response
200 OK{
"code": 0,
"message": "License valid",
"licenseeName": "Test Customer",
"licenseeEmail": "test@example.com",
"allowedHosts": ["mac-studio-m2"]
}- macbook-pro-14active
- empty seat—
- empty seat—
Official SDKs — or any HTTP client
Node.js
Python
Go
C#
01/Licensing models
The licensing logic you don't want in your app. One API shape for every model.
Pick the access model your customer needs, then wire the matching requests into your app.
Node-locked desktop apps
Issue a key, activate it against a stable hostId, and release the seat when a customer moves machines.
- 01POST /key
- 02POST /key/activate
- 03POST /key/deactivate
Floating concurrent seats
Lease concurrent access, extend the session with signed heartbeats, and check the seat back in on shutdown.
- 01POST /key/checkout
- 02POST /key/heartbeat
- 03POST /key/checkin
Air-gapped customers
Generate a signed offline license file for a hardware fingerprint and verify the Ed25519 JWT locally.
- 01POST /key/sign
- 02Read .lic file
- 03Verify with public key
02/Trust model
License decisions your app can defend.
Licensing is security-sensitive infrastructure: scoped keys, signed offline files, nonce-rotated floating sessions, and encrypted storage.
01
Scoped API keys
Use admin keys for backend management, client keys for activation and floating sessions, and read-only keys for monitoring.
02
Signed offline files
Offline licenses are Ed25519-signed JWTs. The SDKs' verifyOfflineLicense checks the signature, product ID, machine code and expiry locally.
03
Floating session hardening
Checkout returns a sessionSecret and nextNonce. Heartbeats and check-ins use HMAC-SHA256 signatures with nonce rotation.
04
Encrypted transport and storage
TLS for all traffic, end to end. Stored license keys are encrypted with AES-256-GCM and looked up by a SHA-256 hash, and the database and servers are encrypted at rest.
Passwordless OTP
Six-digit email codes with a 10-minute expiry.
Your slug is the key
Customers sign in with your team slug. Nothing to distribute.
Fewer support tickets
They check devices and release seats themselves.
04/Pricing
Start free. Scale when licenses matter.
“Keymint makes licensing straightforward and seamless. Excellent dashboard, reliable developer API, and responsive support.”
Free
$0
25 Licenses · 1 Product · 3 Team Members
Get Started FreeStartupPopular
$49/month
1,000 Licenses · 10 Products · 10 Team Members
Choose StartupStandard
$149/month
5,000 Licenses · ∞ Products · 20 Team Members
Choose Standard
Need more scale or custom terms?
Enterprise: higher license volumes, dedicated support, custom integrations, and volume pricing.
05/FAQ
Before you wire it in.
What is Keymint?
Keymint is a software licensing API. It issues license keys, binds them to devices, leases floating seats, and signs offline license files, with a vendor dashboard and a customer portal on top.
What apps can use Keymint?
Any app that can call a REST API can integrate Keymint, including desktop apps, Electron and Tauri apps, CLI tools, plugins, B2B software, SaaS feature gates, and server-side services.
Which SDKs are official?
Keymint has official SDKs for Node.js/TypeScript, Python, Go, and C#/.NET. You can also use the REST API directly from any HTTP client.
How does node-locking work?
Create a key with allowedHosts when you want to restrict devices, then call POST /key/activate with a stable hostId from the app. Hosts that aren't in the list are rejected with a 401 response.
How do floating licenses work?
The app calls POST /key/checkout to lease a seat, POST /key/heartbeat to extend it with a signed nonce, and POST /key/checkin to release the seat on shutdown.
Can licenses work offline?
Yes. Keymint can generate signed .lic files as Ed25519 JWTs. Your app verifies the license locally using trusted public keys and the key ID in the token header.
Can I manage trials and subscriptions?
Yes. Keymint supports trial metadata, expiration dates, subscription-style licenses, perpetual licenses, node-locked licenses, and floating license sessions.
How does Keymint pricing work?
The free tier covers up to 25 active licenses with no credit card. Paid plans start at $49/month (Startup) and scale with your usage.
What are the rate limits?
Free plans allow 30 requests per minute, Startup allows 100, and Standard allows 1,000 requests per minute.
Is Keymint secure?
Keymint uses digital signatures, encrypted transport, scoped API keys, AES-256-GCM encryption for stored license keys, and offline signing keys encrypted with a managed key service.
Add licensing before it slows you down.
Create a vendor account, define your first product, and activate your first license key for free.