Skip to content

Licensing

This content is for v0.9.2. Switch to the latest version for up-to-date documentation.

nxusKit Pro features require a valid license token. This guide covers the full lifecycle: authentication, activation, deployment, renewal, and deactivation.

Terminal window
# 1. Authenticate with your nxus.systems account
nxuskit-cli license login
# 2. Activate with your purchase ID (received via email)
nxuskit-cli license activate --key <purchase_id>
# 3. Verify activation
nxuskit-cli license status
# 4. Use Pro features — they just work

The SDK manages three types of tokens:

TokenStoragePurposeExpiryMachine-bound?
Auth~/.config/nxuskit/auth.jsonAuthenticates you with the licensing service30 daysNo
Developer~/.nxuskit/license.tokenAuthorizes Pro features for local developmentSubscription periodYes (up to 3 machines)
DeploymentNXUSKIT_LICENSE_TOKEN env varAuthorizes Pro features in CI/CD and productionNever expiresNo (org-scoped)

Before activating a license, you must authenticate with your nxus.systems account:

Terminal window
nxuskit-cli license login

This opens your browser to the nxus.systems login page. After logging in, enter the code shown in your terminal. The auth token is stored at ~/.config/nxuskit/auth.json and used automatically for subsequent commands.

Check auth status:

Terminal window
nxuskit-cli license status

With authentication complete, activate your license:

Terminal window
nxuskit-cli license activate --key <purchase_id>

On success you will see:

Activated. 1/3 machines used.
Token stored: ~/.nxuskit/license.token

The developer token is stored locally and validated on each SDK initialization.

Check your license status at any time:

Terminal window
nxuskit-cli license status

Output includes token type, edition, expiry date, and machine count.

For JSON output (useful in scripts):

Terminal window
nxuskit-cli license status --json

Once activated, Pro features work transparently:

# Python — ZEN decision tables (Pro)
from nxuskit import zen_evaluate
result = zen_evaluate(table_path, input_data)
# Python — Solver (Pro)
from nxuskit import SolverConfig
// Rust — ZEN evaluation (Pro)
let result = nxuskit::zen_evaluate(&table, &input)?;
// Go — Solver (Pro)
session, err := nxuskit.NewSolverSession(config)

To start a 30-day Pro trial, first register for an account and authenticate:

Terminal window
nxuskit-cli license login
nxuskit-cli license activate --trial

The trial provides full Pro-tier access for 30 days.

Deployment tokens are designed for production, CI/CD, and containerized environments. They have no expiry and no machine binding.

Set the deployment token as an environment variable:

Terminal window
export NXUSKIT_LICENSE_TOKEN="<deployment_token>"

This works for:

  • CI/CD pipelines (GitHub Actions, GitLab CI, Jenkins)
  • Docker containers
  • Kubernetes pods
  • Production servers
  • Serverless functions

Deployment tokens include a version ceiling (e.g., 0.9). The token is valid for any SDK version at or below that ceiling:

  • Token ceiling 0.9 → works with v0.9.0, v0.9.1, v0.9.5
  • Token ceiling 0.9 → does NOT work with v0.10.0+

When you upgrade the SDK past the ceiling, you will see:

Deployment token covers up to v0.9.x. Update your deployment token for v0.10+ support.

Organizations with active support subscriptions receive updated deployment tokens when new major.minor versions are released.

The SDK resolves tokens from multiple sources in this precedence order:

PrioritySourceUse Case
1 (highest)NXUSKIT_LICENSE_TOKEN env varCI/CD, containers
2~/.nxuskit/license.token fileLocal development
3 (lowest)API parameterEmbedded / programmatic

The first valid token found is used. This order is the same for static and dynamic linking modes.

Each developer license supports up to 3 machine activations:

Terminal window
# Activate on machine 1
nxuskit-cli license activate --key <purchase_id>
# → Activated. 1/3 machines used.
# Activate on machine 2
nxuskit-cli license activate --key <purchase_id>
# → Activated. 2/3 machines used.
# If all 3 slots are used, deactivate one first:
nxuskit-cli deactivate
# → Deactivated. 2/3 machines used.

When your subscription approaches expiry (7 days out), the SDK logs a once-per-session reminder:

Pro license expires in 7 days. Renew at your account dashboard.

After expiry, Pro features return:

License installation required.

Community features continue working without interruption.

To free a machine activation slot:

Terminal window
nxuskit-cli deactivate

The local token file is removed and the activation count is decremented.

To revoke your auth session:

Terminal window
nxuskit-cli license logout
SymptomCauseFix
License installation required.No valid license token foundRun nxuskit-cli license login, then nxuskit-cli license activate --key <id>
LicenseExpiredSubscription lapsedRenew at your account dashboard
EditionInsufficientCommunity binaryDownload Pro binary
VersionCeilingExceededSDK upgraded past token ceilingRequest updated deployment token
FeatureUnavailableMultiple possible causesRun nxuskit-cli license status for details
Auth token expired30-day auth session endedRun nxuskit-cli license login again