minmaxkey
licensing & activation, minus the plumbing

License the software you sell, in an afternoon.

Issue keys, lock them to machines, revoke or reset in one click. One container, offline-capable, free to self-host.

~65 MB RAM · ~250 MB image · offline-first · SQLite built in

free to use · v1.0.0-rc · star on github · sponsor

deploy → issue → activate
# deploy
$ docker run -d -p 8080:8080 \
    -v ./data:/data \
    -e MMK_ADMIN_TOKEN=... \
    ghcr.io/maxing-tech/minmaxkey:1.0.0-rc

# issue a key
$ mmk-admin licenses issue 1 1 --email [email protected]
9TMC-5TS9-0MKQ-VS8A-87Q0

# activate (in your app)
$ mmk activate --key 9TMC-5TS9-0MKQ-VS8A-87Q0
{"status":"active","offline_token":"eyJ..."}
the whole loop

Two directions, one server

── the money loop (server-to-server) ─────────────────────────────

  STRIPE ──checkout──▶ MINMAXKEY ──webhook──▶ YOUR BACKEND
                           │
                 key emailed to buyer


── the runtime (customer's machine) ──────────────────────────────

  YOUR APP ──activate──▶ MINMAXKEY
      ▲                      │
      │     signed token     │
      └──────────────────────┘
      verifies locally · works offline

Webhooks are server-to-server. The SDK runs inside your app. Full walkthrough →

what you get

Everything you need, nothing you don't

✓
Hardware-bound seats

Bind keys to machine fingerprints. Per-type seat limits.

✓
Offline-first tokens

Ed25519-signed JWTs verified locally. No network on launch.

✓
Webhooks

Signed events with retries and a delivery log.

✓
Stripe money loop

Buy → key emailed. Refund → revoked. Subscriptions renew.

✓
3 SDKs + integration kit

Python, TypeScript, Go. Copy-paste recipes for Electron, Tauri, Unity, Godot.

✓
SQLite → Postgres

Zero-config start. One env var to scale up.

honest comparison

MinMaxKey vs keygen.sh

MinMaxKey keygen.sh
runtime ✓ one container, ~65 MB RAM ✗ Rails + Postgres + Redis + workers
setup ✓ docker run, 2 minutes ✗ multi-service orchestration
offline ✓ Ed25519 tokens, built in ✗ enterprise tier only
complexity ✓ 4 concepts, learnable in an afternoon ✗ full platform to administer
pricing ✓ free, self-hosted ✗ per monthly active license

keygen.sh is a good product and an inspiration. We compete on simplicity, footprint, and price — not feature count.

integration kit

Drop-in code for your stack

Copy a file, paste your config, gate your app. Recipes for every major indie stack.

don't want to run a server?

Hosted MinMaxKey is on the way

Same software, run for you, flat price. Until then, self-host free in two minutes.

Deploy it yourself — free