Skip to main content

SMS OTP Verification

SMS OTP verification with Twilio codes, retries and fallback in one flow

Send one-time passwords for sign-up, login, password resets and payments through your own Twilio account. MonoChat workflows handle timeouts, retries and fallback, and keep a record of every code you send.

Or start with $150 of credit, enough for a first month of Growth

  • Login and sign-up codes
  • Password resets
  • Retry and fallback
  • Security alerts
Nova Bank SMS

Nova Bank: 482913 is your login code. It expires in 5 minutes. Never share it with anyone, including our staff.

08:41

Nova Bank: you signed in on a new device (Chrome on Windows). Not you? Reply NO.

08:42

NO

08:45

Security check started

New device · Chrome on Windows

Security team notified

Thank you. We have flagged this sign-in and our security team will contact you shortly.

08:45

How it works

How SMS OTP verification works in MonoChat

Your app stays in charge of creating and checking the code. MonoChat sends it through your Twilio account and manages everything around the message.

  • Your app or a custom function creates the code and starts the workflow by API
  • MonoChat sends the SMS from your Twilio number with your brand name and the expiry time
  • No delivery or no sign-in? The workflow resends, waits or falls back to WhatsApp or email
  • Every send, status and fallback is recorded for your team
Nova Shop SMS

Nova Shop: 739204 is your password reset code. Valid for 10 minutes.

14:02

Nova Shop: here is a new code, 615830. Your previous code no longer works.

14:04

Password changed

Nova Shop account

Today at 14:05

Nova Shop: your password was changed. Not you? Reply NO and our team will help.

14:05

Features

Everything around the code, handled in one workflow

Twilio delivers the SMS. MonoChat decides when to send, what to do when it fails and who sees the result.

Example messages

SMS OTP flows in practice

Three common verification moments, and what the customer sees on their phone.

Sign-up phone verification

Confirm the number belongs to the new customer before the account goes live.

Nova Fit SMS

Nova Fit: 204617 is your verification code. Enter it in the app to finish signing up. Valid for 5 minutes.

19:20

Welcome to Nova Fit! Your number is verified. Reply STOP to opt out of SMS updates.

19:21

Delivery handover code

Give the courier a code so the parcel reaches the right person.

Nova Store SMS

Nova Store: your parcel arrives today between 14:00 and 16:00. Give the courier the code 5821 at delivery.

09:10

Can my neighbour at number 12 take it?

09:32

Yes, just share the code with your neighbour. We have added a note for the courier.

09:32

Payment confirmation

Ask for a code before a payment goes through, and catch fraud with a single reply.

Nova Pay SMS

Nova Pay: 551204 confirms your payment of $250.00 to Nova Electronics. If you did not start this payment, reply NO.

13:15

NO

13:16

The payment has been stopped. Our fraud team will contact you shortly.

13:16

Best practices

How to write an OTP SMS that works

Short, clear verification messages are delivered, read and used faster, and they cost less.

  • Start with your brand name and put the code early in the message
  • Say how long the code is valid, for example 5 minutes
  • Tell customers never to share the code, not even with your staff
  • Limit resends and attempts with rate limits
  • Stay within one segment: 160 GSM-7 or 70 Unicode characters
  • Offer WhatsApp or email as a fallback when SMS fails
  • Rate limiting
  • Retry logic
  • Audit logs
  • Delivery tracking

How to set up SMS OTP in MonoChat

Four steps from your Twilio account to a working verification flow.

  1. Connect your Twilio account

    Add your Twilio credentials and the number you use for verification messages.

  2. Create the OTP workflow

    Start it from your app by API, and write the message with the code, your brand name and the expiry time.

  3. Set retries and fallback

    Choose resend limits, timeouts and whether to fall back to WhatsApp or email when SMS fails.

  4. Monitor delivery

    Track sends, failures and fallbacks in MonoChat and refine the flow as you learn.

FAQ

SMS OTP verification FAQ

How OTP codes are sent, what happens when they fail, and how to keep them secure and affordable.

What is SMS OTP verification?

An SMS OTP (one-time password) is a short code sent by text message to confirm that a person controls a phone number. It is used for sign-up, two-factor login, password resets and payment confirmation. Each code works once and only for a short time.

How do I send OTP codes with Twilio and MonoChat?

Connect your Twilio account to MonoChat and create an OTP workflow. Your app (or a MonoChat custom function) generates the code and starts the workflow by API, MonoChat sends the SMS from your Twilio number, and your app checks the code the customer enters.

What happens if the OTP SMS does not arrive?

The workflow can resend the code within the limits you set, wait for a timeout and then fall back to another channel such as WhatsApp or email, or hand the case to an agent. Every attempt is recorded, so your support team can see what happened.

Is SMS OTP secure enough?

SMS codes are widely used and much stronger than a password alone, but they can be intercepted through SIM swap or phishing. Keep codes short-lived, limit attempts, tell customers never to share them and add a stronger factor for high-risk actions.

How long should an OTP code be valid?

Keep the validity short, typically a few minutes, and accept each code only once. Your app sets the expiry, and the message states it so customers know how long they have.

How much does an OTP SMS cost?

Twilio bills each SMS to your Twilio account at its per-segment price for the destination country. Keeping the message within one segment (160 GSM-7 or 70 Unicode characters) and limiting resends keeps costs predictable. Your MonoChat plan is billed separately.

First month of Growth on us

Send SMS OTP codes with Twilio and MonoChat

Connect Twilio, build your verification workflow with retries and fallback, and track every code from one dashboard.

One code per business • 30 days to redeem • No card needed

$150 to get started.

Claim