minmaxkey
licensing & activation, minus the plumbing

License the software you sell, in an afternoon.

One Docker container. Two minutes to deploy. Works offline. Keys, machines, seats — and webhooks when you need them.

deploy → issue → activate
$ docker run -d -p 8080:8080 \
    -v ./data:/data \
    -e MMK_ADMIN_TOKEN=... \
    -e MMK_ADMIN_PASSWORD=... \
    -e MMK_SECRET_KEY=... \
    minmaxkey

$ curl -X POST localhost:8080/v1/products/1/licenses \
    -H "X-MinMax-Admin-Token: ..." -H "Content-Type: application/json" \
    -d '{"policy_id": 1}'
9TMC-5TS9-0MKQ-VS8A-87Q0
image not published yet — build from the repo, see deploy docs
why minmaxkey

Built for the way indie devs actually ship

One container, ~100 MB

SQLite inside, zero external services. No Rails, no Redis, no worker queues. Runs on the cheapest VPS and survives a reboot.

Works offline

Every activation returns an Ed25519-signed token. Your app verifies it locally — no network call on every launch, and customers aren't locked out when your server blinks.

Small by design

Keys, machines, seats, webhooks. That's the core feature list. If you need enterprise compliance, Keygen is a fine product — it's just not this one.

what you get
01

Hardware-bound activation

Bind a key to a machine fingerprint with per-policy seat limits. Re-activating the same machine reuses its seat.

02

Webhooks for the money loop

Signed events on license created, activated, revoked, expired. Connect your store, revoke on refunds, audit everything.

03

A dashboard, not a CLI-and-a-prayer

Issue keys, revoke licenses, watch devices — from a small web UI at /admin. First license in three steps.

04

A real SDK, not a docs page

Machine fingerprint, activation, offline verification, auto-revalidating token cache. Python for Python stacks, a pure-Go single binary for everyone else.

05

SQLite out of the box, Postgres when you grow

Zero config to start. One env var later if you outgrow it.

06

No monthly per-license fees

Self-hosted is free and open source. Your success shouldn't cost you per seat.

honest comparison

Why not just run Keygen?

MinMaxKey Keygen self-hosted
runtime one container, ~100 MB RAM Rails + Postgres + Redis + workers
setup docker run, 2 minutes multi-service orchestration
offline Ed25519 tokens, built in yes (enterprise features)
complexity products, policies, licenses, seats full license management platform
pricing free, MIT, self-hosted SaaS per monthly active license

Keygen is a genuinely good product and the inspiration for this one. We're not competing on features — we're competing on everything around the features: simplicity, footprint, and price.

don't want to run a server?

Hosted MinMaxKey is on the way

The same software, run for you, with a flat price instead of per-license billing. Until then, the self-hosted version is free and takes two minutes to set up.

Deploy it yourself — free