Everything you need to ship messaging.
A complete WhatsApp infrastructure stack. No black boxes. No surprise costs. No dashboard-first onboarding.
Core
Multi-channel management
Each channel is one logical WhatsApp connection with its own QR, lifecycle, and webhook target. Run as many as your plan allows.
Send any message type
Text, media, replies, reactions, link previews. One consistent wire format across every message type.
Media in and out
Send images, audio, documents, video. Inbound media is cached in memory and proxied through signed URLs.
Server-Sent Events
Subscribe to /v1/events for QR codes and channel state. Same auth as the REST API.
Delivery
Signed webhooks with retries
HMAC-signed envelope, exponential-backoff retries, dead-letter for permanent failures. Inspect every delivery.
Per-host concurrency caps
One slow customer endpoint can't starve the others. Token-bucket gating per destination keeps every tenant's deliveries flowing.
Prometheus metrics
/metrics exposes request latency, queue depth, channel status, and delivery outcomes. Wire it to Grafana.
Audit log
Every customer-visible state change writes an append-only row. Backfill alerts and forensic queries off the same table.
Operations
Per-customer rate limits
Token-bucket limiter keyed by customer. One bad tenant cannot DoS the rest. Configurable per route.
SSRF guard on webhooks
Loopback, RFC1918, link-local, and cloud-metadata IPs are rejected at the schema layer.
Secrets encrypted at rest
Webhook signing secrets are envelope-encrypted with a master key. Rotate without downtime.
Open contracts, open SDKs
Our schema package publishes the contracts. Generate your own client; or use ours.