Software Licensing
Sell and protect your software with license keys
BillingServ adds software licensing to your billing. Generate a license key the moment a customer pays, activate it on their devices and servers, validate it online or offline, and handle reissues, activation limits and abuse from one place. No separate licensing server to build or maintain.
License key generation · Online & offline validation · 14-day free trial
Licensing bolted on after the sale is where things break
Most software teams either build a licensing server they then have to run forever, or track keys in a spreadsheet. Both leak revenue and create support work. BillingServ ties the license to the invoice instead.
Keys tracked by hand
Generating, sending and revoking keys in a spreadsheet does not scale. Mistakes cost you sales and create angry support tickets.
Licensing and billing drift apart
When a customer stops paying, the key often keeps working. Licensing and payment need to move together, not in separate systems.
Key sharing and abuse
One key ends up on ten machines. Without activation limits and install locking, a single sale can serve a whole office for free.
Build cost you carry forever
A home-grown licensing server is weeks of work, then ongoing maintenance and security patches. That is time your team could spend on the product.
No self-service
Every deactivation, reissue or new-machine request lands in your inbox because customers have no way to manage their own licenses.
Offline installs left out
Air-gapped and on-premise customers cannot call home on every launch, so a check-only licensing model shuts them out entirely.
License keys generated automatically on payment
Turn licensing on for a product and BillingServ generates a unique key the moment the invoice is paid. No manual step, no key pool to top up, no duplicates.
Keys come in readable groups of five characters. The alphabet leaves out characters people confuse, like 0 and O or 1, I and L, so keys are easy to read out and type in. Set your own prefix to brand the key, and choose a length from 12 to 64 characters to match how strict you want to be.
- ACME-7K9MP-Q3XRT-N8WYH
- Custom prefix
- Key length 12 to 64
- Activation limit
- Unambiguous characters
Prefix, length and activation limit are set per product. The key format shown is illustrative.
From payment to activation, automatically
Four steps from selling a license to your software validating it in the field. You configure the product once, BillingServ handles the rest.
Turn on licensing for a product
Set the activation limit, key prefix and length, and choose whether server installs lock to a domain, path or IP. Save it once against the package.
Customer buys, key is issued
When the invoice is paid, BillingServ generates a unique license key and attaches it to the order. Renewals reuse the same entitlement, so keys stay stable.
Software activates the key
Your app calls the activate endpoint with the key and machine details. BillingServ records the device or server, enforces the activation limit and confirms the install.
Validate online or offline
Your software validates the key over the API as it runs, or caches a signed offline token for installs that cannot always call home.
Validate keys online, or offline when there is no connection
Some software runs connected, some runs air-gapped. BillingServ handles both so you do not have to choose one licensing model and lock out half your customers.
Online validation is a live check against BillingServ, the equivalent of a remote key lookup, returning the current status and how many activations are in use. For offline installs, the validate call also returns a signed token and a public key, so your software can confirm the license locally without calling home. You set how long an offline token stays valid, from one minute up to 24 hours.
- Live status check
- Activation count
- Heartbeat ping
- Signed token
- Public key verify
- 1 min to 24 hr window
Offline tokens are cryptographically signed, so your software can trust them without a live connection.
Everything you need to license software
Key generation, activation, validation and lifecycle control, built for real products rather than a demo.
License key generation
Unique keys created on payment, with your prefix, your chosen length and an unambiguous character set that is easy to read and type.
Automatic activation
Activate a key against a device or server through the API. Idempotent, so repeat calls from the same machine just refresh the record.
License reissues
Reissue a license to move it to new hardware. Set a maximum number of reissues per license to keep control and catch sharing.
Activation limits
Cap how many devices or servers a key runs on, or leave it unlimited. Customers free a slot by deactivating an old machine.
Install locking
Lock server licenses to a domain, an installation path or an IP address, so a key only runs where it was activated.
Device and server keys
Track machine details like device name, operating system, installation path and application version against every activation.
Suspend, expire and revoke
Move a license through active, reissued, suspended, expired and revoked. Suspension and expiry can also follow the billing on their own.
Public domain check
A hosted page lets anyone confirm whether a given domain holds a valid license, useful for partners and resellers.
Licensing report
See every entitlement, active install and license that needs attention in one report, filtered by status and order.
Stop key sharing before it costs you sales
Piracy is rarely dramatic. It is usually one key quietly running on more machines than it was sold for. BillingServ gives you the controls to catch that.
Set an activation limit so a key only runs on the number of machines it was bought for. Lock server installs to a domain, path or IP so a copied key will not validate elsewhere. Cap reissues so a customer cannot keep moving a single license around a fleet. Every activation records the machine, so unusual patterns are easy to spot.
- Activation limits
- Maximum reissues
- Domain locking
- Path locking
- IP locking
- Per-machine records
Domain and installation-path locking are on by default for server licenses. IP locking is available when you need it.
Give customers self-service access to their licenses
The fastest way to cut licensing support tickets is to let customers help themselves. When you enable it, they get a clear view of their license without emailing you.
Customers see their key, its status and every machine it is active on. They can deactivate an old device to free up a slot, and reissue a single-machine license within the limit you set. You still own the sensitive actions, so they get convenience without the risk.
- View their key
- See active machines
- Deactivate a device
- Reissue within limits
- Suspend
- Expire
- Revoke
- Edit bindings
Self-service is optional per product. Turn it off and every action stays with your team.
Licenses that know when the invoice is paid
This is the part a standalone licensing tool cannot do. Because licensing lives inside BillingServ, the license state follows the money without anyone stepping in.
Overdue suspends the license
If an invoice goes overdue or the order is suspended, the license suspends and stops validating. Pay the invoice and it resumes.
Renewals keep keys stable
A renewal reuses the same entitlement, so recurring customers keep their key and activations across billing periods.
Cancellation expires the key
Cancel or terminate the order and the license expires automatically. No leftover keys still working after a customer has left.
A simple licensing API to drop into your software
Three endpoints cover the whole lifecycle. Your software activates a key, validates it while it runs and deactivates it when a machine is retired.
Send the details you care about with each call: domain, installation path, device name, operating system and application version. The validate call returns the live status and, for offline use, a signed token and public key so your software can verify a license without calling home every launch.
- POST /license/activate
- POST /license/validate
- POST /license/deactivate
- Status
- Activations used and limit
- Offline token & public key
The license key itself is the credential, so integration is copy and paste for any language that can make an HTTP request.
Build a licensing server, or use one that is already running
You can write and host your own licensing system, or use the one built into BillingServ. Here is the trade-off.
Full control, full upkeep
You own every line of the licensing stack.
- Key generation, storage and validation are yours
- Weeks of build, then patches and uptime forever
- You still have to connect it to your billing
- Suits teams with spare engineering time
Licensing tied to billing, ready now
Turn it on per product and start issuing keys.
- Key generation, activation and validation included
- Licenses follow payment, renewals and cancellations
- Online and offline validation out of the box
- Nothing to host, patch or keep online
Pair a license key with the download itself
If you sell software as a download, BillingServ can deliver the files and issue the license key from the same purchase. Secure download links, download limits and expiring links, with the license attached automatically.
Frequently asked questions
License keys, activation, validation and how licensing works alongside your billing.
What is software licensing?
Software licensing is how you control who can use your software and on how many machines. BillingServ generates a license key when a customer pays, activates it on their devices or servers, validates it while the software runs, and suspends it if the invoice goes unpaid. It runs as part of your billing, so licensing and payment stay in sync.
How are license keys generated?
BillingServ generates a unique key automatically on payment, formatted in groups of five characters. You can set your own prefix and a key length between 12 and 64 characters. The alphabet leaves out ambiguous characters like 0, O, 1, I and L so keys are easy to read and type.
Can I limit how many activations a license allows?
Yes. Set an activation limit per product, or leave it blank for unlimited. Each device or server counts as one activation. Customers can deactivate an old machine to free up a slot, and you can cap the number of reissues to stop key sharing and abuse.
What is the difference between online and offline validation?
Online validation checks the key against BillingServ over the API, which is the equivalent of a remote key check. Offline validation issues a short-lived signed token so your software can confirm the license without a live connection, which suits air-gapped or intermittently connected installs. You choose how long an offline token stays valid, from one minute up to 24 hours.
Can customers manage their own licenses?
Yes, when you enable it. Customers see their license and activations in a self-service portal, can deactivate machines to free up slots, and can reissue a single-machine license within the reissue limit you set. Everything else stays under your control.
What happens to a license when an invoice is unpaid?
The license status follows the billing. If an invoice goes overdue or the order is suspended, the license suspends automatically and stops validating. If the order is cancelled or terminated, the license expires. When the customer pays, access resumes, so you do not have to revoke keys by hand.
Is there a licensing API?
Yes. Your software talks to a simple REST API to activate, validate and deactivate a license, sending details like the domain, installation path, device name, operating system and application version. The validate call can also return a signed offline token and public key so your software can verify a license without calling home every time.
Generate your first license key today
Add software licensing to your billing without building a licensing server. Generate keys, automate activation, validate online or offline and let your customers self-serve. Start free and see it working on your own product.
14-day free trial. No credit card required.