WhatIsUp.dev
A lightweight, developer-first WhatsApp Gateway. Spin up a WhatsApp instance via REST, send messages, receive events as signed webhooks. No Twilio markup, no Meta business-verification ladder, no SDK that hides the wire format.
Why this exists
Every other WhatsApp gateway is either:
- A reseller of the official Cloud API (slow, expensive per message, requires a verified Meta business profile and a real phone number you don't own); or
- A Baileys wrapper packaged as a black-box SaaS that breaks the moment WhatsApp changes anything.
WhatIsUp.dev sits in between: an opinionated wrapper around Baileys (the open-source WhatsApp Web client library) with the operational pieces a developer SaaS needs β typed contracts, signed webhooks with retries, Stripe-style API keys, an instance lifecycle FSM, and an SDK story that's just fetch. You bring your own WhatsApp number, you scan a QR once, you ship.
What you get
- REST API β instances, messages, webhook endpoints, API keys. JSON in, JSON out.
- Signed webhooks β
X-WhatIsUp-Signature: t=<ts>,v1=<hmac>, verified the same way Stripe does. - Realtime SSE stream β
/v1/eventsfor QR codes and instance state changes without polling. - Single-binary deploy β Postgres, Redis, one Node process. Run on Railway, Fly, Hetzner, your Mac.
- Open contracts β every request, response, and webhook payload is a Zod schema in
@whatisup/contracts. The same types your client gets are the ones the gateway validates against.
What you don't get (yet)
- Official Cloud API support β this is a Web-protocol implementation. WhatsApp can change it, and occasionally does. We track Baileys upstream.
- Multi-region β single primary, single Redis. Fine for v1.
- Inbound media object storage β we cache attachments in memory and proxy them via signed URLs. No S3 yet. See Concepts β Webhooks.
This project is for developer-tier use. Don't use it for compliance-bound workflows (healthcare, regulated finance, anything that requires the official Cloud API's business-account guarantees). It's a wrapper around an unofficial protocol.
Where to next
- Quickstart β instance up, first message sent, in 60 seconds.
- Concepts β Architecture β what runs where, and why.
- API reference β Instances β the full REST surface.