Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Example Machine Activation

This is an example of a typical machine activation flow. You may of course choose to implement a different flow if required - this only serves as an example implementation.

Running the example

First up, configure a few environment variables:

# A Keygen activation token for the given license. You can generate an
# activation token per-license via the API or your admin dashboard.

# Your Keygen account ID. Find yours at

You can either run each line above within your terminal session before starting the app, or you can add the above contents to your ~/.bashrc file and then run source ~/.bashrc after saving the file.

Next, install dependencies with yarn:


Configuring a license policy

Visit your dashboard and create a new policy with the following attributes:

  requireFingerprintScope: true,
  maxMachines: 1,
  concurrent: false,
  floating: false,
  strict: true

You can leave all other attributes to their defaults, but feel free to modify them if needed for your particular licensing model, e.g. change the maxMachines limit, set it to floating = true, etc.

Creating an activation token

In order to allow the license to perform a machine activation, you will need to create a new activation token. Activation tokens allow a limited number of machine activations for a single license, which make them ideal for performing activations from a client-side environment.

Alternatively, you could use authenticate as a user and use that token to perform the activation, given the user has permission to manage the current license.

And lastly, in server-side environments, you could utilize a product token to authenticate API requests. Note: admin and product tokens should never be used within client-side code, as they allow full management of your Keygen account.

Activating/deactivating a machine

To perform a machine activation or a deactivation, run the script and supply a valid license key and an arbitrary machine fingerprint when prompted:

yarn start

If the current machine has already been activated, you will be prompted to deactivate it.


Reach out at if you have any questions or concerns!


An example implementation of a typical machine activation flow using Keygen





No releases published


No packages published