MarioSMS
The SMS Code Did Not Arrive. What Now?

The SMS Code Did Not Arrive. What Now?

By MarioSMS team · · 13 min read

Contents
  1. The four causes that explain most missing codes
  2. The signal that tells you which one you have
  3. When waiting longer is pointless
  4. How does a verification SMS actually travel?
  5. What should you do in the first five minutes?
  6. Which services and countries deliver codes most reliably?
  7. What does it cost to try again?
  8. Common questions about codes that never arrive

Most missing codes come from a handful of causes, and each one leaves a different trace. The number may be busy, the sender may be filtered, the app may have sent nothing at all, or the message may be sitting in a queue two hops away. The table below ranks the eight most common causes and the signal that identifies each.

Eight reasons a code goes missing

CauseHow you can tellWhat to do
The service filtered the numberNothing arrives, no error on screenTry another country, or another service window
Wrong format enteredThe form rejects the number itselfRe-enter in international format
The activation window ran outThe rental cancels itselfRent again, the price came back
Carrier filtering on your own lineOther messages arrive, codes do notAsk the carrier to unblock A2P messages
RoamingYou are abroad on your home SIMWait, or use a local number
Rate limited by the serviceResend does nothingWait out the cooldown, usually minutes
The account already existsYou get a login code, not a signup codeUse account recovery instead
Full message inbox on an old phoneNothing new arrives at allClear the inbox

Ordered roughly by how often each one turns up in support questions.

Ranking matters because the fix differs. A number that already received a code for the same service will not receive a second one, which is why MarioSMS rents one number for one activation at a time. A filtered sender, on the other hand, looks identical from the outside until you try a different country. The screenshot shows the waiting state most people stare at.

Codes that never arrive are usually decided in the first 60 to 90 seconds. After that the odds drop sharply, and the useful move is to cancel and start a fresh activation rather than refresh the same screen for five minutes.

The four causes that explain most missing codes

Four causes cover the majority of cases: the service refused to send (rate limit or risk flag), the number type was rejected, the route filtered A2P traffic, or the request never left the app because the form silently failed. Each of the four produces a different on-screen signal in the sending app.

The signal that tells you which one you have

Read the app, not the dashboard. “Code sent” with a countdown means the request left the app and the problem is downstream. No countdown and no confirmation means the request failed at the source. An error like “this number cannot be used” means the number type was rejected, and a different country is the next step, not a longer wait.

When waiting longer is pointless

Codes usually appear within a minute. Every MarioSMS number runs on an activation window, and if no SMS lands the activation cancels itself and the price returns to your balance automatically. At $0.04 and up per number, a second attempt on another country costs less than ten minutes of refreshing.

How does a verification SMS actually travel?

A code that “never arrived” usually did exist somewhere. It was generated, handed to a sender, routed across at least two networks and dropped at one specific handoff. Knowing the handoffs tells you which retry is worth making.

Waiting for a verification code that has not arrived

The sender, the aggregator and the carrier

Three parties touch the message before your screen does.

  1. The app generates a one-time code and calls its messaging provider (Twilio, Vonage, MessageBird or an in-house stack).
  2. The provider hands the message to an aggregator, which picks a route into the destination country based on price and delivery history.
  3. The aggregator passes it to a local carrier, which pushes it to the handset.

Each hop can accept the message and still not deliver it. A provider returns “sent”, the aggregator returns “delivered to carrier”, and the carrier silently discards it. The sign-up form only ever sees step 1, which is why the app tells you the code is on its way while nothing lands. For a virtual number, the last hop terminates at the SMS gateway that feeds your dashboard.

Why some routes drop A2P traffic

Application-to-person messages (A2P SMS) are billed and filtered differently from person-to-person texts. Carriers run content filters on them, blocking messages with shortened links, unregistered sender IDs or sender names that do not match a registered brand. Grey routes, which push A2P traffic through cheaper person-to-person channels, get shut off by carriers with no warning and no error back to the sender.

The result is asymmetric. A code from the same app reaches a German number in eight seconds and never reaches an Indonesian one, because the aggregator used a different route for each. Route quality changes week to week, so a country that failed in March can work today.

What the activation window is counting

The window counts real delivery time, not processing time. Most codes land in under a minute, so a window measured in minutes covers a retry from the app plus queueing at the carrier. When it expires with nothing received, the activation cancels and the price goes back to your balance, no ticket needed.

What should you do in the first five minutes?

Work from the cheapest check to the most expensive one. Each step has a stop condition, so you never pay twice for a problem you could have fixed with a toggle.

What a retry costs

What happenedYou pay
Code arrivedThe price of that number
Nothing arrived before the window closedNothing, refunded automatically
Wrong country, then the right oneOnly the attempt that received the code

Only activations that receive an SMS are charged.

Steps 1 to 4: checks on your own handset

  1. Pull down the notification shade and open the SMS app itself. Codes from short codes sometimes land in a “Junk” or “Transactions” folder and never fire a banner. Stop if the code is sitting there.
  2. Toggle airplane mode on, wait 10 seconds, toggle it off. This forces a fresh registration with the tower and flushes messages held while your phone was out of coverage. Stop if the code arrives within 30 seconds of reconnecting.
  3. Check your storage. A full message database silently drops incoming SMS on some Android builds. Delete a few old threads and ask for a resend.
  4. Confirm you are not blocking unknown senders or short codes in the SMS app settings, and that no spam filter app is in the path. Stop once the filter is off and a fresh code lands.

If you rented a number instead, steps 1 to 4 do not apply. Open the activation in the MarioSMS app or dashboard and watch the timer. Codes usually appear in under a minute. If the window closes empty, the activation cancels and the price returns to your balance automatically, so the cheapest next move is a new number, often on a different country.

Steps 5 to 7: checks on the sign-up side

  1. Verify the number you typed, digit by digit, including country code and any leading zero you should have dropped.
  2. Wait out the resend cooldown instead of tapping resend four times. Repeated requests can queue behind each other and arrive out of order, which makes the newest code the only valid one.
  3. Try the same account from a different network. Some A2P routes fail for one carrier and work for another, so a number on a second operator is a real test.

When to request a voice call instead

Ask for the voice option once two SMS attempts have expired with nothing received. Voice uses a separate delivery path, so it often lands when SMS does not. Have a pen ready, most robocalls read the digits twice and then hang up.

Which services and countries deliver codes most reliably?

Delivery is not uniform. The same app can accept a number from one country and silently drop the SMS for another, because the sender picks a route per destination and some routes are cheaper and worse. MarioSMS keeps 35+ countries and hundreds of services in stock, with prices from $0.04, so the fix is usually selection rather than retrying.

A failed activation refunded automatically

Stock changes through the day as numbers get used and returned. The table below shows where codes land most consistently right now, with the count of numbers available, how many services that country covers, and the starting price. Sort by stock first, then by price, and pick from the top three rows.

Services that filter by number range

Large platforms maintain allow and deny lists at the prefix level, not the country level. A number from a blocked range gets no message at all, with no error shown to you. MarioSMS lists numbers per service, so a Telegram number and a WhatsApp number come from separately maintained pools.

Pick the service from the dropdown before you pick anything else. Choosing a country first and then a service gives you whatever is left in that country, which is often the range that other users already burned through.

Why the country has to match the account

If the account was created with a US number and you now request a code on a Nigerian number, many services treat that as a new device in a new region and hold the message for review. Keep the country consistent with the account history, the payment card on file, and the network you connect from.

For a fresh second account, the country choice is open. Pick one where the service has high stock, since stock tracks how often codes actually arrive on those ranges.

Picking from 35+ countries in stock

  1. Select the service.
  2. Read the stock count for each country.
  3. Rent the cheapest number with stock above zero.
  4. Watch the activation window count down.
  5. If nothing arrives, the activation cancels and the $0.04 or more returns to your balance automatically, then repeat with the next country.

What does it cost to try again?

A retry costs nothing when the first number stays silent. MarioSMS rents one number for one verification, and if no SMS lands inside the activation window, the activation cancels itself and the price returns to your balance. The table below shows what you actually pay in each case.

Where codes arrive most reliably today

CountryNumbers in stockServicesFrom
United Kingdom356,436,040291$0.02
Italy280,045,727149$0.03
Austria135,484,450126$0.04
Germany125,998,313144$0.01
France121,486,589153$0.02
Portugal107,519,476143$0.02
USA83,498,792200$0.01
Canada83,421,12437$0.05

Source: MarioSMS catalog, 2026-09-11. Deep stock usually means a healthy route.

Numbers start at $0.04 and vary by service and country, so even a paid activation that works is small. What matters is that a dead number never becomes a sunk cost. The screenshot shows a failed activation refunded automatically, with the balance back where it started.

Retrying with the identical setup usually repeats the identical result. Change one variable each time: the country, the operator range behind that country, or the moment you ask. Three deliberate retries beat ten identical ones, and each failed attempt returns to your balance anyway.

Why a silent number refunds to your balance

The refund is tied to the number activation state, not to a support ticket. If no SMS is received before the timer ends, the rental closes as unused and the charge reverses to your balance automatically. You do not email anyone, and you do not wait for a review queue.

Changing the country or service before retrying

  1. Cancel or let the current activation expire.
  2. Pick a different country with stock above zero for the same service.
  3. Rent and watch the timer again.
  4. If two countries in a row stay silent, wait 10 to 15 minutes before the next attempt, since some services throttle repeated code requests per account.
  5. Confirm you are requesting the code for a legitimate second account or test, per acceptable use.

Retrying through the API or the app

The REST API returns the activation status, so a retry loop can cancel a silent number and request the next one without a person watching. Python, Node.js, Go and PHP examples cover the same calls. In the iOS and Android apps or at app.mariosms.com, the same retry is two taps: cancel, then rent again.

Common questions about codes that never arrive

How long should I wait before cancelling?

Watch the timer on the number, not the clock in your head. Most codes land in under a minute, so if two minutes pass with nothing, the message is probably stuck at the carrier and will not clear. Let the activation window run out or cancel it yourself, then rent a fresh number.

Does a refund take time to appear?

No. When an activation ends with no SMS, the price goes back to your balance automatically, with no ticket and no waiting. You will see the same amount you paid, whether that was $0.04 or a higher price for a busier service. If you paid and got a code, that activation is used and stays charged.

Can the same number receive a second code?

Each rented number handles one verification, then it is done. If you need a second code for the same account later, rent again and expect a different number. Services that tie the account to the original number will keep sending there, so plan the account around a number you control long term.

Why did the code arrive after the timer ended?

Carrier queues and routes between the sender and the destination network add delay, and a message held in that queue can still be delivered after your window closed. By then the number has moved on and the activation is cancelled, so the late code is not shown to you. That is the case the refund exists for.

Does roaming block verification messages?

Roaming can delay or drop A2P SMS on a physical SIM, because the message has to pass between two networks with their own filtering rules. A rented number does not depend on where you are standing, since the code lands in the app or dashboard over the internet.

Is renting a number allowed for a second account?

Yes, for legitimate reasons: a work profile separate from a personal one, a test account for QA, or privacy on a service you do not want tied to your SIM. Bypassing a ban or impersonating someone is not allowed. The full rules are in acceptable use.