Evolution Go is a high-performance WhatsApp API built in Go, part of the Evolution ecosystem. It provides a robust, lightweight solution for WhatsApp integration using the whatsmeow library.
- High Performance — Built with Go for minimal resource usage
- RESTful API — Clean, well-documented REST endpoints with Swagger
- Real-time Events — WebSocket, Webhook, AMQP/RabbitMQ and NATS support
- Media Support — Images, videos, audio, documents with MinIO/S3 storage
- Message Storage — Optional PostgreSQL persistence
- QR Code Pairing — Built-in QR code generation for device linking
- License Management — Built-in licensing with registration, activation, and heartbeat
- Docker Ready — Production-ready Docker configuration
git clone https://github.com/EvolutionAPI/evolution-go.git
cd evolution-go
make docker-build
make docker-rungit clone https://github.com/EvolutionAPI/evolution-go.git
cd evolution-go
# Clone whatsmeow dependency
git clone git@github.com:EvolutionAPI/whatsmeow.git whatsmeow-lib
# Setup, configure and run
make setup
cp .env.example .env
make devRun
make helpto see all available commands. See COMMANDS.md for detailed workflows.
Create a .env file:
# Server
SERVER_PORT=8080
CLIENT_NAME=evolution
# Security
GLOBAL_API_KEY=your-secure-api-key-here
# Database
POSTGRES_AUTH_DB=postgresql://postgres:password@localhost:5432/evogo_auth?sslmode=disable
POSTGRES_USERS_DB=postgresql://postgres:password@localhost:5432/evogo_users?sslmode=disable
DATABASE_SAVE_MESSAGES=false
# Logging
WADEBUG=DEBUG
LOGTYPE=console
# Optional
# AMQP_URL=amqp://guest:guest@localhost:5672/
# NATS_URL=nats://localhost:4222
# WEBHOOK_URL=https://your-webhook-url.com/webhook
# MINIO_ENABLED=true
# MINIO_ENDPOINT=localhost:9000
# MINIO_ACCESS_KEY=minioadmin
# MINIO_SECRET_KEY=minioadmin| Variable | Description | Default |
|---|---|---|
SERVER_PORT |
Server port | 8080 |
CLIENT_NAME |
Client identifier | evolution |
GLOBAL_API_KEY |
API authentication key | Required |
DATABASE_SAVE_MESSAGES |
Enable message storage | false |
WADEBUG |
WhatsApp debug level | INFO |
Evolution Go requires a license to operate. On first run:
- Start the server — API endpoints return
503until activated - Open the Manager at
http://localhost:8080/manager/login - Enter your API URL and
GLOBAL_API_KEY - Complete the license registration flow
- Once activated, the API is fully operational
The license status persists in the database (runtime_configs table). Heartbeats are sent periodically to maintain activation.
Swagger UI available at:
http://localhost:8080/swagger/index.html
| Method | Endpoint | Description |
|---|---|---|
POST |
/instance/create |
Create WhatsApp instance |
GET |
/instance/{name}/qrcode |
Get QR code for pairing |
POST |
/message/sendText |
Send text message |
POST |
/message/sendMedia |
Send media message |
GET |
/instance/{name}/status |
Get instance status |
DELETE |
/instance/{name} |
Delete instance |
evolution-go/
├── cmd/evolution-go/ # Application entry point
├── pkg/
│ ├── core/ # License management & middleware
│ ├── instance/ # Instance management
│ ├── message/ # Message handling
│ ├── sendMessage/ # Message sending
│ ├── routes/ # HTTP routes
│ ├── middleware/ # Auth & validation middleware
│ ├── config/ # Configuration
│ ├── events/ # Event producers (AMQP, NATS, Webhook, WS)
│ └── storage/ # Media storage (MinIO)
├── whatsmeow-lib/ # WhatsApp protocol library
├── docs/ # Swagger documentation
├── Dockerfile
├── Makefile
└── VERSION
| Component | Technology |
|---|---|
| Language | Go 1.24+ |
| HTTP Framework | Gin |
| whatsmeow | |
| Database | PostgreSQL |
| ORM | GORM |
| Message Queue | RabbitMQ, NATS |
| Object Storage | MinIO/S3 |
| Documentation | Swagger/OpenAPI |
| Container | Docker |
| Resource | Link |
|---|---|
| Website | evolutionfoundation.com.br |
| Documentation | docs.evolutionfoundation.com.br |
| Community | evolutionfoundation.com.br/community |
| WhatsApp Support | +55 31 7503-8350 |
| GitHub Issues | evolution-go/issues |
Deploy Evolution Go with optimized infrastructure:
| Product | Link |
|---|---|
| Evolution Go VPS | Hostgator - Evo Go |
| Evolution API VPS | Hostgator - Evo API |
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
For security concerns, please email: contato@evolution-api.com
Evolution Go is licensed under the Apache License 2.0, with the following additional conditions:
-
Logo and copyright: You may not remove or modify the logo or copyright information in the Evolution console or applications when using frontend components.
-
Usage notification: If Evolution Go is used as part of any project (including closed-source), a clear notification that Evolution Go is being utilized must be visible to system administrators.
Please contact contato@evolution-api.com for licensing inquiries. Full license details at apache.org/licenses/LICENSE-2.0.
Evolution Go collects anonymous telemetry data (routes used, API version) to improve the service. No sensitive or personal data is collected.
Evolution Go — High-Performance WhatsApp API
Made with ❤️ by the Evolution Team
© 2025 Evolution Foundation
