License management
you actually own.

Stop paying per-seat fees to manage your own software licenses. Keygate is an open-source license server you deploy on your infrastructure. Keys, activations, usage metering and payments, all in one place.

$docker compose up -d
app.keygate.app
Keygate admin dashboard showing license management, usage statistics and customer overview

Built for real licensing workflows

Not a toy project. Keygate handles the edge cases that break homegrown solutions: concurrent activations, atomic quota enforcement, webhook idempotency, payment lifecycle management.

Licensing

Every model, one API

Subscription, perpetual, trial and floating, pick what fits. Activation limits per device or user. Grace periods. Keys hashed with SHA-256 and encrypted at rest. Ed25519-signed tokens your app verifies offline with a public key, so a copy of your binary cannot mint its own. Full lifecycle: create, activate, verify, suspend, revoke.

  • 4 license models
  • Device & user activation limits
  • Ed25519 tokens verified offline
POST /api/v1/license/verify
Content-Type: application/json

{
  "license_key": "KG-LE376JPT-MJHHUNGZ-UCZJFD47-6E8RA6AL",
  "identifier": "device-abc-123"
}

→ 200 OK
{
  "success": true,
  "data": {
    "status": "active",
    "plan_name": "Professional",
    "grace_days": 7,
    "token": "eyJsaWQiOiI1YTA4YjJiMC0x..."
  }
}
POST /api/v1/license/usage
{
  "license_key": "KG-LE376JPT-...",
  "feature": "api_calls",
  "quantity": 1
}

→ 200 OK
{
  "success": true,
  "data": {
    "accepted": true,
    "used": 9847,
    "limit": 10000,
    "remaining": 153,
    "period": "monthly",
    "period_key": "2026-09"
  }
}
Metering

Atomic usage tracking

Track API calls, storage, bandwidth, or define your own metrics. Quotas are enforced atomically at the database level with SELECT FOR UPDATE, so two concurrent requests never both pass a limit check.

  • Custom metrics
  • Race-condition-proof
  • Auto-reset periods
Payments

Stripe & PayPal, end-to-end

Customer pays → license auto-provisions. Payment fails → dunning emails fire. Supports checkout, plan changes with proration, cancellations, refunds, and billing portal. You wire it once, it runs itself.

  • Auto-provisioning
  • Dunning & lifecycle
  • Upgrade / downgrade
1
checkout.session.completed

→ Create license + subscription

2
invoice.payment_failed

→ Start dunning sequence

3
customer.subscription.deleted

→ Revoke license, notify user

4
charge.refunded

→ Revoke license, credit customer

Admin

One dashboard for everything

Products, plans, customers, licenses, API keys, webhooks, analytics, audit logs, team management, email templates, all managed from a single admin panel with search, filters, and CSV/JSON export.

Running in three steps

One binary and one database. No account, no API key, nothing to sign up for.

  1. 1

    Deploy

    Postgres and the server come up together. The setup wizard takes it from there.

    curl -O https://raw.githubusercontent.com/tabloy/keygate/main/docker-compose.yml
    docker compose up -d
  2. 2

    Create a product

    A product, a plan, and your first license, from the dashboard in about a minute.

    # In the setup wizard: create a product, then a plan,
    # then issue a license from the dashboard.
    open http://localhost:9000
  3. 3

    Verify a license

    The same call your app makes. It answers with the license state and a signed token you can check offline.

    curl -X POST http://localhost:9000/api/v1/license/verify \
      -H 'Content-Type: application/json' \
      -d '{"license_key":"KG-XXXX-XXXX-XXXX-XXXX","identifier":"device-1"}'

Keygate vs. the rest

Feature comparison with commercial license management platforms.

FeatureKeygateKeygenCryptlexLicenseSpring
Open Source~
Self-Hosted
Floating Licenses
Usage Metering
Built-in Payments
Customer Portal
Webhooks
Audit Logs
Multi-language

Compiled from the vendors’ public documentation and pricing pages, September 2026. Found something out of date? Open an issue.

What it costs

Keygate is free to use, commercially included. License the software you sell, or run it for your own customers, and pay nothing. There is no paid tier of the software itself.

Self hosted

Free

The whole thing, under the AGPL v3. Two conditions: keep the Powered by Keygate line in the interface, and publish your changes if you modify it and let others use it.

  • Commercial use included, no license or seat count
  • Fork and modify as you like
  • Every feature, nothing held back for a paid edition

Commercial license

By agreement

This lifts those two conditions. Everyday commercial use does not need it; white labelling or keeping your changes closed does.

  • Take the Powered by Keygate line out
  • Keep your changes private while serving others
  • Resell Keygate under your own terms
Ask about a commercial license

Open source license management for any software business

Whether you sell desktop apps, SaaS subscriptions, API access or enterprise software, Keygate handles license keys, activations, usage limits, and recurring payments in one self-hosted platform.