If all you need is to verify new users with a one-time password, WhatsApp Business API (WABA) has quietly become a bad deal — and most developers don’t find out until the invoice arrives.
Meta reworked WABA pricing significantly over the past year. If you’re using WABA only to send OTPs, here’s what changed and why it probably no longer fits your use case.
What Changed?
1. The free tier for marketing/utility/authentication is gone
Businesses used to get 1,000 free conversations per month across all categories. That allotment was removed on November 1, 2024.
The only thing that’s genuinely free now is a service conversation — one the user initiates — and only within a 24-hour window. Every template message you send, including OTPs, is billed from the first message.
2. Billing moved from per-conversation to per-message
Meta used to charge per 24-hour conversation: one session, one charge, no matter how many messages you sent.
Since July 1, 2025, it’s per-message billing. Every template delivered is a separate charge. An OTP plus a follow-up reminder that used to cost one charge now costs two.
3. Authentication pricing for Indonesia
Sending an OTP to an Indonesian number (+62) costs roughly IDR 367 per message (local authentication rate, Meta’s official card as of July 2025). If your business is based outside Indonesia and sends to a +62 number, you pay the authentication-international rate — around IDR 1,951 per message, nearly 5x more.
Rough Math for Developers
Say your app sends 1,000 OTPs per month to Indonesian users:
| Item | Est. cost/month |
|---|---|
| WABA authentication rate (~IDR 367/msg) | ~IDR 367,000 |
| BSP fee (platform provider) | IDR 400,000–1,000,000+/month |
| Estimated total | IDR 750,000 – 1,400,000 |
And that’s before:
- Business setup and verification costs
- Legal entity docs (usually a registered company) to onboard with an official BSP
- Time spent getting message templates approved by Meta
For an indie developer or an early-stage startup that just needs to send OTPs, that’s a lot of overhead.
Why WABA Is Overkill for OTP
WABA is built for enterprises that need to broadcast to thousands of customers, integrate a CRM, run complex chatbots and automation, and staff multi-agent customer service.
If all you need is to send a verification code to a new user, you use none of that — but you still pay for the whole stack.
It’s like renting a two-story shophouse when all you need is a single desk.
The Alternative: OTP Space
OTP Space is built for developers who just need to send OTPs — without standing up WABA yourself. It’s IDR 100 per OTP, pay-as-you-go — roughly 3.7x cheaper per message than the WABA rate, with no monthly BSP fee.
| WABA | OTP Space | |
|---|---|---|
| Setup | Meta business verification, BSP, legal docs | Sign up and get an API key in minutes |
| Pricing | ~IDR 367/msg + monthly BSP fee | IDR 100/OTP, pay-as-you-go |
| Free tier | None (since Nov 2024) | Trial credits included |
| Requirements | Registered business + legal documents | None |
| Built for | Enterprises, large-scale operations | Indie devs, early-stage startups |
Why is it cheaper and simpler?
OTP Space manages the delivery infrastructure on our side, so you don’t have to set up WABA, a BSP, or legal paperwork. You just call one endpoint and pay for what you use.
All the friction — business verification, template approvals, monthly BSP subscriptions — is on us. You stay focused on your product.
Try It in 5 Minutes
Don’t take “it’s simple” on faith — send your first OTP with a single request:
curl -X POST https://api.otpspace.com/v1/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone": "+628123456789"}'
Try OTP Space free — 10 trial credits, no credit card required. Full request/response details are in the API documentation.
Takeaway
Meta’s WABA pricing changes aren’t bad news for everyone. But for indie developers who use WhatsApp only to send OTPs, the signal is clear: WABA is the wrong tool for the job.
If you want something simpler, cheaper, and free of multi-day setup just to send a verification code — give OTP Space a try.