Licence Key API for Indie Apps
Issue, validate and revoke licence keys for desktop apps, plugins and scripts through a small API, with activation limits per machine.
Economics
- Pricing example
- $10 per 100,000 validations (free: 1,000 a month)
- Daily math
- 2 packs a day x $10 = $20/day.
- Target if you hit the daily math
- Target: $550 - $750 / month if the daily math is hit
Audience and urgency
Audience: Indie developers selling desktop apps, CLI tools, plugins and scripts outside app stores.
Urgency: Selling software outside app stores needs licence keys, activation limits and revocation for refunds. Building that properly takes days away from the product.
MVP scope
- ✓ Products and keys: create, bulk issue, revoke, set expiry and activation limit
- ✓ Validate and activate endpoints with machine fingerprints
- ✓ Signed responses (Ed25519) so apps can verify offline for a grace period
- ✓ Webhook receiver to issue keys automatically from a payment provider
- ✓ Dashboard, usage counts, credit packs via Stripe
Omitted features
- - Do NOT build DRM or code obfuscation
- - Do NOT collect more machine data than a hashed fingerprint
- - Do NOT build a storefront
Suggested stack
- Frontend
- Next.js + Tailwind CSS
- Backend or API
- Cloudflare Workers + D1 (or Postgres) for the API; Ed25519 signing
- Payments
- Stripe Checkout (credit packs)
- Hosting
- Cloudflare Workers + Pages
Repository metadata
- Blueprint ID
license-key-api- Category ID
dev_tools- Monetization ID
usage_pack
Day-one distribution
Channels
- Reddit r/SideProject and r/electronjs (follow rules)
- Indie developer communities on X (Twitter)
- dev.to tutorial: adding licence keys to an Electron app
Reddit strategy
Share the free tier and a short guide on offline licence checks.
Cold outreach or directory hook
Offer plugin and script sellers a free first year of validations.
Search keywords
license key api, software licensing for indie developers, electron app license key
One-shot master prompt
Build a "Licence Key API" with Cloudflare Workers and a Next.js dashboard.
Core requirements:
1. Dashboard (magic link): products, keys (format XXXX-XXXX-XXXX-XXXX), bulk issue, revoke, expiry date, max activations, notes; API keys per account.
2. API: POST /v1/validate {key, fingerprint} and POST /v1/activate / deactivate; responses include status, expiry, activations used, and an Ed25519 signature over the payload with a timestamp.
3. Client snippets (Node/Electron, Python) that verify the signature with the public key and allow offline use for a configurable grace period.
4. Webhook endpoint for a payment provider (e.g. Stripe checkout.session.completed or Lemon Squeezy order_created) that issues a key and emails it via Resend.
5. Usage metering per account; free 1,000 validations a month, then Stripe Checkout credit packs ($10 per 100,000).Comparable products
Published 2026-10-08.
Related blueprints
Changelog Page from GitHub ReleasesConnect a repository and get a hosted, branded changelog page, RSS feed and a small 'What's new' widget generated from your GitHub releases.Cron Job Heartbeat MonitorGive each scheduled job a ping URL and get an email or Telegram alert when it fails or does not check in on time.Email Test Inbox for DevelopersPoint a staging app's SMTP settings at a shared test inbox, and preview every caught email's HTML, text, headers and links without any of them reaching real users.Env File Diff & Validator CLICompare .env files across local, staging and production and validate them against a schema in CI, without ever printing secret values.