How it works

From sign-up to first message in five minutes

WAGate connects to WhatsApp the same way WhatsApp Web does — as a linked device — and exposes that connection as a clean HTTP API.

Create an account and add a number

Register in the dashboard, click Add number and give it a label like “Shop notifications”. Your first number starts a 5-day free trial automatically; after that, pick a plan and pay with crypto.

Link WhatsApp

On your phone open WhatsApp → Linked devices → Link a device, and scan the QR shown in the dashboard. Or request a pairing code and type it in. Both normal WhatsApp and WhatsApp Business work.

Copy your API key

Each number gets its own key starting with wg_. Paste it into your plugin settings, your automation tool (n8n, Make, Zapier via webhooks) or your own code.

Send a message

One POST /v1/messages with to and text. We queue it, pace it naturally and return an ID you can track. Media, locations and contacts work the same way.

Receive replies

Set a webhook URL in the dashboard. Incoming messages, delivery receipts and connection changes are pushed to you as signed JSON, with retries if your server is down.

Monitor and scale

Watch the live log, usage chart and webhook deliveries. Add more numbers for different brands or departments — each one is isolated with its own key and plan.

What happens behind the scenes

When you scan the QR, WhatsApp issues a set of device credentials to WAGate. We store them encrypted and keep a persistent connection to WhatsApp's servers on your behalf. Your phone stays the primary device: you'll see every conversation in your app, and you can unlink us at any time from Linked devices or from the dashboard.

Outgoing messages go into a per-number queue. A worker sends them one at a time with randomised gaps and a typing indicator, records the WhatsApp message ID, and updates the status as WhatsApp acknowledges delivery and reads.

If the connection drops — your phone is off for 14+ days, WhatsApp pushes an update, the network blips — the session reconnects automatically and the queue resumes. Nothing you've asked us to send is lost.

# PHP example — works in WordPress, WHMCS, XenForo, anything
$ch = curl_init('https://signup.wagate.net/v1/messages');
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    'X-API-Key: wg_your_key',
    'Content-Type: application/json',
  ],
  CURLOPT_POSTFIELDS => json_encode([
    'to'   => $customer_phone,
    'text' => "Your appointment is tomorrow at 10:00.",
    'reference' => 'appt-'.$appointment_id,
  ]),
]);
$result = json_decode(curl_exec($ch), true);

Frequently asked questions

Does my phone need to stay online?
No. The phone is only needed for the initial link. After that the session lives on our servers and sends/receives even if your phone is switched off. WhatsApp does require the phone to connect at least once every 14 days to keep linked devices active.
Do I need WhatsApp Business or Meta verification?
No. Any WhatsApp account — personal or Business app — can be linked. There are no templates to submit or business verification steps.
Can I use one API key on several websites?
Yes. A key belongs to a number, not a site. Use it from as many apps as you like; the daily message limit applies to the number as a whole.
Will I see the messages in my WhatsApp app?
Yes. Everything sent through WAGate appears in your chats exactly as if you'd typed it, because it is sent from your own account.
Can I get my number blocked?
If you send spam or unsolicited bulk messages, WhatsApp can block any number, however it is used. WAGate paces messages and caps daily volume to keep patterns natural, but you must only message people who expect to hear from you. See our fair-use guide.
How do I pay?
Plans are billed per number, monthly or in multi-month blocks, through BTCPay Server — Bitcoin on-chain, Lightning, and any other coins the store accepts. Your plan activates automatically once the payment confirms.