Licensing your customers can’t spoof.

Licenses, sign-in, builds and customers for desktop software. Every successful sign-in comes back signed with your app’s Ed25519 key, so your client checks each login before it trusts a single field.

Start Free Read the Docs

Free to start · No credit card · SDKs for C/C++ and C#

A cloned server can’t forge a login.

Each app gets its own Ed25519 key pair. The private key signs every successful sign-in and stays encrypted on our side. Your client checks the signature with the public key it ships with, so a proxy or a copied server can’t say yes on our behalf.

The SDKs do the checking, keep the session alive and handle revoke, kill and update signals.

// POST /api/v1/auth answered, signed with your app key
{
  "ok": true,
  "sd": "v=1|ts=1760412600|nonce=a1b2|hwid=9f3c…|ok=1|
        username=|name=Pro|expires=1790000000|latest_version=2.4.1",
  "sig": "MEUCIQD9nQx2r8…Jb7bQ=="
}

sentry_verify(pubkey, sd, sig)   // → true
Verified. Your app can read the fields.
# staff · Vanta Labs
OP
ops used /generate
user @nyxlength 30dproduct Vanta Loader
S
Sentry Bot
Your Vanta Loader license
KeyMPRRU-ZX8KR-R8Q4T-9MCL6
Plan30 days from first use
For@nyx
Key sent to @nyx by DM Customer role given Owner notified

The shared Sentry bot, with a nickname of your choice in your server.

Mint keys without leaving Discord.

Your staff run a slash command in your server. Sentry mints a key tied to that member, gives them the customer role, sends the key by DM and tells you who sold it.

/generateMint a key for a member, with a length, a plan name and an optional trial.
/keyLook up, reset the HWID, disable, extend or delete a key, by its text or by @user.
/statsTotal, active and bound keys, plus sign-ins in the last 24 hours.

Role gates decide who can mint. One bot can serve several of your products; its commands ask which one.

Everything after the sale, in one dashboard.

Licenses, customers, devices, builds, webhooks, analytics and your team, managed from one place.

Seats and devices

Limit each key to a set number of machines. A machine binds by HWID the first time it signs in, and you can revoke any one of them.

Live control

Push revoke, kill and update signals to running clients over a long-poll channel.

Analytics

Sign-in volume, version adoption, operating systems and where your users are.

Software delivery

Upload a build in the dashboard. The SDK checks its hash and signature when it downloads it.

Teams and audit

Invite teammates as admin, support or read-only. Every change lands in the audit log.

Webhooks and a management API

Get an HMAC-signed POST when a key is minted or redeemed, an unknown key is tried, a ban blocks a key sign-in or a build is downloaded. Scoped tokens let your own backend issue keys or ban a user.

key.createkey.redeemauth.failban.hitfile.download

Three steps to integrate.

  1. 1

    Create an app

    Create an app in the dashboard. It gets a signing key pair; copy the public key into your client.

  2. 2

    Issue license keys

    Issue keys with seats, an expiry and tags, one at a time or from a template, in the dashboard or from Discord.

  3. 3

    Verify in your client

    Call auth from the SDK. It verifies the response before your app reads any field.

Follow the Quickstart

Safe by default.

Successful sign-ins come back signed with your app’s key, and values reflected into the signed string are allowlisted. The protections below are on without any setup.

No field injection
Values reflected into the signed string are allowlisted at input and stripped of delimiters.
One key, one account
Redemption is an atomic conditional update backed by a database uniqueness constraint.
SSRF-guarded webhooks
Private, loopback, link-local and metadata targets are blocked when a webhook is created and again on delivery.
Encrypted key vault
Each app’s private seed is AES-256-GCM encrypted under a master key. Only public keys ever leave it.
CSRF and secure defaults
Origin-checked changes, SameSite cookies, secure cookies and closed sign-up by default.
Abuse limits everywhere
Rate limits per client IP and per customer, per-app storage quotas, and a hard cap on every list endpoint.

Plans and limits.

Every plan includes the dashboard, the APIs, the SDKs and signed authentication. Upgrade when you need higher limits or your own deployment.

Tester

$0/mo

For evaluating the API.

  • 1 app, 25 active keys
  • Signed auth, seats and devices
  • Support requests from the dashboard
Get Started

Pro

Most Popular
$35/mo

For products in production.

  • 25 apps, 10,000 active keys
  • Webhooks, analytics and live sessions
  • Team roles and audit log
  • Priority support requests
Get Pro

Enterprise

Custom

For scale or running it on your own servers.

  • Higher limits
  • Self-hosted or dedicated deployment
  • Priority support and onboarding
Contact Sales

Ready to integrate?

Create an app, issue a license and sign in your first client in a few minutes.

Create an Account Read the Docs