Invite-only · Built in Morocco
Turn your WhatsApp number into an AI teammate.
Connect your number, build paced auto-reply workflows, and plug it into Claude and your own apps through one REST API and one MCP endpoint. Your session stays on our own server.
How it works
Three steps, no rewrites
WaFine sits between WhatsApp and your tools. You keep the phone; we handle the session, the queue and the API surface.
- 1
Connect your number
Scan a QR code from WhatsApp Web once. The session is stored encrypted on our server in Casablanca — not on a laptop that sleeps.
- 2
Write paced auto-replies
Webhook in, workflow out. Every reply goes through a paced sender: a configurable gap between messages, a daily cap, and no retry storms.
- 3
Call it from anywhere
Mint a per-session API key and talk to the REST API, or add the MCP endpoint to Claude and use your number in plain language.
Claude connector
Add WaFine to Claude
WaFine speaks OAuth, so Claude never sees your API key. Add the connector, sign in, review the consent screen and press Allow — we mint a key scoped to your own session, and you can revoke it at any time.
- 1In Claude: Settings → Connectors → Add custom connector.
- 2Paste https://api.bouskoura.online/mcp as the connector URL and press Connect.
- 3Sign in with your WaFine account, review what Claude may do, and press Allow.
https://api.bouskoura.online/mcpOr from a terminal with Claude Code
claude mcp add --transport http whatsapp https://api.bouskoura.online/mcpThe consent screen is explicit: Claude can read your chats, messages, contacts and groups, and send messages from your number — through your session only. Revoke the key and the access ends immediately.
What you get
Built for a number that cannot afford to look like a bot
Paced sending
Every outbound message goes through one sender with a configurable gap and a per-day cap. No bursts, no retry storms, one path for AI-written text and manual replies alike.
Per-session API keys
Mint a key per WhatsApp session, see only its prefix, revoke it in one click. Bring one number or five; they never share credentials.
REST API and MCP
The same session answers JSON over REST and tool calls over MCP, so Claude, your scripts and your internal tools all speak to one endpoint.
QR linking in the browser
Link and re-link your number from the web app — QR code in, session alive. No docker commands, no shell on the server.
Data residency: Morocco and the EU
The gateway runs on our own VM in Casablanca; the database lives in Supabase’s Paris region. WhatsApp session data never leaves the server.
Open-core, on OpenWA
Built on the open-source OpenWA engine, in the open with the Ai4x Academy community. Read the docs, self-host it, or let us run it for you.
Waitlist
Join the waitlist
WaFine is invite-only while we grow carefully. Leave your email and we will send one message when your invite is ready — no newsletters, no sharing.
FAQ
Questions people ask before signing up
Can my number get banned?
Yes — any WhatsApp automation carries that risk, and no gateway can promise otherwise. WaFine reduces it: every send is paced with a configurable gap plus a per-day cap, there are no automatic retries, and one sender owns all outbound traffic. Only message people who contacted you first, and start slowly.
Who can sign up?
Access is invite-only. Join the waitlist and an admin invites the numbers we are ready to run. Sign-up then accepts that invited number only, in international format, and binds the account to it.
Where is my data, and what about the CNDP?
The WhatsApp session runs on our own VM in Casablanca and the application database is in Supabase’s Paris region, so your data stays in Morocco and the EU. Message content is stored encrypted, not as readable text, and we follow Moroccan law 09-08 expectations for personal data.
Which numbers can I connect?
Any number that already has WhatsApp, personal or business — one number per session, unlimited sessions on your account. Landlines and numbers without WhatsApp cannot be linked.
Can I self-host instead?
Yes. WaFine is open-core on OpenWA: the repository ships the compose stack, the BFF and the web app, and the docs cover a full deployment. You bring a server, a domain and a database; we run the hosted version if you would rather not.
What happens if my session drops?
Nothing is deleted. The phone losing WhatsApp Web pauses the session: API and MCP calls return a clear “not ready” error instead of failing silently, and you re-link by scanning a new QR code from the web app.