Receive real OTP and 2FA codes on a live-SIM phone
Cloud phones have no SIM, so the one-time code never arrives and the flow stalls. Here a real Android phone holds a live SIM and receives your app's SMS — read the code in your Live session or straight from an Automate script.
Android · real live SIM · receive-only · Live and Automate
Your verification code is 483920
Latest code
Received on +91 98765 43210
The code that used to need your own phone
Sign-up, login, a payment confirmation — so many flows stop at a one-time code sent by SMS. A cloud phone has no SIM, so testers get stuck, or someone reads the code off their own phone and types it in by hand. Here the phone has a real, live SIM: send your app's OTP to its number and the text lands in your session, with the code already pulled out and ready to copy.
Receive-only, by design
The phone can only receive SMS. It can't place calls, send texts, or use mobile data, and incoming calls are turned away automatically. That's not a setting someone can flip — it's locked on the device itself, so the number stays a safe inbox for your test codes and nothing else.
A safe inbox, not a phone plan
The SIM exists to catch your codes — so it's locked down to do exactly that and nothing more.
Receives SMS
OTPs, 2FA codes and login links arrive on a real mobile number.
No outgoing calls
It can't dial out, and incoming calls are auto-rejected.
No outgoing SMS
The phone can receive texts, never send them.
No mobile data
The SIM carries texts only; the phone browses on Wi-Fi.
What you can do with SIM / OTP
A real number that catches your codes — and hands them to you ready to use.
Catch OTP and 2FA codes
Real SMS to a real number — the verification code your sign-up, login or payment flow sends. The phone receives it like any other.
The code, pulled out for you
We read the arriving text and surface the code on its own, with one-tap Copy — so you paste it into the app instead of squinting at a message.
You're told where to send it
The phone's own number is shown with its country code, right in the panel, so you know exactly which number your app should text.
Receive-only and locked down
No outgoing calls or texts, no mobile data, incoming calls auto-rejected — enforced on the device, so the test number can't be misused.
By hand in Live
Open the Messages panel in your session; each text appears as it lands, newest first, with the latest code front and centre.
In your automated suites
Read the same code from an Automate script, so OTP and 2FA steps run end-to-end in CI — not only when someone's watching the screen.
Three steps to a code
Pick a SIM phone
In the device picker, choose a phone marked SIM. It starts locked down and ready to receive.
Send your code to its number
Trigger your app's OTP or 2FA as usual, sending it to the number shown in the Messages panel.
Copy the code
The text lands in the panel with the code pulled out — tap Copy and paste it into the app, by hand or from your script.
Frequently asked questions
Any one-time code or message sent to the phone by SMS — sign-up OTPs, login and payment 2FA codes, and verification or magic-link texts. The phone holds a real, live SIM, so it receives them exactly as a normal phone would.
The phone's own number is shown in the Messages panel, with its country code, so you always know where your app should send the SMS.
No — it is receive-only by design. It can't send SMS, can't place calls, and incoming calls are turned away automatically. The SIM also carries no mobile data; the phone browses over Wi-Fi. These limits are locked on the device and can't be turned off, so the test number stays a safe inbox.
Yes. An Automate script can read the received SMS the same way you would by hand, so OTP and 2FA steps run end-to-end in your suites, not only in manual sessions.
SIM / OTP testing runs on a real Android phone with a live SIM. You'll see a SIM marker on the eligible device in the picker.
The inbox is wiped at the start and end of every session, so one tester's codes never carry over to the next. Messages are shown to you live during the session and aren't kept after it ends.
Get past the one-time code
Send the OTP to a real number, read it in your session or your script, and carry on testing the flow behind it.