Sell software licenses, the modern way.
InnoKEYS is the all-in-one platform for developers and vendors to generate, sell, deliver and verify software licenses β with a built-in webshop, recurring billing and a cryptographically signed API.
Demo login is pre-filled for you Β· resets daily Β· no credit card, no e-mails sent.
Everything to run a license business β payments, delivery and verification included
From license key to paid customer β without the plumbing
Stop stitching together spreadsheets, payment links and home-grown key checks. InnoKEYS handles the entire lifecycle so you can focus on building great software.
Generate & manage keys
Create licenses one by one or in bulk, in your own code format. Track status, activations, seats, expiry and the last device that used each key.
Sell & get paid
Turn on your branded webshop, connect Mollie, Stripe, PayPal or Moneybird, and sell one-time or recurring licenses with discounts and per-country VAT.
Verify anywhere
One API call tells your software whether a license is valid β and every answer is Ed25519-signed, so it can be trusted even offline.
See your whole license business at a glance
Live totals for licenses, revenue and API traffic, with year-over-year comparison. Spot what's active, what's expiring and where the money comes from β instantly.
- Real-time statisticsTotal, active and expired licenses, revenue and average API response time.
- Revenue insightsDaily and weekly breakdowns with 2026-vs-2025 comparison.
- Recent activityLatest webshop orders and API calls, always one click away.
Every license, exactly the way you want it
Group licenses with colored labels, filter by status or type, search customers, and open any license to manage activations, allowed hostnames, seats and notes with a full audit trail.
- Bulk & custom formatsCreate hundreds at once with your own prefix, length and dash pattern.
- Labels & filtersDrag colored labels onto licenses and filter your whole catalog.
- Export & auditCSV export and a complete change history for every record.
Sell licenses online in minutes
Every administration gets a branded storefront. Publish your license types as products, take payments, and deliver keys and downloads automatically by e-mail β no separate website needed.
- One-time & subscriptionsSell perpetual keys or monthly/yearly plans with automatic renewal.
- Discounts & VATPercentage or fixed codes, country rules and automatic Moneybird invoices.
- Multilingual checkoutCustomers order in their own language with localized e-mails.
Verify a license in one call β and trust the answer
Call the public verify endpoint from any language. Every response for a real license is signed with Ed25519, so your app can confirm the answer truly came from InnoKEYS β even without a network.
const res = await fetch('https://app.innokeys.app/licenses/verify', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ code: licenseCode, hostname: os.hostname() }) }); const data = await res.json(); // data.valid, data.signature (Ed25519), data.downloadUrls if (data.valid) unlock(app);
$ch = curl_init('https://app.innokeys.app/licenses/verify'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_HTTPHEADER => ['Content-Type: application/json'], CURLOPT_POSTFIELDS => json_encode(['code' => $code]), CURLOPT_RETURNTRANSFER => true, ]); $data = json_decode(curl_exec($ch), true); if ($data['valid']) unlock();
import requests, socket r = requests.post('https://app.innokeys.app/licenses/verify', json={'code': code, 'hostname': socket.gethostname()}) data = r.json() # data['valid'], data['signature'] (Ed25519) if data['valid']: unlock(app)
One place for everything licensing
A deep, thoughtfully designed feature set β without the enterprise bloat.
License types
Reusable product templates: price, interval, activations, seats, grace periods and stock.
Activations & seats
Limit installs and concurrent users, with offline grace and post-expiry windows.
Hostname binding
Lock keys to devices with an allow-list or auto-learn, and see the last device used.
Domain locking
Bind SaaS and web licenses to a domain, validated by Origin/Referer.
Administrations
Run multiple brands or clients, each isolated with its own data and branding.
Software delivery
Ship installers and files with versioning and signed, time-limited download links.
Discount codes
Percentage or fixed, usage limits, validity windows and per-product rules.
Terms & e-mail
Versioned, multilingual terms and shortcode-driven e-mail templates.
Live in four steps
Create a license type
Set the price, validity, activations, seats and code format once β reuse it forever.
Generate or sell keys
Create licenses in bulk, or let the webshop create them automatically on every order.
Deliver automatically
Customers receive their key and downloads by e-mail, in their own language.
Verify in your app
Add one signed API call to unlock features and enforce seats, devices and expiry.
Any licensing model you can think of
Perpetual, subscription, node-locked, floating seats, domain-bound or email-bound cryptographic licenses β InnoKEYS supports them all.
Built to be trusted
Serious protection for your revenue and your customers' data β by design, not as an afterthought.
Try the live demo administration
Log in with the pre-filled demo account and click around a fully seeded license business. It resets daily, so feel free to break things.