English
Receiving Nepal SMS OTP Codes: Preparation, Steps and Fixes for +977 Tests
OTP Route lets you receive Nepal (+977) verification codes through its OTP Gateway, from $0.20 per code, with each code shown in the dashboard and available to your backend through REST polling or a signed webhook. A number covers one code inside a 20-minute window, and the charge is refunded to your wallet automatically if no SMS turns up.
Pre-flight: what do you need ready before requesting a Nepal number?
A short preparation pass saves a lot of confused debugging later. Before the first order, make sure you have:
- Credentials. Generate an
or_live_key in the Developer console and send it as a Bearer token. Separate keys for local development, CI and production tooling make rotation painless. - The country and service ids. Nepal is
np; look up the service id withGET /api/v1/services. - Funds or sandbox. Check
GET /api/v1/balance, or ask for your development account to be moved to sandbox so simulated numbers and codes exercise the integration for free. - A delivery choice. Decide between a webhook endpoint and polling before you write the test harness, not halfway through.
- A Unicode-ready inbox view. Codes from Nepali-language templates arrive in Devanagari, and your logs should display them correctly.
If you are new to the model, what is an OTP gateway gives the background in a few minutes.
Which apps can deliver codes to a +977 line?
More than 1,700 services are currently routable to Nepal. Among the popular ones are Viber, WhatsApp, Facebook, Instagram, TikTok, Telegram, Google (Gmail & YouTube), Microsoft & Outlook, Discord, Signal, imo, Amazon and Claude.
That list is a snapshot, not a promise. Availability shifts during the day, which is why GET /api/v1/prices?country=np&service=<id> returns live price and availability for the exact pair your test needs.
Step by step: receiving a Nepal SMS OTP through the API
Once the preparation list is complete, the Nepal OTP API flow takes five calls at most:
- Confirm the live price for
npand your service. - Create the activation with
POST /api/v1/activationsand the body{"service": "<id>", "country": "np"}. Keep the returned activation id; it keys everything that follows. - Enter the +977 number in the flow under test and fire the SMS.
- Collect the code from an
activation.sms_receivedwebhook, or pollGET /api/v1/activations/{id}with a reasonable delay between calls. - Cancel with
POST /api/v1/activations/{id}/cancelif the test aborts early.
On the webhook side, verify X-OTPRoute-Signature before trusting a request: build <t>.<raw body>, sign it with HMAC-SHA256 using the endpoint secret, compare against v1, and reject stale timestamps. Then upsert by activation id so a redelivered event does no harm. Webhook-based OTP capture shows the full pattern.
Prefer clicking to coding? In the OTP Route dashboard pick Nepal, pick the service, accept the displayed price and the number appears with a timer; the code shows up on that same screen.
Formatting checks for Nepali mobile numbers
Nepali mobiles are ten digits and start with 9, commonly 98 or 97. Inside the country, landline numbers are dialled with a trunk 0 plus an area code, but that 0 never belongs in international format. A test record should therefore look like +97798xxxxxxxx.
Things worth asserting in your validation tests:
- A user who types the number with a leading 0 ends up with the 0 stripped after +977.
- A ten-digit mobile without any prefix is accepted and normalised to E.164.
- Spaces and dashes users paste from contact cards are cleaned before storage.
SMS content deserves a check too. Nepali is written in Devanagari, and a Devanagari message is sent as Unicode, which allows far fewer characters per segment than plain Latin text. If your verification template is localised, confirm the code still lands in a single segment and is not pushed past a split by the surrounding words. Many services simply send English templates, so test both.
Why teams build and test for the Nepal market
Nepal matters to more products than its size suggests. A large share of Nepali workers live abroad, so remittance, wallet and messaging products serving the Gulf, Malaysia and other corridors often need to verify users who still hold a +977 number. Messaging apps such as Viber and WhatsApp are part of everyday communication there.
Teams order a +977 number for testing when they:
- Launch a sign-up flow for Nepali users and need to prove the country appears in the picker with the right mask.
- Check Nepali-language strings on onboarding and recovery screens.
- Reproduce a diaspora customer's report that the login code never came.
The mobile app verification page shows how app teams structure this kind of country coverage.
Troubleshooting: the code didn't arrive
Missing codes have a handful of usual causes, and the fix is rarely to order again immediately.
- Patience first. Give the activation its full 20 minutes; queued texts do still arrive late.
- Virtual-number policies. Some services decline virtual numbers. When that happens the activation simply expires and the refund lands in the wallet.
- Route choice. Try later, or use a different route for the same service rather than hammering one.
- Rate discipline. Re-ordering in a tight loop burns through the 300-requests-per-minute limit and rarely helps.
- Your own app. Confirm the request for the SMS actually fired; check the outgoing request in your logs.
An activation.expired event is the clean signal that nothing came and nothing was charged.
Long-term lines and paying for Nepal routes
OTP Route does not offer a self-serve long-term Nepal number. Dedicated Numbers exist only in the United States and Canada, from $1.95/month. If your team needs a persistent +977 line, write to [email protected]; whether anything can be arranged depends on local rules, and nothing is assured.
Payment is pay as you go from a single prepaid USD wallet, topped up by card or with USDT or USDC, with a PDF invoice emailed for every top-up and no monthly fee. See pricing for how charges are shown and sign up to create an account with an email code or Google.
Frequently asked questions
Can I receive a Nepali OTP without a Nepal SIM card?
Yes. The OTP Gateway issues a +977 number for a single verification, and you read the code in the dashboard or through the API.
Which country code does the API expect for Nepal?
Send np as the country in price and activation requests.
Should I keep the leading 0 when storing a Nepal number?
No. Drop the trunk 0 and store the number in E.164 after +977.
Will Nepali-language codes display correctly in the dashboard?
The message is shown as received; make sure your own logs and test assertions handle Devanagari text so the code can be extracted reliably.
What happens to my money if a Nepal code never comes?
Nothing is charged: an activation that sees no SMS in its 20 minutes, or one you cancel, is refunded to the wallet in full without any request from you.
Can I use the same +977 number for a later login?
No, each OTP Gateway number covers one code. For accounts that must log in again later, a Dedicated Number is the fit, but those are offered in the US and Canada only.
Are there usage rules for Nepal verification numbers?
Yes. Respect each service's terms and the Acceptable Use Policy, and use the numbers only to test or run your own legitimate products and accounts.
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.