Authentication · 2026-06-08

WhatsApp OTP vs SMS OTP in India (2026): cost, deliverability, DLT

8 min readby QuickAuth

For years the default OTP channel in India was SMS, and WhatsApp was the "nice to have". In 2026 that has flipped for most consumer apps: at Meta's January 2026 rate of about ₹0.115 per delivered authentication template, WhatsApp OTP undercuts almost every Indian SMS route, lands at 99%+ deliverability, and skips DLT registration entirely. But SMS still wins in three specific cases. Here is the honest comparison.

The cost, side by side (India, 2026)

All figures below are per delivered message and exclude the 18% GST that applies to both the platform charge and any BSP markup. Failed deliveries are not billed on either channel.

Channel                     Typical India rate (2026)
─────────────────────────────────────────────────────
WhatsApp authentication     ~₹0.115 / delivered template
SMS OTP — MSG91             ~₹0.15  / delivered SMS
SMS OTP — Gupshup           ~₹0.17  / delivered SMS
SMS OTP — Kaleyra           ~₹0.18  / delivered SMS
SMS OTP — Twilio (India)    ~₹0.45  / delivered SMS (+ FX)
SMS OTP — volume floor      ~₹0.10  / SMS above ~1 lakh/mo

Two things stand out. First, WhatsApp authentication is now cheaper than the cheapest mainstream SMS route at typical volumes. Second, Meta offers volume discounts on authentication and utility templates (roughly 5–20% off as you climb from 10K to 1M+/month) — marketing templates get no such discount. SMS providers also discount at volume, but the floor (~₹0.10) sits above WhatsApp's.

The pricing-model change you need to know

Since 1 July 2025, WhatsApp bills per delivered template message, not per 24-hour conversation. This matters for OTP because each verification is a single message — you pay once per OTP, full stop. One caveat unique to authentication: it is billed even inside the 24-hour customer-service window, unlike utility templates, which are free when sent inside an open window.

The other trap is Authentication-International. The moment your sender WABA's registered country code does not match the recipient's, the message bills at the international rate for that country — often 5–20× the domestic rate. If you are an Indian business verifying Indian numbers from an India-registered WABA, you pay the domestic ₹0.115. Verifying a +44 or +1 number from the same WABA costs dramatically more. Plan your channel routing around this.

Deliverability: where WhatsApp pulls ahead

SMS OTP in India has a deliverability tax that never shows up on the rate card:

  • DND filtering. Transactional SMS reaches DND numbers only on a registered transactional 6-character alpha header with an approved template. Get the template scrubbing wrong and delivery silently drops.
  • Operator latency spikes. SMS routes through aggregators and operator SMSCs; during peak load, OTP latency can blow past the 30–60s window users will wait, and they bounce.
  • No delivery certainty. A "submitted" SMS is not a delivered SMS. WhatsApp gives you a real delivered/read receipt per message.

WhatsApp authentication templates land at 99%+ delivered with a double-tick receipt and, with the one-tap autofill copy-code button, a verification UX that beats typing a 6-digit SMS. The catch: WhatsApp only reaches users who have WhatsApp installed — near- universal on Indian smartphones, but not 100%, and not on feature phones.

Compliance: WhatsApp skips DLT

This is the most under-appreciated difference. SMS in India is governed by TRAI's DLT regime — you register a Principal Entity, a header, and every template before you can send (see our DLT registration guide). WhatsApp Business API messages run on Meta's platform and are outside DLT scope. No entity fee, no header approval wait, no template scrubbing on the TRAI side — just Meta's own template approval, which is faster.

For a team that wants to ship phone verification this week, that alone is often the deciding factor: WhatsApp OTP can go live while your DLT entity is still pending.

When SMS still wins

WhatsApp is not a universal replacement. Keep SMS — ideally as an automatic fallback — in these cases:

  1. Users without WhatsApp. Feature phones, dual-SIM secondary numbers, and the small slice of smartphone users without the app. SMS is the universal floor.
  2. First-touch where you have no WhatsApp opt-in signal. Authentication templates don't require marketing opt-in, but some flows still prefer SMS for the very first contact.
  3. Regulated flows that mandate SMS. A few banking and government integrations still specify SMS OTP explicitly.

The pattern we recommend: WhatsApp-first, SMS fallback

The cheapest and most reliable setup is not "pick one". It is a routing layer that tries WhatsApp first (cheaper, higher deliverability, no DLT) and falls back to SMS within a couple of seconds if the WhatsApp send fails or the number has no WhatsApp — with voice OTP as the last resort. You get WhatsApp economics on the majority of traffic and SMS coverage on the long tail.

That multi-channel routing — WhatsApp → SMS → voice, on one API, one dashboard and one INR invoice, with DLT handled for you on the SMS side — is exactly what QuickAuth's authentication API does. You don't pick a channel; you set a fallback order and we route each OTP to the cheapest channel that will actually deliver.

Bottom line

In 2026, default to WhatsApp OTP for Indian consumer apps: it is cheaper than SMS, more reliable, has a better verification UX, and needs no DLT. Keep SMS as the fallback for the long tail of users without WhatsApp. The mistake is running only one channel — you either overpay (SMS-only) or miss the long tail (WhatsApp-only).