OTP Verification via SMS is not arriving

Dear Web3Auth Support Team,

I’m trying to log into my account on Cypher Wallet, which uses Web3Auth.io for authentication. After an iOS update on my mobile device, it seems there was a system cleanup, and now Web3Auth is treating my login attempt as if it’s from a new device.

Unfortunately, I can’t find my recovery phrase, but I do have Social Factor configured with my mobile number (see screenshot1). When I try this verification method, no SMS arrives to my phone (see screenshot2). I also remember attempting to change my mobile number in the past, but that attempt failed for the same reason. I’ve confirmed with my mobile carrier that they haven’t received any SMS messages sent to my number.

Could you please assist in obtaining the OTP code, either by investigating why the SMS delivery isn’t working, sending me the OTP code directly, or offering any alternative method? This is the only way I can log in, as I’ve lost my recovery phrase, and I cannot roll back the iOS update to make Web3Auth recognize the device as it was before.

I’d be happy to provide any further information you need privately.

Looking forward to your assistance,
Jim


Thank you for your detailed message and screenshots, Jim. I understand how stressful it can be to lose access, and I’ll summarize your situation for the support team to expedite troubleshooting:


Issue Summary

  • Platform/SDK: Cypher Wallet (integrated with Web3Auth Plug n Play)
  • Device/OS: iOS (recently updated, causing device recognition issues)
  • Authentication Method: SMS OTP (mobile number as Social Factor)
  • Problem: Not receiving the OTP SMS for verification. Previously, attempts to change the mobile number also failed due to non-receipt of SMS.
  • Recovery Phrase: Lost
  • Carrier Check: No SMS received at carrier level
  • Screenshots Provided: Yes (showing social factor config and OTP screen)
  • Critical: User cannot log in or recover access by any other means.

Next Steps & Suggestions

For the Support Team:

  • Please check the SMS delivery logs for the user’s mobile number associated with their Social Factor.
  • Investigate if there are any known issues or delays with the SMS OTP service for Cypher Wallet users, especially on iOS devices after updates.
  • Confirm if there are any rate limits, region-specific restrictions, or carrier blocks affecting OTP delivery.
  • If possible, provide alternative recovery methods or escalate for manual verification.

For Jim:

  • Please ensure your device has a stable internet connection and is not in Do Not Disturb mode, as sometimes this can affect SMS delivery.
  • Double-check that your phone number in the Cypher Wallet matches your current number exactly (including country code).
  • If you have access to another device, try the login process there to rule out device-specific issues.

Note: For your security, Web3Auth and Cypher Wallet teams cannot send OTP codes directly via support channels. All recovery must go through the official flows for compliance and safety.

Here are some relevant resources:


If you have any additional details (such as the exact timestamp of your last OTP request or the phone number’s country code), please share them privately with support if requested.

The support team will review your case as a priority due to account lockout and missing recovery phrase.

Let us know if you have any other questions or updates!

Note: This response was generated by an AI bot and may require further verification. The Web3Auth support team has tracked this issue and will be responding as soon as possible.

Additionally, we would recommend you to join our biweekly Office Hours to get this resolved even faster. Web3Auth Developer Office Hours

Did you used to receive OTPs before?
Can you also check on https://demo.web3auth.io ?

Hello @maharshi

Thank you for your reply.

I recall receiving an OTP once on July 11th, although it might have been related to mobile number verification inside Cypher Wallet rather than processed directly via Web3Auth. I have definitely used Web3Auth for authentication multiple times, but as far as I remember, I was only prompted for Social Login (via email), not for any additional verification.

I’ve tried https://demo.web3auth.io several times with my mobile number, but unfortunately no SMS has arrived. Moreover, I’ve tried two other mobile numbers registered in different countries, but in both cases I only saw the message “Invalid Email or Phone Number,” without proceeding to the next screen for OTP verification (“Enter the OTP sent to”). And now I recall that this is why that particular mobile number is being used, and not the other two.

By the way, is there any way to login/recover only by Social Login (email)?

Thank you in advance!

That’s not how it works, @jimlogan
If you had created social login MFA factor then you could’ve done that.
Can you please do one thing for me? Can you please check the browser logs when you get to this screen?
You will have to login via a desktop to access that.
Also, please let me know what country your number belongs to

Hello @maharshi,

I’ve made a series of tests in https://demo.web3auth.io.

As a first step, I enabled debug logs in Chrome, but nothing interesting showed up there (I’m ready to attach the logs if needed).

Next, I inspected the network traffic in the developer console. Here are my findings:

  1. For Kazakhstan, Uzbekistan, Ukraine and Serbia the “validate” response returns the following:
{statusCode: 400, error: "Bad Request", message: "Validation failed",…}
{body: {source: "body", keys: ["phone_number"], message: "Country is not supported"}}

So it appears these countries are not supported, unfortunately. This differs from Cypher Wallet policy, as I was able to register using documents from one of these countries. And that difference/limitation was actually the reason why I had to choose a different mobile number - the only one available to me at the time.

  1. For a russian mobile number, validation succeeded and OTP verification was initiated, but no SMS was received:
1. Mobile number validation
Request
POST https://api.web3auth.io/passwordless-service/api/v3/phone_number/validate
PAYLOAD {"phone_number":"+7xxxxxxx565"}

Response
{"success":true,"parsed_number":"+7-xxxxxxx565","country_flag":"RU"}

2. OTP verification
Request
POST https://api.web3auth.io/passwordless-service/api/v3/auth/passwordless/start

Response
{"success": true, "message": "Initiated successfully", "data": {"trackingId": "25mvwvdo2o8"}}

Screenshots are attached. Maybe you would get a chance to trace the flow via the trackingId or any other token/ID visible on the screenshots.

  1. I also tested mobile numbers from Spain and Croatia - worked fine.

Thank you in advance, and looking forward to your reply.