The challenge: OTPs that arrived too late to matter
Nirvaana Capital had spent three years tuning its loan-application funnel — the real-time KYC, the bureau call, the income-verification step. By early 2026, the team had every stage humming inside a two-minute window. Every stage, that is, except the one step they did not own: the OTP that confirmed the applicant’s mobile number before the decisioning engine even started.
Their incumbent SMS aggregator was routed through a single operator agreement. Delivery was fine on weekday mornings — nine seconds, on average. But weekday evenings, the QPS climbed, the operator queue backed up, and customers saw OTP wait times drift past twenty and thirty seconds. By forty seconds, the applicant had switched tabs. By sixty, they were gone. The loan was unmade.
“We could see the funnel break in the dashboard,” Ramanathan recalls. “Every evening around seven, a clean 17-point dip in OTP verification. And then it just stayed dipped until ten at night. We were losing the best customers of the day — the ones motivated enough to apply at end-of-day — to a routing problem we did not even know we had.”
The approach: treat routing as a first-class product
The Nirvaana team evaluated four aggregators over six weeks. The decision point wasn’t pricing — the top three were within 8% of each other. It was visibility. “We wanted to see which operator we were on, for which handset, at which time of day, and what the p95 latency looked like,” Ramanathan says. “Everyone else showed us a delivery-rate number. SMSLocal showed us the chart.”
SMSLocal rolled Nirvaana onto multi-operator OTP routing with automatic fastest-path selection per destination circle. When Airtel queue latency climbed past a threshold, the next message silently moved to Jio or Vi with no code change at Nirvaana’s end. A secondary WhatsApp Business API OTP path was wired in for repeat customers who had already opted in.
The rollout was careful. Nirvaana ran SMSLocal in shadow mode for two weeks — every OTP sent via the incumbent was mirrored to SMSLocal and the latency recorded but no user-facing traffic switched. Once the gap was unambiguous, they moved a single tier-2 circle over, waited a week, then moved the rest.
The results: a funnel that holds at peak
Eight weeks after full rollout, the evening dip was gone. Median OTP delivery stabilised at 2.3 seconds, with the sub-five-second delivery rate sitting at 98.4% even at 4x peak QPS. The application-completion rate climbed 17.3% year-on-year — a lift Nirvaana’s growth team attributes almost entirely to the OTP step, since nothing else in the funnel changed over the same window.
The knock-on effect was on infrastructure cost. Because sub-operator routing avoided expensive fallback retries and because Nirvaana could shift some repeat-customer OTPs to WhatsApp at a fraction of SMS unit economics, monthly spend on authentication fell 22% even with a meaningfully larger top of funnel.
“The thing I did not expect,” Ramanathan adds, “is that compliance got easier too. DLT template violations dropped to zero because SMSLocal surfaces template mismatches before the send, not after. We used to spend two engineer-days a month on audits. Now we spend about an hour.”
What’s next
Nirvaana is piloting SMSLocal’s AI WhatsApp agents for post-approval customer questions — the “when will my loan amount be credited, and where do I update my bank account” volume that currently lands in email support. Early numbers suggest it absorbs roughly 40% of the contact-centre volume without human review.
“We treat messaging infrastructure like we treat our core banking stack now,” Ramanathan says. “If the p95 moves by 200 milliseconds, someone is on a call.”



