Handling Maldivian (+960) one-time codes in QA and operations

Calling code +960OTP Gateway from $0.20 per codeDedicated numbers: US & Canada onlyAPI id: mv
Quick answer

Yes, OTP Route can receive Maldives (+960) SMS verification codes for you: the OTP Gateway issues a one-time Maldivian number per service, and the code appears in the dashboard or reaches your backend via API polling or a signed webhook. Codes start from $0.20 per code, and an order that gets no SMS within 20 minutes is refunded in full to your wallet.

The situation: a travel or hospitality product has to work for +960 users

Picture a booking platform, a resort operations tool or a delivery app that is about to support guests and partners in Malé and across the atolls. The engineers live elsewhere, the verification screen was designed around much longer numbers, and nobody on the team owns a Maldivian SIM. Someone has to prove the phone step works before launch.

That is the gap the OTP Gateway fills. It hands your test a real +960 number for a single verification, so you can receive Maldives SMS OTP messages on your own staging or production sign-up flow without travelling, roaming or borrowing a colleague's phone.

Teams usually arrive here for one of three reasons: localization QA for a tourism-heavy market, a regional launch across South Asia and the Indian Ocean, or an operations team that wants a company account verified without tying it to anyone's personal number. The QA testing page describes the wider workflow.

Why do seven-digit Maldivian numbers trip up validation code?

The Maldives uses a closed numbering plan: +960 followed by seven digits, with no trunk prefix to add or strip. That short length is exactly what catches many forms out. A regex that expects at least nine national digits, or a library configured for a different default region, will reject a perfectly valid number.

A few checks worth adding to your test suite:

  • accept both +960 followed by seven digits and the bare seven-digit local form, then normalize to E.164 before saving;
  • confirm that no code path inserts a zero, because there is no trunk prefix to restore;
  • render the number correctly in confirmation screens and receipts.

Dhivehi, the national language, is written in the right-to-left Thaana script, while English is widely used in business and tourism. Expect most verification texts from international apps to come through in English, but extract the digits rather than matching on wording, so a localized template would not break your parser.

What can a +960 number verify today?

Right now the Maldives route covers more than 1,700 services. Names from the current snapshot include WhatsApp, Telegram, Viber, Instagram, Facebook, Airbnb, Uber, Google (Gmail & YouTube), LinkedIn, Microsoft & Outlook, Snapchat, TikTok, Claude and Netflix.

For a travel product, the useful pairing is often a booking or messaging service plus your own app, so you can check how a guest's number behaves across both. Availability changes over the day, which is why the API returns live data rather than a fixed list. The broader catalog is under services.

Wiring the Maldives OTP API into an automated test

Create an API key in the Developer console; it starts with or_live_ and is sent as a Bearer token to https://otproute.com/api/v1. The Maldives country id is mv.

  1. Ask GET /api/v1/prices?country=mv&service=airbnb what the order will cost and whether stock is there.
  2. Submit POST /api/v1/activations with {"service": "airbnb", "country": "mv"} to receive an activation id and the +960 number.
  3. Feed the number into the flow under test.
  4. Pick up the +960 code when activation.sms_received hits your endpoint, or by polling GET /api/v1/activations/{id} instead.
  5. When a Maldives test bails out early, send POST /api/v1/activations/{id}/cancel and the wallet is credited at once.

Signed deliveries include X-OTPRoute-Signature in the form t=<unix>,v1=<hex>. Compute HMAC-SHA256 of the timestamp, a dot and the raw body using the endpoint secret, compare, and refuse old timestamps. You can register up to 5 webhook endpoints and use up to 300 requests per minute. Field-level details for this Maldives OTP API are in the developer docs.

Opening a +960 number from the dashboard instead

Not everyone on the project writes code, and the dashboard covers the same ground. Choose Maldives as the country, pick the service, confirm the live price, and the number appears on screen. Paste it into the app, then watch the order: the code shows up in the same row once the service sends it.

The order lasts 20 minutes. You only pay if the code arrives; a cancelled or expired order is refunded automatically, so a support agent checking a guest-facing flow does not need finance approval for each attempt.

When the code stalls: a short recovery routine

Delivery timing depends on the service and on the route, so a quiet first minute is normal. If nothing has arrived:

  1. Keep waiting until the window is close to closing.
  2. Retry later in the day, or test with a different service route.
  3. Check whether the target service accepts virtual numbers; some decline them by policy.
  4. Avoid placing new orders in a rapid loop, which only wastes rate limit.

The article on country routing for OTP explains how to fall back across routes when a single country is thin.

Long-term lines, the wallet and sandbox mode

OTP Route has no self-serve long-term number in the Maldives. If you need a line your team keeps, write to [email protected]; whether one is possible depends on local rules. Dedicated Numbers that renew month to month exist only in the United States and Canada, from $1.95/month.

Billing runs from a single prepaid USD wallet: no subscription, no plan tier. Fund it by card or with USDT/USDC, and a PDF invoice arrives by email for each top-up. Developers can ask for sandbox mode on a development account to test the integration with simulated numbers and codes.

Keep usage legitimate: test your own products, follow each service's terms, and note that OTP Route's Acceptable Use Policy covers every order.

Frequently asked questions

How many digits does a Maldives phone number have?

Seven digits after the +960 country code, with no trunk prefix. Your validation should accept that shorter length.

Which API country id belongs to the Maldives?

It is mv. Pass it in GET /api/v1/prices and in the body of POST /api/v1/activations.

Can I check my booking app's +960 sign-up without being in the Maldives?

Yes. Order a one-time Maldivian number from the OTP Gateway, enter it in your app and read the code in the dashboard or via the API.

What happens to my money if no Maldivian code arrives?

Nothing is charged. When the 20-minute window ends without an SMS, or you cancel, the full amount returns to the wallet.

Will the verification text be in Dhivehi?

Most international services send English, though wording depends on the app. Parse the digits rather than the sentence so either language works.

Can I keep a +960 number for a staff account?

Not self-serve. Kept lines are a US and Canada product; for the Maldives, email [email protected] to ask about options.

Do I need a monthly plan to use OTP Route?

No. You pay as you go from a prepaid USD wallet funded by card or USDT/USDC, with a PDF invoice for every top-up.

Service names are trademarks of their respective owners. OTP Route is not affiliated with them. Use numbers lawfully, follow each service's terms and our Acceptable Use Policy.

Route your first OTP in minutes

Create a free account, top up your USD wallet and order a number from the dashboard or the API. No monthly fee.