One-time codes
that always arrive.
Send verification codes over WhatsApp, SMS, Voice, and Email with automatic fallback. Sub-second delivery, 180+ countries, and built-in fraud protection. Go live in minutes.
Free tier · No credit card required
import Zavudev from '@zavudev/sdk'
const zavu = new Zavudev({ apiKey: process.env.ZAVUDEV_API_KEY })
// Send a verification code — WhatsApp first, auto-fallback to SMS
await zavu.messages.send({
to: '+14155551234',
channel: 'auto',
fallbackEnabled: true,
text: 'Your code is 481920. It expires in 5 minutes.',
})Why Zavu
Built so the code always lands.
A failed verification is a lost signup. Zavu optimizes every code for delivery, cost, and trust.
Delivers every time
Automatic fallback across WhatsApp, SMS, and Voice means the code always lands — even when one channel fails.
Cut cost up to 80%
WhatsApp Authentication templates plus smart routing pick the cheapest path that still delivers. No markup on carrier fees.
Fraud protection
Rate limiting, geo controls, and routing rules stop SMS pumping and toll fraud before it hits your bill.
Global reach
Deliver verification codes to 180+ countries out of the box, with local routing everywhere.
Live in minutes
One send() call. SDKs for Node, Python, Ruby, Go, and Java, plus a clean REST API.
Secure by default
Expiry, one-time use, and attempt limits are part of every verification flow.
Channels
Every channel, one fallback.
Set channel to 'auto' and Zavu delivers on the best channel — then retries on the next if it fails.
Authentication templates — the cheapest, highest-trust channel.
SMS
Universal fallback that reaches any phone, anywhere.
Voice
Read codes aloud for users who can't receive SMS.
Magic codes for web and desktop sign-in flows.
How it works
Three steps to verified.
Send the code
Call the API with the recipient and your message. Zavu picks the best channel and delivers in seconds, falling back automatically if one fails.
User enters it
They receive the code on WhatsApp or SMS and type it into your app or checkout.
Verify server-side
Compare it against the hashed code you stored, enforcing expiry and attempt limits. One-time use, then invalidate.
Anti-fraud
Verification you can trust.
Fraud protection is on by default — no extra wiring, no surprise bills.
SMS pumping protection
Detect and block artificial traffic inflation.
Rate limiting
Cap requests per number and per window automatically.
Auto expiry
Codes expire on a schedule you control, 1-60 min.
One-time use
Codes invalidate after a successful verification.
FAQ
Questions, answered.
How fast do OTP codes arrive?
Median delivery is sub-second on WhatsApp and typically 1-5 seconds on SMS. Zavu routes each code to the fastest channel for the destination country, so users never wait.
What happens if a message fails to deliver?
With fallback enabled, Zavu automatically retries on another channel — WhatsApp to SMS, or SMS to Voice — so the verification code still lands. You don't lose the signup.
How much does OTP verification cost?
Start free with 2,000 messages a month. WhatsApp Authentication templates are far cheaper than SMS in most countries, and smart routing always picks the lowest-cost path that still delivers. No markup on carrier fees.
Do you protect against SMS pumping and toll fraud?
Yes. Built-in rate limiting, geo controls, and routing rules block artificial traffic inflation and toll fraud before it hits your bill.
Which channels can I send codes on?
WhatsApp, SMS, Voice, and Email — with automatic fallback between them. One API, one integration, every channel.
How long does it take to integrate?
Minutes. It's one send() call, with SDKs for Node, Python, Ruby, Go, and Java plus a REST API. Start on the free tier — no credit card required.
Start verifying users today
Send your first verification code in minutes. Free tier, no credit card, no delays.