License Setup
Getting a License Key
1. Visit bext.dev/pricing and choose Pro or Enterprise
2. After purchase, you'll receive a license key starting with BEXT-PRO- or BEXT-ENTERPRISE-
3. Configure it using one of the methods below
Configuration
Option 1: Config file (recommended)
Add a [license] section to your bext.config.toml:
[license]
key = "BEXT-PRO-eyJ0aWVy..."
Option 2: Environment variable
export BEXT_LICENSE_KEY="BEXT-PRO-eyJ0aWVy..."
bext-server run .
If both are set, the environment variable takes precedence. This is useful for keeping keys out of config files in CI/CD.
Option 3: .env file
# .env
BEXT_LICENSE_KEY=BEXT-PRO-eyJ0aWVy...
bext automatically loads .env on startup.
Verifying Your License
Use the license CLI subcommand:
bext-server license
Output:
bext license
Tier: Pro
Org: Acme Corp
Expires: 2027-04-03
Remaining: 365 days
Servers: 5
Features (23):
- adapters
- auto-tls
- cli
- compression
- deploys
- flow-engine
- h3-quic
- http2
- image
- isr-cache
- metrics
- nginx-compat
- otel
- plugins-quickjs
- plugins-nsjail
- plugins-wasm
- realtime
- redis
- seo
- ssr
- transforms
- waf
- websocket-proxy
Startup Behavior
When the server starts, it validates the license key and logs the result:
INFO License: Pro (Acme Corp)
INFO tier="Pro" features=23 "License validated successfully"
If a paid feature is configured but not licensed, you'll see an info message:
INFO WAF configured but requires a Pro license — skipping
INFO Real-time hub configured but requires a Pro license — skipping
The server never refuses to start. Unlicensed features are silently disabled.
How Keys Work
License keys are Ed25519-signed JSON payloads encoded in Base64:
BEXT-PRO-{base64_payload}.{base64_signature}
The payload contains your tier, org, server limit, and expiry date. Verification uses a public key embedded in the binary — no network calls are ever made.
Expiry
- Licenses have an expiry date set at purchase
- After expiry, there is a 14-day grace period where all features remain active
- After the grace period, the server falls back to the Community tier
- Renewal generates a new key — just update your config