Reach your customers and move money through a single integration. Go live faster with one account, one set of credentials, and reliable delivery across every service.
Each capability is a small, predictable set of REST endpoints that share the same request and response conventions.
Send one message or a hundred thousand. You get a reference per recipient, delivery callbacks, and scheduling, plus flash (class-0) messages for OTPs.
Explore endpoints →Recharge any line in seconds. Wavetop detects the network for you, so you can pass just the number and the amount.
Explore endpoints →Pay electricity (EKEDC, IKEDC, and more) and cable TV (DSTV, GOTV, StarTimes). Validate the meter or smartcard first, so a wrong number never costs a payment.
Explore endpoints →Collect from and pay out to mobile-money wallets across networks. Each channel lists its limits and required fields up front, authorises the customer by OTP, prompt, or redirect, and reconciles with signed callbacks.
Explore endpoints →Authenticate with a bearer token or an App key, your call. Everything is HTTPS-only and capped at 300 requests a minute per IP.
Explore endpoints →Grab a token, send your first SMS. Five minutes, start to finish. Every endpoint is plain REST: JSON in, JSON out, ordinary HTTP status codes.
POST /auth/token.Authorization: Bearer <token>.curl --request POST \
--url 'https://api.wavetopglobal.com/v1/auth/token' \
--header 'Content-Type: application/json' \
--data '{
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"grant_type": "client_credentials"
}'
# Response
{
"status": true,
"result": "OK",
"message": "Session created",
"data": {
"access_token": "eyJhbGciOiJI...",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "all.read all.write"
}
}
Pick the right base URL for your stage.
https://api.wavetopglobal.com/v1
Production traffic, real money movement, real SMS delivery.
https://api-demo.wavetopglobal.com/v1
Sandbox for integration testing. Use +2348031234567 to simulate failures.