What is this?
A free, open-source, self-hosted WhatsApp API gateway: it exposes messaging over a REST API with webhooks and a web dashboard, and you run it on your own server.
Is this built on an official WhatsApp API?
No — it is an unofficial, community-maintained gateway that connects through reverse-engineered clients (whatsapp-web.js and @whiskeysockets/baileys), not Meta's official Cloud API.
How do I get it running?
Docker is the intended path — the project is Docker Native and production-ready with zero configuration, with a compose file in the repo. Building from source needs Node.js 22.19+.
Do I need to configure a database or cache?
No code changes needed — engines are pluggable via config: SQLite or PostgreSQL for data, local disk or S3 for media storage, Redis cache optional or disabled.
What is the catch before I connect a number?
There is always a non-zero ban risk, since WhatsApp actively hunts unofficial automation. Use a dedicated number you can afford to lose — never your primary personal or business number.
Is it fine to use for paying clients or regulated workloads?
It fits personal projects, internal tooling, hobbyists and learning. For regulated settings — healthcare, finance, large-scale commercial messaging, EU/EEA under DMA/GDPR — treat it as not approved and use Meta's official Cloud API.
Does it matter where I host it?
Yes — cheap datacenter IPs get flagged more aggressively than residential ones, and a residential proxy can be set per session. That reduces risk; it is not a license to spam.
What happens if WhatsApp restricts my number anyway?
Nothing OpenWA can do — a restricted number cannot be unrestricted from its side; you must appeal through WhatsApp's own channels. For anything auth- or revenue-critical, keep an SMS, email or official Cloud API fallback.
How do integrations receive incoming messages?
Webhooks push real-time events, signed with HMAC, with optional smart pre-dispatch filters; there is also an /events WebSocket stream. Chat-scoped keys receive no pushed events and must poll the REST API instead.
Are there ready-made integrations?
Yes — official Chatwoot and Typebot plugins run as sandboxed plugins on the Integration Fabric, community n8n nodes cover workflow automation, and Java, JavaScript, PHP and Python SDKs are published via CI.
Which known quirks are WhatsApp policy, not bugs?
A first message to a brand-new contact sometimes never arrives even though the API returns success, and some accounts cannot link a new device at all because of a passkey step neither engine implements — so avoid re-linking a working session.
What are similar projects?
go-whatsapp-web-multidevice, whatsapp-web.js, Baileys, asobeast, DeskcommCRM, goshen-email, omnara, rankme.fast
Which topics is it in?
whatsapp-api, whatsapp-bot, unofficial, nestjs, gateway, whatsapp, api-gateway, bot, webhooks, reverse-engineering, docker-compose, sdk