Support · Legal
Verified RCS · SMS · MMS

What is an OTP text message?

Compliance & Security

Reviewed by , VP of Global Operations, Signalmash · Last reviewed · Editorial standards

Quick answer

An OTP text is a text message carrying a one-time passcode: a short numeric code, usually four to eight digits, that a service sends to the phone number on an account so the person logging in, paying or changing a setting can prove they hold that phone. The code works once and expires within minutes. OTP is the mechanism behind most two-factor authentication (2FA) and "verify your phone number" flows. Over SMS the code arrives from a short code or an unknown number; over RCS it arrives from a verified sender with the brand's name and logo, which is what stops a phishing text from imitating it.

See this on your own phone in about 30 seconds: get a free sender ID test →

What OTP means in a text

OTP stands for one-time passcode, also written one-time password. The same message is called a verification code, a security code, a 2FA code or an authentication code depending on the service; they are all the same thing, a secret generated by the service for one transaction and sent to a device you have already registered. Because the code is created fresh each time and dies after use or after a few minutes, knowing an old one is worthless, which is the whole point.

How an OTP text works

  1. Something needs confirming. A login from a new device, a password reset, a payment above a threshold, a change of email address, or a new sign-up that has to prove its phone number is real.
  2. The service generates a code and stores it, with an expiry, against the account.
  3. The code is sent as an application-to-person text to the registered number, over RCS where the phone supports it and SMS where it does not.
  4. The person types the code back into the app or website, or the phone offers to fill it automatically.
  5. The service checks it: right code, within the time limit, not already used. Pass, and the action proceeds; after a handful of wrong attempts the code is voided and a new one has to be requested.

The code travels one way only. A business sends a passcode; it never asks for one back, so any message asking you to reply with a code, or to read one out over the phone, is fraud whatever name it shows.

Why the code comes from a short code or a number you do not know

US carriers only deliver business text traffic from registered sender types: a 10DLC local number, a verified toll-free number or a short code. High-volume OTP senders usually use a short code because of its throughput, so the code arrives from five or six digits with no name attached. That anonymity is the weakness: an SMS from 55-555 reading "Your bank code is 482913" looks identical whether the bank sent it or a fraudster did.

RCS fixes the sender side. In RCS Business Messaging every message comes from an RBM agent with a declared use case, and Google's agent model defines OTP as one of four: OTP, transactional, promotional and multi-use, where multi-use combines transactional and promotional but deliberately excludes OTP. An agent approved for one-time passcodes exists only to deliver them, which is why a bank often runs a separate OTP agent from its alerts and marketing agents.

Is SMS OTP secure?

Secure enough that it remains the most common second factor, and weak enough that the US standards body has said so in writing. NIST's Digital Identity Guidelines, SP 800-63B, classify out-of-band authentication over the public telephone network, meaning SMS and voice codes, as RESTRICTED, and tell verifiers to weigh risk signals such as a SIM change, a device swap or a recent number port before sending a code that way. The threats are SIM swapping, where an attacker takes over the victim's number, and phishing, where the victim is talked into typing a real code into a fake page or replying with it.

Three things reduce the risk without abandoning the channel:

  • A verified sender. Over RCS the phone draws the brand name, logo and checkmark from the approved agent record; a fraudster cannot reproduce that identity, so a customer can tell the real code from an imitation. Can RCS be spoofed? explains why.
  • A code bound to the site. The origin-bound one-time code format puts the website's domain on the last line of the message (@example.com #482913), so the browser or phone only auto-fills the code on that domain and a phishing page cannot harvest it.
  • A way to say no. Over RCS the same message can carry an "it wasn't me" suggested reply, so a customer who did not request a code can flag the attempt in one tap; the fraud alerts use case shows the flow.

OTP over RCS versus SMS

SMS OTP RCS OTP
Sender A short code or unknown number Your verified brand: name, logo and checkmark
Spoofable sender identity Yes, by imitation of the message No, the identity is drawn from the approved agent
Receipts Delivered Delivered and read, so you know the code was seen
One-tap response No Suggested replies such as "it wasn't me"
Phones it reaches Every phone RCS-capable phones, with automatic SMS fallback for the rest
Cost on SimplyRCS $0.0039 $0.0039

Because the RCS message falls back to SMS on phones that cannot receive it, a business sends one OTP flow rather than two, and reach is unchanged. How does RCS fall back to SMS? covers the mechanics.

What a good OTP message looks like

A verification text should identify the sender, give the code, say how long it lasts and remind the reader never to share it. Sixty characters do the job:

Acme: your verification code is 482913. It expires in 10 minutes. Never share this code; Acme will never ask you for it.

@acme.example #482913

Keep the code on its own or at the end of a sentence so the phone's auto-fill can find it, and keep the domain line last. Do not include a link; a message that carries both a code and a link teaches customers to click links in security messages, which is exactly what phishing relies on.

A passcode is a transactional message the customer has asked for by entering their number, so it does not need marketing consent, but the number does have to be one the customer supplied for the purpose. Never send promotions from the OTP sender: on RCS that is a use-case violation that puts the agent at risk, and on SMS it turns a message customers trust into one they learn to ignore. How does RCS consent work? and the RCS security best practices cover the rest.

Key facts
  • OTP stands for one-time passcode: a single-use code, usually four to eight digits, sent to a registered phone number and expiring within minutes.
  • It is the mechanism behind 2FA and phone-number verification, and a business sends codes but never asks for one back.
  • NIST SP 800-63B classifies SMS and voice codes as RESTRICTED because of SIM swap and phishing risk, while still permitting them.
  • Google's RBM agent model has a dedicated OTP use case; multi-use agents exclude it, so OTP runs from its own verified agent.
  • Over RCS the code arrives under a verified name and logo, can carry an "it wasn't me" reply, and falls back to SMS automatically.
  • On SimplyRCS an OTP costs $0.0039 whether it is delivered as RCS or SMS.

Frequently asked

What does OTP mean in a text message?

OTP means one-time passcode, sometimes written one-time password. It is a short code, usually four to eight digits, that a service sends to your phone so you can prove you hold that phone when you log in, pay or change an account setting. It works once and expires after a few minutes. A verification code, security code and 2FA code are the same thing under different names.

Why did I get an OTP text I did not request?

Someone entered your phone number into a login or sign-up form, either by mistake or while trying to get into your account. Do not share the code with anyone, however they ask. If the message names a service you use, change that account’s password and check its recent sign-ins; if it names one you do not use, ignore it. A real business never asks you to send a code back.

How long is an OTP code valid?

The service that issues it decides, and most codes expire within a few minutes and are voided as soon as they are used or after a handful of wrong attempts. If a code has expired, request a new one rather than retrying the old one.

Is an OTP over RCS different from one over SMS?

The code is the same; the message around it is not. Over RCS the passcode arrives from a verified sender with the brand’s name, logo and checkmark, which a fraudster cannot reproduce, and it can carry a one-tap "it wasn’t me" reply. Over SMS it arrives from a short code or an unknown number. A phone that cannot receive RCS gets the SMS version automatically, so reach is the same either way.

How verification, consent, and STOP handling actually work on SimplyRCS. Read the trust page →

← All RCS questions