OpenWA is an open-source platform that provides an HTTP API for WhatsApp integration. This project is built as a free and fully open-source alternative to paid solutions such as WAHA Plus.
┌─────────────────────────────────────────────────────────────┐
│ OpenWA Values │
├─────────────────────────────────────────────────────────────┤
│ 🆓 100% Free │ No paywalled features │
│ 📖 Open Source │ MIT License, fork friendly │
│ 🔒 Self-Hosted │ Data stays on your own server │
│ 🚀 Production Ready │ Scalable & reliable │
│ 🎯 Developer First │ Simple, intuitive API │
└─────────────────────────────────────────────────────────────┘
To become the most reliable open-source WhatsApp API gateway for production use.
- Provide a complete and free WhatsApp REST API
- Build an active open-source community
- Deliver excellent documentation and tooling
- Ensure user data security and privacy
flowchart LR
subgraph Problems["❌ Current Problems"]
P1[Existing solutions are paid]
P2[Critical features are paywalled]
P3[Vendor lock-in]
P4[Data privacy concerns]
end
subgraph Solution["✅ OpenWA Solution"]
S1[100% Free & Open Source]
S2[All features included]
S3[Self-hosted, no lock-in]
S4[Data stays on your server]
end
P1 --> S1
P2 --> S2
P3 --> S3
P4 --> S4
| Pain Point | OpenWA Solution |
|---|---|
| WAHA Plus charges for multi-session | Free unlimited multi-session |
| Dashboard only in paid tiers | Free dashboard |
| PostgreSQL support is paid | PostgreSQL included |
| Limited webhook management | Full webhook management |
| No source code access | Full source code available |
mindmap
root((OpenWA Goals))
Functional
Complete REST API
Multi-session
Webhook support
Media handling
Technical
High performance
Scalable
Secure
Well documented
Community
Active contributors
Strong documentation
Example projects
Support forum
| Metric | Target (6 months) | Target (1 year) |
|---|---|---|
| GitHub Stars | 500+ | 2000+ |
| Active Contributors | 10+ | 30+ |
| Docker Pulls | 5,000+ | 20,000+ |
| Production Users | 100+ | 500+ |
| API Uptime | 99.5% | 99.9% |
Phase 1 (MVP)
├── REST API
│ ├── Session management (create, delete, status)
│ ├── QR code authentication
│ ├── Send messages (text, image, video, audio, document)
│ ├── Receive messages via webhook
│ ├── Contact management
│ └── Basic group operations
├── Infrastructure
│ ├── Docker support
│ ├── SQLite database
│ ├── Swagger documentation
│ └── Health check endpoints
└── Documentation
├── API documentation
├── Setup guide
└── Basic examples
Phase 2 (Production Ready)
├── Multi-session support
├── PostgreSQL support
├── Web Dashboard
├── Webhook management UI
├── Message queue (Redis/Bull)
├── Rate limiting
└── Authentication (API Key)
Phase 3 (Advanced)
├── Group management (create, modify, participants)
├── Channels/Newsletter support
├── Label management
├── Status/Stories
├── Proxy per session
├── Horizontal scaling
└── Metrics & monitoring
- WhatsApp Business API (official Meta API)
- Mobile app
- End-user chat interface
- Message scheduling (to be a separate plugin)
- CRM features
- Billing/payment integration
flowchart TB
subgraph Primary["Primary Stakeholders"]
D[Developers]
B[Small Businesses]
S[Startups]
end
subgraph Secondary["Secondary Stakeholders"]
C[Community Contributors]
I[Integration Partners]
O[Open Source Community]
end
subgraph Users["End Users"]
U1[Self-hosted Users]
U2[Docker Users]
U3[Cloud Deploy Users]
end
Primary --> Users
Secondary --> Primary
- Developers - Need WhatsApp integration for their applications
- Small Businesses - Need customer service automation
- Startups - Need cost-effective solutions
- Agencies - Manage multiple WhatsApp accounts
quadrantChart
title Feature vs Cost Comparison
x-axis Low Cost --> High Cost
y-axis Basic Features --> Advanced Features
quadrant-1 Premium Solutions
quadrant-2 Our Target
quadrant-3 Limited Free
quadrant-4 Expensive Basic
WAHA Plus: [0.7, 0.8]
WAHA Core: [0.2, 0.4]
Whapi.cloud: [0.8, 0.75]
Green API: [0.6, 0.6]
OpenWA: [0.1, 0.85]
| Feature | OpenWA | WAHA Core | WAHA Plus | Whapi.cloud |
|---|---|---|---|---|
| Price | Free | Free | $50+/mo | $30+/mo |
| Open Source | ✅ | ❌ | ❌ | ❌ |
| Multi-session | ✅ | Limited | ✅ | ✅ |
| Dashboard | ✅ | ❌ | ✅ | ✅ |
| PostgreSQL | ✅ | ❌ | ✅ | N/A |
| Webhook UI | ✅ | ❌ | ✅ | ✅ |
| Self-hosted | ✅ | ✅ | ✅ | ❌ |
| Source code | ✅ | ❌ | ❌ | ❌ |
flowchart TB
subgraph Runtime["Runtime & Framework"]
N[Node.js 20 LTS] --> |"TypeScript support, async/await"| NE[NestJS]
NE --> |"Modular, scalable, DI"| API[REST API]
end
subgraph Engine["WhatsApp Engine"]
WW[whatsapp-web.js] --> |"Puppeteer based"| P[More stealth]
P --> |"Real browser fingerprint"| S[Lower ban risk]
end
subgraph Storage["Data Storage"]
SQ[SQLite] --> |"Development"| DEV[Easy setup]
PG[PostgreSQL] --> |"Production"| PROD[Scalable]
end
subgraph Frontend["Dashboard"]
R[React] --> V[Vite]
V --> S[shadcn/ui]
S --> L[Lucide Icons]
L --> UI[Modern UI]
end
| Layer | Technology | Rationale |
|---|---|---|
| Runtime | Node.js 20 LTS | Stable, long-term support |
| Language | TypeScript | Type safety, better developer experience |
| Framework | NestJS | Enterprise-grade, modular |
| WA Engine | whatsapp-web.js | Mature, active community |
| Browser | Puppeteer/Chrome | Real browser, stealth |
| Database | SQLite (default) / PostgreSQL | Zero-config default, PostgreSQL for scaling |
| Cache | Redis | Fast, pub/sub support |
| Queue | Bull | Reliable job processing |
| Dashboard | React + Vite | Fast, modern |
| Styling | Tailwind CSS | Utility-first CSS |
| UI Components | shadcn/ui + Lucide | Accessible, polished |
| Container | Docker | Portable, consistent |
-
Technical
- WhatsApp Web protocol can change at any time
- Puppeteer requires significant resources (~300-500MB RAM per session)
- WhatsApp rate limiting
-
Legal
- Unofficial API, not affiliated with Meta
- Users are responsible for compliant usage
-
Resource
- Open-source project, dependent on community contributions
- Limited maintainer capacity initially
- Users have servers with at least 2GB RAM
- Users are familiar with Docker or Node.js
- Users understand the risks of using an unofficial API
- WhatsApp Web will remain available
| Version | Date | Author | Changes |
|---|---|---|---|
| 1.0 | 2026-02-02 | Team | Initial document |