WhatsApp Integration Layer for Data Connectivity And Transfer
Unofficial WhatsApp integration using reverse-engineered libraries. Use at your own risk and ensure compliance with WhatsApp's terms of service.
WILDCAT is a production-ready Node.js API server providing REST endpoints for WhatsApp messaging, media handling, and webhook delivery. Built with Baileys and MongoDB for reliable multi-account support.
Perfect for chatbots, CRM integrations, marketing automation, and business workflows.
| Feature | Details |
|---|---|
| π Multi-Account Support | Manage unlimited WhatsApp numbers simultaneously |
| π± Full WhatsApp Features | Messages, media, reactions, statuses, and more |
| π Webhook Integration | Real-time message delivery to external services |
| π§Ύ Media Storage | Automatic GridFS with direct-access endpoints |
| π€ Bot-Ready | Perfect for chatbots, automation, CRM integrations |
| β‘ REST API | Clean HTTP interface, easy integration |
| π³ Docker Support | Production-ready containerization |
| π Structured Logging | JSON-based logging for monitoring & debugging |
Limitations:
β οΈ Unofficial - Relies on reverse-engineered WhatsApp Web protocols- π« Rate Limited - Subject to WhatsApp's sending limits (typically 60 msg/min)
- π No Official Support - Community-maintained, no guarantees
- π΅ Ban Risk - Heavy automated usage may trigger WhatsApp account bans
- π No Auth (v2) - Currently requires manual authentication setup
Recommended Use Cases:
- β Development and testing environments
- β Bot automation for personal/small business use
- β Webhook-based workflows (n8n, Zapier, Make.com)
- β Message broadcasting to opt-in contacts
- β Customer support automation
Not Recommended For:
- β Large-scale spam/marketing (violates WhatsApp ToS)
- β Production without proper security controls
- β High-volume transaction messaging (use official WhatsApp Business API)
- β Public internet exposure without authentication
# Clone repository
git clone https://github.com/NotoriousArnav/wildcat.git
cd wildcat
# Install dependencies
npm ci
# Configure environment
cp .env.example .env
# Edit .env with your MongoDB URL and other settings
nano .env
# Start server
npm start
# Server runs on http://localhost:3000curl http://localhost:3000/ping
# Response: { "ok": true, "timestamp": "2025-11-08T..." }# Create account via REST API
curl -X POST http://localhost:3000/accounts \
-H 'Content-Type: application/json' \
-d '{
"id": "mybot",
"name": "My First Bot"
}'
# Response: QR code + WebSocket connection readyThe QR code will be displayed in terminal. Scan with your WhatsApp phone camera, and the account will authenticate.
# Send a test message
curl -X POST http://localhost:3000/accounts/mybot/message/send \
-H 'Content-Type: application/json' \
-d '{
"to": "[email protected]",
"message": "Hello from WILDCAT! π±"
}'
# Response: { "ok": true, "messageId": "..." }β Success! You're now sending WhatsApp messages via REST API.
- Full Setup Guide - Detailed installation & configuration
- API Reference - All available endpoints
- Examples - Real-world integration examples
| π Document | π Purpose | π― For |
|---|---|---|
| Setup Guide | Installation, configuration & deployment | First-time users, DevOps |
| API Reference | Complete REST API endpoint documentation | Frontend developers, integrators |
| Architecture | System design, module overview | Contributors, architects |
| Development | Contributing guidelines, local development | Contributors, maintainers |
WILDCAT includes command-line utilities for account and message management:
# Development mode with auto-reload
npm run dev
# Production mode
npm start
# Health check
npm run ping
# Run tests
npm test
npm run test:watch
npm run test:coverageFor advanced CLI usage, see the Development Guide.
WILDCAT is Docker-ready with ffmpeg pre-installed for audio conversion.
docker build -t wildcat:latest .docker run --name wildcat \
-p 3000:3000 \
-e HOST=0.0.0.0 \
-e PORT=3000 \
-e MONGO_URL="mongodb://host.docker.internal:27017" \
-e DB_NAME=wildcat \
-e AUTO_CONNECT_ON_START=true \
wildcat:latestCreate docker-compose.yml:
version: '3.8'
services:
mongodb:
image: mongo:7
container_name: wildcat-mongo
ports:
- "27017:27017"
volumes:
- mongo-data:/data/db
environment:
MONGO_INITDB_DATABASE: wildcat
wildcat:
build: .
container_name: wildcat-api
depends_on:
- mongodb
ports:
- "3000:3000"
environment:
HOST: 0.0.0.0
PORT: 3000
MONGO_URL: "mongodb://mongodb:27017"
DB_NAME: wildcat
AUTO_CONNECT_ON_START: "true"
volumes:
- ./logs:/app/logs
restart: unless-stopped
volumes:
mongo-data:Run with:
docker-compose up -d| Variable | Default | Description |
|---|---|---|
HOST |
0.0.0.0 |
Server listen address |
PORT |
3000 |
Server port |
MONGO_URL |
Required | MongoDB connection string |
DB_NAME |
wildcat |
MongoDB database name |
ADMIN_NUMBER |
Optional | WhatsApp JID ([email protected]) to receive startup ping |
AUTO_CONNECT_ON_START |
false |
Auto-reconnect saved accounts on startup |
curl http://localhost:3000/ping
# {
# "ok": true,
# "timestamp": "2025-11-08T12:34:56.789Z"
# }WILDCAT integrates seamlessly with n8n for visual workflow automation.
Workflow Flow:
Webhook Trigger (n8n)
β
Process/Transform
β
HTTP Request β WILDCAT API
β
WhatsApp Message Sent
Setup Steps:
-
Create n8n HTTP Trigger node
- Note the webhook URL
-
Register with WILDCAT
curl -X POST http://localhost:3000/webhooks \ -H 'Content-Type: application/json' \ -d '{"url": "https://your-n8n-host/webhook/<webhook-id>"}'
-
Create HTTP Request node in n8n
- Method:
POST - URL:
http://wildcat-host:3000/accounts/<accountId>/message/send - Headers:
Content-Type: application/json - Body:
{ "to": "{{ $json.from }}", "message": "{{ $json.message }}" }
- Method:
-
Deploy workflow
- Messages received by WILDCAT will trigger n8n
- n8n processes and sends WhatsApp responses
Note: Server logs redact webhook URLs for security (credentials removed).
WILDCAT works with any HTTP-based automation platform:
- Zapier - Trigger webhooks and send messages
- Make.com (formerly Integromat) - Complex workflows
- IFTTT - Simple if-this-then-that automation
- Custom Applications - Direct REST API calls
See API Reference for complete endpoint documentation.
Current Security Status: β NOT PRODUCTION READY
| Issue | Risk | Status |
|---|---|---|
| No Authentication | π΄ CRITICAL | Will be fixed in v3.0 |
| No Rate Limiting | π HIGH | Subject to abuse |
| SSRF in Webhooks | π HIGH | Planned security audit |
| Minimal Input Validation | π HIGH | Validation layer coming |
| CommonJS Only | π‘ MEDIUM | Migration to ESM planned |
Current Focus: Code Quality & Security Modernization
- Migrate to ES Modules (ESM)
- TypeScript migration
- Replace console.log with structured logging
- Comprehensive JSDoc/TS types
- Test coverage (Jest automation)
- HTTP Authentication (API keys, JWT)
- Rate Limiting (per account, per IP)
- Input Validation (Zod/Joi schemas)
- SSRF Prevention (webhook URL validation)
- Security audit & pen testing
- Contact enrichment in webhooks
- Group management endpoints
- Message scheduling
- Advanced media handling (batch uploads)
- Monitoring & metrics endpoints
- Comprehensive testing
- CI/CD pipeline (GitHub Actions)
- Performance optimization
- Docker/K8s best practices
- SLA documentation
Until v3.0 is released:
β Recommended for:
- Development & testing environments
- Internal business automation
- Bot prototyping & experimentation
β NOT recommended for:
- Public internet exposure
- High-volume production use
- Sensitive business data
- Large-scale deployments
Best Practices:
# 1. Deploy behind authentication proxy
# nginx example with basic auth
location / {
auth_basic "WILDCAT API";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://localhost:3000;
}
# 2. Use environment-specific URLs
# .env
MONGO_URL=mongodb://... # Use MongoDB Atlas or encrypted
AUTO_CONNECT_ON_START=false
# 3. Monitor logs for suspicious activity
tail -f logs/app.log | grep "error\|warn"
# 4. Keep backups
mongodump --uri="mongodb://..." --out=./backups
# 5. Watch for updates
# Star/watch this repo for release announcementsTimeline: v3.0 expected Q2 2025 (tentative)
WILDCAT welcomes contributions! See Development Guide for detailed guidelines.
We're actively seeking help with:
| Area | Priority | Impact |
|---|---|---|
| π Security improvements | π΄ HIGH | Authentication, rate limiting |
| π TypeScript migration | π΄ HIGH | Type safety & DX |
| β Test coverage | π MEDIUM | Reliability & refactoring safety |
| π Documentation | π MEDIUM | Developer experience |
| π Bug fixes | π‘ ONGOING | Stability |
# 1. Fork & clone
git clone https://github.com/YOUR_USERNAME/wildcat.git
cd wildcat
# 2. Create feature branch
git checkout -b feature/your-feature-name
# 3. Install dependencies
npm ci
# 4. Make changes & test
npm run dev # development mode with auto-reload
npm test # run tests
npm run lint # check code style (coming in v3.0)
# 5. Commit & push
git add .
git commit -m "feat: add your feature"
git push origin feature/your-feature-name
# 6. Create Pull Request
# Open PR on GitHub with clear description- Follow the code style (2-space indent, CommonJS)
- Add tests for new features
- Update documentation
- Keep commits atomic and well-described
- No breaking changes without discussion
See Development Guide for more details.
This project builds on excellent open-source work. See ACKNOWLEDGMENTS.md for complete credits.
Key Dependencies:
- @whiskeysockets/baileys - WhatsApp Web API
- mongo-baileys - MongoDB session storage
- Express.js - Web framework
- MongoDB - Database
- Socket.io - Real-time communication
GPL-3.0-only β See LICENSE
This project includes adapted code from MIT-licensed dependencies. All original copyright notices are preserved in respective files and in ACKNOWLEDGMENTS.md.
Disclaimer: WILDCAT is an unofficial tool for educational purposes. Ensure compliance with WhatsApp's Terms of Service and applicable laws before use.
| Link | Purpose |
|---|---|
| π GitHub | Source code & issues |
| π Setup Guide | Installation instructions |
| π API Reference | Endpoint documentation |
| ποΈ Architecture | System design |
| π¨βπ» Development | Contributing guide |
Need help?
- π Check the documentation
- π Search existing issues
- π¬ Open a new issue
- π€ See CodeRabbit Setup for code reviews
β Star this repository to be notified of releases and updates.
π Watch for important announcements and breaking changes.
Made with β€οΈ by the WILDCAT community
