Skip to content

What an SMS OTP costs in India, and what DLT asks of you

SMS OTP prices in India per message, what DLT registration involves for OTP templates, whether you can send OTP without DLT, and the cheaper options.

OTPUpdated 19 October 20267 min read

An SMS OTP in India costs about Rs 0.10 to Rs 0.45 per message in 2026, plus 18% GST. Before you can send the first one, you also need DLT registration. Here is what each provider charges, what DLT involves, and when you can skip SMS entirely.

Price per SMS OTP

Provider Price per OTP SMS
MSG91 About Rs 0.15 at base rates, about Rs 0.13 at high volume
Gupshup About Rs 0.17
Kaleyra About Rs 0.18
Twilio (India) About Rs 0.45

Prices are before 18% GST and move with volume. The real cost per successful login is higher than the price per message: users who do not get the code tap Resend, and each resend is billed.

What it adds up to

Logins a month At Rs 0.15 With 20% resends
10,000 Rs 1,500 Rs 1,800
1 lakh Rs 15,000 Rs 18,000
10 lakh Rs 1,50,000 Rs 1,80,000

What DLT asks of you

TRAI’s Telecom Commercial Communications Customer Preference Regulations (TCCCPR) 2018 put all commercial SMS in India on Distributed Ledger Technology (DLT) platforms run by the operators. For OTP you register:

  1. Your business as a Principal Entity, with company documents.
  2. A header, the sender id users see, such as KIRANA.
  3. Each message template, with variables for the code, for example Your Kirana Express code is {#var#}. It expires in 10 minutes.

Your SMS provider attaches the registered ids to every message. A message that does not match a registered template is blocked by the network. Plan for registration and template approval to take days, not minutes.

Can you send OTP without DLT?

Not by SMS through legitimate routes. Messages to Indian numbers from unregistered senders or templates are filtered by the operators, and offers of “OTP without DLT” usually mean international routes that deliver poorly and break the rules.

You can, however, verify users without SMS, and none of these need DLT:

Method Cost each Needs DLT
Email OTP Rs 0.03 on SignOps No
WhatsApp authentication message About Rs 0.115 plus GST (Meta’s rate) No, but needs WhatsApp Business approval
Push approval on a trusted phone Rs 0.30 on SignOps, about Rs 4.40 on Twilio No
Passkey Rs 0 on SignOps No

A sensible mix

Most apps need SMS once per user: to prove a phone number at signup. After that, logins can move to cheaper or safer methods. Email codes cost a fifth of an SMS. Push approvals cost more than an SMS but cannot be read out to a caller or caught by a SIM swap. Passkeys cost nothing per sign-in.

See OTP service providers in India for a side-by-side, and email OTP vs SMS OTP for when each fits.

Sources: Message Central: SMS OTP pricing in India, Message Central: India SMS guidelines and DLT, WhatsApp Business API pricing in India.

Frequently asked questions

More questions? Email us and the answer goes on this page.

hello@signops.dev
How much does an SMS OTP cost in India?

Usually Rs 0.10 to Rs 0.45 per message in 2026, depending on the provider and your volume, plus 18% GST. MSG91 is around Rs 0.15 at base rates and Twilio around Rs 0.45.

Is DLT registration mandatory for OTP SMS?

Yes. Under TRAI's TCCCPR 2018 rules, every commercial SMS sent to Indian numbers, OTPs included, must come from a registered entity, sender id (header) and template on a DLT platform. Unregistered templates are blocked by the operators.

Can I send OTP without DLT registration?

Not by SMS through legitimate Indian routes. You can verify users without SMS, and so without DLT, by email OTP, WhatsApp authentication messages, push approval on a trusted phone, or passkeys.

Is WhatsApp OTP cheaper than SMS?

In India, Meta lists authentication messages at about Rs 0.115 each plus GST, which is a little cheaper than most SMS OTP routes, before any provider's fee.

Send your first push today.

Free for 1,000 push devices, 100 approvals a day, 10,000 passkey sign-ins a month and 500 email codes to try. No card until you pass a free amount.