---
title: "Deploy GOWA (WhatsApp REST API)"
description: "GOWA 9.4: WhatsApp REST API and MCP server in Go, with webhooks."
category: "Bots"
url: https://railway.com/deploy/gowa-whatsapp-rest-api
---

# Deploy GOWA (WhatsApp REST API)

GOWA 9.4: WhatsApp REST API and MCP server in Go, with webhooks.

**[Deploy GOWA (WhatsApp REST API) on Railway](https://railway.com/template/gowa-whatsapp-rest-api)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/gowa-whatsapp-rest-api/manifest.json

- **Creator:** Agaz Self-Host
- **Category:** Bots

## Template content

### gowa https://raw.githubusercontent.com/aldinokemal/go-whatsapp-web-multidevice/v9.4.0/gallery/gowa.svg

- **Image:** aldinokemal2104/go-whatsapp-web-multidevice:v9.4.0
- **Health check:** /health
- **Public domain:** Yes

## Documentation

# Deploy and Host GOWA (WhatsApp REST API) on Railway

GOWA (go-whatsapp-web-multidevice) is a WhatsApp REST API and MCP server written in Go. It links WhatsApp accounts as companion devices and lets you send and receive messages, media, locations, polls and group actions over HTTP, with webhooks for incoming events. It supports several accounts in one instance.

## About Hosting GOWA (WhatsApp REST API)

This template runs the official `aldinokemal2104/go-whatsapp-web-multidevice:v9.4.0` image as one service. The dashboard and the whole API are behind basic auth (user `admin` and a generated password); only `/health` is public. Linked-device sessions and chat storage live in SQLite on a Railway volume at `/app/storages`, so paired accounts survive redeploys. Set `WHATSAPP_WEBHOOK` to receive incoming messages, signed with a generated secret. It is a single small Go binary and fits the Hobby plan. WhatsApp can ban numbers used for spam, so use a number you can afford to lose and respect their terms.

## Common Use Cases

- Sending WhatsApp notifications from apps and n8n workflows
- Receiving WhatsApp messages in a chatbot through webhooks
- Giving AI agents WhatsApp tools over MCP

## Dependencies for GOWA (WhatsApp REST API) Hosting

- `aldinokemal2104/go-whatsapp-web-multidevice:v9.4.0` (official image)
- A Railway volume at `/app/storages`

### Deployment Dependencies

- [GOWA on GitHub](https://github.com/aldinokemal/go-whatsapp-web-multidevice)
- [GOWA v9.4.0 release](https://github.com/aldinokemal/go-whatsapp-web-multidevice/releases/tag/v9.4.0)
- [Railway volumes](https://docs.railway.com/reference/volumes)

### Implementation Details

| Service | Source | Networking | Storage |
| --- | --- | --- | --- |
| gowa | `aldinokemal2104/go-whatsapp-web-multidevice:v9.4.0` | public domain on 3000 | volume at `/app/storages` |

Pair a phone: open the dashboard, add a device and scan the QR code in WhatsApp → Linked devices. Or use the API:

```bash
curl -u admin:$GOWA_PASSWORD -X POST https:///devices -H 'content-type: application/json' -d '{"device_id":"main"}'
curl -u admin:$GOWA_PASSWORD -H 'X-Device-Id: main' https:///app/login
```

| Variable | Default | Purpose |
| --- | --- | --- |
| `GOWA_PASSWORD` | generated | Basic-auth password for user `admin` |
| `APP_BASIC_AUTH` | `admin:${{GOWA_PASSWORD}}` | Accounts accepted by the API |
| `WHATSAPP_WEBHOOK` | empty | URL(s) for incoming events |
| `WHATSAPP_WEBHOOK_SECRET` | generated | HMAC secret for webhook signatures |

Notes:

- QR code images and received media are served from `/statics` under random names without auth, and are not on the volume.
- This template was tested up to QR generation; pairing a real phone was not tested.

This is a community-maintained deployment package and does not imply affiliation with or endorsement by the GOWA project or WhatsApp.

## Why Deploy GOWA (WhatsApp REST API) on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying GOWA (WhatsApp REST API) on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


## Similar templates

- [Telegram JavaScript Bot](https://railway.com/deploy/5lRkWa) — A template for Telegram bot in JavaScript using grammY
- [Cobalt Tools [Updated Sep ’26]](https://railway.com/deploy/cobalt) — Cobalt Tools [Sep ’26] (Media Downloader, Converter & Automation) Self Host
- [Telegram Gateway](https://railway.com/deploy/railway-telegram-gateway) — Multi-bot Telegram webhook gateway with WebSocket event streaming

Open this page in a browser: https://railway.com/deploy/gowa-whatsapp-rest-api
