LevelChatLevelChatDocs
Licensing

Guides

Licensing

Plans, entitlements, on-prem licenses.

LevelChat has three relevant concepts:

  • Plan — the cloud SKU you subscribed to (free, pro, scale, business, enterprise).
  • Entitlements — the runtime view of what your plan allows (max rooms, recording on/off, AI features, etc.). Cached per project, sub-50 ms p99 to read.
  • License — only relevant for on-prem. A cross-stack compact JWT issued by the LevelChat license service that every runtime in a self-hosted stack verifies against its public key.

Reading entitlements

~
curl $LC_API_URL/v1/license/entitlements?project_id=proj_01HF... \
  -H "Authorization: Bearer lc_pk_xxx.yyy"
JSON
{
  "plan": "pro",
  "max_concurrent_rooms": 50,
  "max_participants_per_room": 50,
  "max_viewers_per_broadcast": 500,
  "recording_enabled": true,
  "e2ee_enabled": false,
  "ai_enabled": false,
  "meters": ["participant_minutes", "viewer_hours", "recording_gb_stored"]
}

When a quota is hit, the gateway returns 402 Payment Required with a Problem Details body — see the API reference. Surface this clearly in your UI; don't retry.

On-prem licensing

For self-host, the license is a cross-stack compact JWT issued by license-svc — every runtime in the self-host stack (Go, Rust, Node, and Elixir) accepts the same token. It is bound to the subscribing org and a deployment fingerprint.

You do not mint the license yourself. Self-host is a recurring per-server monthly subscription purchased in the Studio Console:

  1. Sign in to the Studio Console at app.levelchat.io/console.
  2. Open the Billing page, pick a server count, and subscribe via Stripe.
  3. The issued license token appears on the Billing page with a copy button — and is also emailed.

Install the token with the LevelChat installer CLI — choose Licensed in the Install flow, or run the CLI's Activate license action on an existing Community install. The CLI writes it to the LEVELCHAT_LICENSE env var for you. See Self-host install.

Revocation propagates through the daily license heartbeat: a revoked or cancelled subscription flips the deployment to Community caps on its next gate check. See License heartbeat & air-gap renewal for the full staleness ladder and the air-gapped renewal procedure.

Licensing — LevelChat Docs