License vs subscription
LevelChat customers ask "where do I see my license?" and the answer depends on how you run it. License and subscription are two different things, governed by two different surfaces in Studio.
The short version
- License = a signed JWT that tells a self-hosted deployment what it is allowed to do (which features, how many concurrent rooms, what storage cap, when it expires). The license is tied to the deployment, not to a customer.
- Subscription = the commercial relationship between a cloud customer and LevelChat. It tracks the plan, seats, invoices, and payment method. The subscription is tied to the customer org, not to a deployment.
If you run LevelChat yourself (self-host), you have a license and you manage it at /license.
If you use LevelChat Cloud, you have a subscription and you manage it at /billing.
Side-by-side
| Concept | License | Subscription |
|---|---|---|
| Who has one | Self-host operators | Cloud customers |
| What it grants | Runtime entitlements (rooms, features, caps) | A plan + included usage + payment terms |
| Where it lives | Signed JWT in LEVELCHAT_LICENSE env var | Stripe / customer portal, mirrored in admin-api |
| Where you see it | Studio → /license (self-host only) | Studio → /billing |
| Where you change it | Re-issue from LevelChat licensing | Self-serve plan switch in /billing |
| Tied to | A deployment fingerprint (cluster + machine) | An org + Stripe customer |
| Issued by | LevelChat license-mint service (Ed25519 signed) | Stripe + admin-api on subscription create / update |
| What expires | The signed JWT (exp claim, daily heartbeat) | The current billing period (auto-renews) |
| If it expires | The deployment downgrades to Community caps | Stripe retries the card; otherwise the plan lapses |
Why /license is empty (or hidden) for cloud customers
On LevelChat Cloud, the deployment license belongs to LevelChat (the vendor). It is the license under which the cloud cluster runs — the tier, kid, fingerprint, and signed feature list of the vendor's own deployment. Surfacing that to a tenant customer would be an info disclosure: it would expose internal capacity and operator infrastructure that has nothing to do with the customer's relationship.
So on cloud, /license either redirects you to /billing (Studio's customer view) or 404s at the edge (the operator surface). What you actually want is your subscription, which lives at /billing.
On self-host, by contrast, you ARE the operator — the deployment is yours, the license is yours, and /license is the right place to verify that the cluster you're running has the entitlements you paid for.
Where to go next
- Cloud: open
/billingin Studio to see your plan, usage, invoices, and payment method. - Self-host: open
/licensein Studio to see your tier, expiry, entitlement caps, and fingerprint. See the self-host licensing guide for how to install or rotate a license. - Pricing model: see the pricing page for cloud plans and self-host tiers.