MarioSMS

QA AND OTP TESTING Test the signup flow the way a user meets it.

Real carrier numbers in the countries you actually ship to, for the one check your test suite cannot fake.

A mocked SMS gateway proves your code calls the right function. It does not prove that your sender ID survives a Turkish carrier, that your template fits in one segment after Cyrillic transliteration, or that the code still arrives when the number is a +55 mobile rather than a +1 landline. Those failures show up in production, usually as a support ticket from someone who could not create an account.

This is for engineers testing a flow they own or are authorised to test. If that is you, this was built for you, and the pricing is designed around how often a test suite runs.

What a real number catches that a mock does not

Delivery differs by route. The same message sent through the same provider reaches one carrier in four seconds and another in ninety, and some carriers silently drop traffic whose sender ID is not registered locally. A staging environment pointed at a fake gateway reports none of that.

Formatting breaks at the edges. A message that is one segment in English becomes three after translation, and the cost and the delivery odds change with it. Alphanumeric sender IDs are prohibited in some countries and mandatory in others.

Numbering plans are not uniform. A validator that accepts every +44 number will happily accept a UK landline that can never receive an SMS, and you will not discover it until a user tries.

Fitting it into a test run

The API is built for this. Request a number for the service and country under test, poll for the code, assert on it, and release. An activation that receives nothing cancels itself and refunds, so a flaky third-party does not quietly bill you for a failed run.

Because billing is per delivered code with no subscription, a nightly job that exercises five countries costs a few cents a night and nothing on the nights it fails.

Where it stops

This is for testing systems you own or are authorised to test. Rented numbers are not a way to bulk-create accounts on someone else's platform, and our acceptable use policy says so plainly.

Numbers people use for this

Common countries

Read next

Questions

Can I automate this in CI?

Yes. The REST API covers requesting a number, polling for the code and cancelling, and there are Python and Node clients. A run that receives no code cancels itself and refunds, so a failing test does not accumulate charges.

Do I get the same number each run?

No. A number is allocated for one verification window and returns to the pool afterwards. If your test asserts on a fixed number, assert on the code instead.

Which countries should I test?

The ones your users sign up from, starting with the ones whose carriers are strictest. India, Brazil, Turkey and Indonesia surface routing problems that the United States and the United Kingdom hide.

Other use cases