Get paid for the software you build. Get back to building.
Paycheck is licensing infrastructure for indie developers. One integration to accept payments and manage licenses. Validate licenses offline—no phone-home required. Built for the honest majority who just want a convenient way to pay and prove it.
Customer pays → Webhook creates license → User activates → JWT stored locally
After activation, the JWT contains everything needed for offline validation: tier, features, expiration—all signed with Ed25519. Your app validates locally. No server contact needed.
- Offline by default — Signed JWTs validate locally, no phone-home
- Email-based recovery — Lost access? Request activation code via email
- Multi-tenant — One server, many customers, isolated keys per project
- Payment providers — Stripe and LemonSqueezy supported
- Device limits — Optional concurrent device tracking
- Audit logging — Every action tracked in separate immutable database
Hosted service — Get started at paycheck.dev. See the quickstart guide.
Self-hosted:
cargo build --release
# Configure master key (required)
openssl rand -base64 32 > master.key
chmod 400 master.key
export PAYCHECK_MASTER_KEY_FILE=./master.key
export BOOTSTRAP_OPERATOR_EMAIL=you@example.com
cargo run --releaseSee the deployment guide for production setup.
- Concepts — Architecture, JWT model, security
- Quickstart — Get up and running with the hosted service
- SDK Integration — TypeScript and Rust SDK guides
- API Reference — Public, operator, and organization endpoints
- Self-Hosted Deployment — Production deployment guide
| SDK | Package | README |
|---|---|---|
| TypeScript | @paycheck/sdk |
sdk/typescript |
| Rust | paycheck-sdk |
sdk/rust |