Voice OTP and SMS OTP solve the same problem in different ways. SMS OTP is billed per message and, in India, needs a DLT-registered sender ID and template before it is delivered. Voice OTP is a phone call that reads the code aloud, billed per answered minute, with no SMS DLT template, and it reaches landlines and feature phones. Most teams use SMS first and voice as the fallback.
Add voice OTP to your login: Open the Voice OTP portal and send your first code through the API.
Side by side
| SMS OTP | Voice OTP (Edesy) | |
|---|---|---|
| How the user gets the code | Text message on the phone | A call that speaks the code, usually twice |
| How it is billed | Per message (per SMS segment), at your SMS provider's rate | Rs 1.50 per answered minute, 1-minute minimum, plus 18% GST |
| Unanswered or undelivered | Depends on your SMS provider's terms | Unanswered calls are not charged |
| DLT registration in India | Entity, sender ID (header) and content template must be registered | No SMS DLT template needed |
| Phones it reaches | Phones that can receive SMS | Any phone that can answer a call, including feature phones and landlines |
| Works for users who can't read the screen easily | Not well | Yes, the code is spoken |
| Monthly fee | Depends on provider | None |
| Delivery proof | Delivery report (if your provider returns one) | Call log with timeline, DTMF response and hangup cause; callback with status |
We have not put SMS prices in this table on purpose. SMS rates vary by provider, volume and route, and you already know yours. The useful comparison is your own SMS rate against Rs 1.50 for a voice OTP, but only on the OTPs that SMS failed to deliver.
How the cost structures differ
SMS OTP is a per-message cost. If a message has to be split into several segments (for example a long template or a non-English script), each segment can be billed. Resends cost again. Some providers also have setup, sender ID or monthly charges.
Voice OTP on Edesy is a per-minute cost:
- Rs 1.50 per answered minute, billed in 1-minute steps with a 1-minute minimum.
- A short template ("Your code is 4 8 2 9 1 3. I repeat, 4 8 2 9 1 3.") finishes inside a minute, so it costs Rs 1.50 plus GST.
- Unanswered, busy and failed calls are not charged.
- No monthly fee, paid from a prepaid INR wallet topped up with Razorpay, with GST invoices.
So voice is not trying to be cheaper than SMS per message. It is a way to reach the users SMS did not reach, at a known price per successful call. See Voice OTP pricing for the full details.
DLT: what SMS needs and voice doesn't
Under TRAI's commercial communication rules, business SMS in India goes through DLT (Distributed Ledger Technology) platforms run by the telecom operators. Before an OTP SMS is delivered you generally need:
- A registered business entity on a DLT platform.
- A registered sender ID (header).
- An approved content template, with the variable part (the code) marked.
- Messages that match the template; mismatches can be blocked.
If you change the wording of your OTP SMS, the template usually has to be approved again. Rules and operator processes change, so check the current requirements with your SMS provider.
Voice OTP does not use an SMS template, so there is nothing to register on the SMS side. You set the
spoken text yourself with a {{otp}} placeholder and can change it at any time. Voice calls have their
own telecom rules, so keep OTP calls purely transactional: no offers, no marketing lines. Our post on
TRAI rules for AI calling covers the wider picture.
Who SMS misses and voice reaches
SMS OTP fails quietly for some users:
- Landline users. Business users often sign up with an office landline that can't receive SMS.
- Feature phones and older handsets. SMS may arrive, but small screens and full inboxes make it easy to miss.
- Users who struggle to read the screen. Elderly users, users with low vision and users with limited literacy can listen more easily than read.
- Delayed or filtered messages. When an SMS is delayed, the code can expire before it lands.
Voice OTP works on any phone that can answer a call, and the code is spoken in the user's language (en-IN, en-US, Hindi and others). You can also turn on press-1 confirmation so the user confirms they heard the code.
When to use which
| Situation | Recommended |
|---|---|
| Normal app or web login on smartphones | SMS first, voice as fallback |
| User entered a landline number | Voice only |
| User tapped "Didn't get the code?" | Offer "Call me with the code" |
| Older or low-literacy user base | Voice first, or offer both up front |
| High-value action (payout, change of bank details) | Either, plus press-1 confirmation on voice |
The fallback pattern is covered step by step, with an API example, in how to add voice OTP fallback to your login. If you're new to how the call itself works, start with how voice OTP works.
How to switch on voice OTP
- Sign up on the Voice OTP portal and top up the wallet.
- Create an API key (keys look like
sk_...). - Set defaults once: language, message template with
{{otp}}, press-1 confirmation, retries on no-answer and a callback URL. - Call the API
POST https://voice-api.edesy.in/v1/voice-otp/sendwith the phone number. Send your own code or let Edesy generate one. - Read the result from the callback or the call log, and verify the code in your app as you do for SMS.
The full request and response format is in the Voice OTP docs.
Things to watch
- Rate limits. Voice OTP has a per-number, per-hour limit so a bot can't make your app call one number again and again. Keep it on.
- Code expiry. A call takes longer than an SMS to arrive and be heard. Give voice codes the same or a slightly longer validity window.
- Script length. Every extra sentence adds seconds. Read the code twice and stop.
- Same code, two channels. If you send voice after SMS, decide whether to reuse the SMS code or issue a new one, and invalidate the old one if you issue a new code.
Bottom line
SMS OTP stays the default for most smartphone logins because it's familiar. Voice OTP fills the gaps: landlines, feature phones, users who can't read the screen easily and messages that never arrive. Run both, compare on your own numbers, and use the Voice OTP product page to see what's included.
Start on the Voice OTP portal, or book a demo if you want to talk through volumes first.