SMS Gateway
Built for Tanzania
Send OTPs, transactional alerts, and marketing messages to any number in Tanzania. Smart network routing, TCRA-registered Sender IDs, and delivery receipts — all via one clean API.
# Send an OTP curl -X POST https://api.mojawave.com/v1/sms \ -H "Authorization: Bearer sk_live_mw_8472910" \ -H "Content-Type: application/json" \ -d '{ "to": "+255755123456", "from": "Duka Masta", "message": "Your code is 4821. Valid 5 min." }' // 200 OK { "id": "sms_7k2mx9", "status": "queued", "segments": 1, "cost_tzs": 12 }
const mojawave = require('mojawave'); const client = new mojawave.Client('sk_live_mw_8472910'); const msg = await client.sms.send({ to: '+255755123456', from: 'Duka Masta', message: 'Your code is 4821. Valid 5 min.' }); console.log(msg.id); // sms_7k2mx9 console.log(msg.status); // queued
import mojawave client = mojawave.Client("sk_live_mw_8472910") msg = client.sms.send( to="+255755123456", from_="Duka Masta", message="Your code is 4821. Valid 5 min." ) print(msg.id) # sms_7k2mx9 print(msg.status) # queued
Capabilities
Everything your SMS workflow needs
Delivery Webhooks
Real-time delivery receipts pushed to your endpoint. Know the exact moment your message is delivered, failed, or expired.
TCRA Sender IDs
We handle the full TCRA registration. Your brand name appears as the sender instead of a random number — in days, not months.
Bulk Campaigns
Send to thousands of numbers in a single API call. Rate-limited automatically to stay within carrier thresholds with no manual batching.
Use Cases
What businesses are building
OTP & 2FA
Send one-time passwords for account login, payments, and sensitive actions.
Payment Alerts
Instant confirmation SMS after a Mobile Money transaction or card payment.
Order Updates
Keep customers informed at every stage — confirmed, shipped, out for delivery.
Marketing Blasts
Promotions, reminders, and re-engagement campaigns to opted-in customers.
Simple TZS pricing. No surprises.
Pay only for what you send. No monthly minimums, no USD conversion.