The self-hosted edition of Titan gives you the same WhatsApp Business API capabilities as the managed SaaS platform, but deployed entirely on infrastructure you own and operate. Your data stays in your environment, you control when updates happen, and you choose the deployment model that fits your team.Documentation Index
Fetch the complete documentation index at: https://docs.usetitan.app/llms.txt
Use this file to discover all available pages before exploring further.
How self-hosting differs from SaaS
| SaaS | Self-hosted | |
|---|---|---|
| Tenancy | Multi-tenant | Single-tenant — your data only |
| Authentication | JWT + API keys | Master key + API keys |
| Admin API | Not available | Full admin endpoints |
| Licensing | Subscription | Offline binary license |
| Updates | Automatic | Manual — you control the cadence |
| Infrastructure | Titan-managed cloud | Your servers or cloud account |
License key
Self-hosting requires a license key. Contact Titan to obtain one before you deploy. Your license is an offline binary file signed with Ed25519 and encrypted with AES-256-GCM. It encodes:- Session limit — the maximum number of concurrent WhatsApp sessions your instance may run
- Expiry date — after expiry, a configurable grace period keeps the instance running while you renew
- Platform restriction — optionally locked to AWS, GCP, Azure, Docker, Kubernetes, or unrestricted
- AWS account ID binding — optionally tied to a specific AWS account
LICENSE_KEY environment variable.
Authentication model
The self-hosted edition uses a two-layer authentication model:- API keys (
titan_prefix) — used for all standard API requests. You create and manage these through the Admin API. Keys are HMAC-SHA256 signed binary tokens that authenticate in zero database lookups. - Master key — a static bearer token you configure via the
MASTER_KEYenvironment variable. It grants access to the Admin API and should never be exposed publicly.
Deployment options
Docker Compose
Deploy Titan on a single server or local development machine using Docker Compose. The fastest way to get a self-hosted instance running.
Kubernetes
Deploy with the official Helm chart on any Kubernetes cluster. Includes autoscaling, pod disruption budgets, and per-environment overlays.
AWS CloudFormation
One-click stack that provisions EKS, RDS, ElastiCache, and Amazon MQ automatically. Production-ready in approximately 15 minutes.
Terraform
Infrastructure-as-code modules for AWS (ECS, ECR, Amazon MQ) and Oracle Cloud (OKE, VCN, OCIR).
Service architecture
Every deployment — regardless of method — runs these three services:| Service | Role |
|---|---|
| API server | Handles all HTTP requests, authentication, and webhook delivery. Fully stateless — scale horizontally without session affinity. |
| Runner | Manages WhatsApp sessions. Monitors session health and automatically reassigns sessions if a runner pod fails. |
| Media worker | Downloads and decrypts WhatsApp media, uploads to your S3-compatible storage bucket. |
What to read next
Docker Compose deployment
Step-by-step setup guide for Docker Compose.
Kubernetes deployment
Helm chart installation and cluster configuration.
Admin API
Manage API keys and instance settings with the master key.