Nigeria SMS Sender ID for OTP — default Robase, or use RAlerts
Robase · 2026-09-10
Your dashboard says the OTP was sent. The user never gets the code. The generate and verify logic is usually fine — the miss is often the Sender ID on the handset, or the traffic class the message was routed as (promotional vs transactional) under Nigeria’s DND rules.
What a Sender ID is
A Sender ID is the short name that appears instead of a random number: typically 3–11 alphanumeric characters. On MTN, Airtel, Glo, and 9mobile it is the brand the user sees when the SMS lands. If the ID is wrong for that network, unregistered, or tied to promotional routing, the send can still look successful upstream while the phone stays silent.
Promotional vs transactional in Nigeria
Nigeria distinguishes promotional SMS from transactional traffic. Promotional routes hit NCC Do-Not-Disturb friction; OTP, receipts, and alerts are supposed to travel as transactional. That split is industry context, not a Robase guarantee.
Competitors document the same pain in public APIs: you request a custom Sender ID, it sits pending, and sends fail with errors like SENDER_ID_NOT_APPROVED. The approval queue is a product of operator registration, not of your OTP generate/verify code.
The cost of waiting on a custom ID
A custom company-name Sender ID is a branding and legal choice. While it is pending, login and 2FA are stalled. Teams burn days on “why is OTP flaky in Nigeria?” when the real wait is an operator queue they cannot see from the auth service.
You can request a custom Sender ID from the dashboard (Sender IDs). Robase prepares the carrier pack and an admin reviews it; there is still no public sender-ID API to request, list, or approve a company name. While a custom ID is pending, use a preapproved ID so OTP stays unblocked. See Sender IDs and Dashboard → Sender IDs.
Preapproved IDs: Robase (default) and RAlerts
Robase is prepaid SMS OTP and transactional SMS for Africa. Two preapproved Sender IDs are registered for Nigeria OTP and transactional SMS: Robase and RAlerts.
Sends default to Robase. That is the product default. RAlerts is not a second default — it is another registered ID you can use if you want that name on the handset. Either ID works for OTP and transactional traffic. Same prepaid credits either way.
You do not wait on an approval ticket to start on those two IDs. Chase a custom company-name ID later only if legal or branding requires your own string.
Shortest path to a working OTP
- Create an account at https://robase.dev.
- New workspaces get 10 free credits (₦60) to send a first message. Fund more prepaid credits in the dashboard (https://robase.dev/app).
- Send on the default Sender ID
Robase, or useRAlerts. - Verify the code the user types back.
The SMS OTP API is POST /v1/otp/send and POST /v1/otp/verify. Transactional SMS is POST /v1/sms/send on the same keys and credits. Official clients are Node.js, PHP, and Go. See docs, the OTP API, and the Nigeria OTP guide.
Honest limits
Published priced markets are Nigeria, Kenya, Ghana, South Africa, the United Kingdom, Benin, Ivory Coast, and the United States. Nigeria, Kenya, Ghana, South Africa, Benin, and Ivory Coast use multi-provider routing with automatic failover; the UK and US routes are currently single-provider. Other destinations are on request. We do not publish a delivery-rate percentage or an SLA in this post. Trial stays 10 free credits (₦60) at signup — that is not the US message price.
Try OTP on a preapproved ID
If Nigeria OTP shows sent but never arrives, try the default Robase — or RAlerts — before you rewrite generate/verify. Use the trial credits, pick a preapproved Sender ID, and send a real code to a Nigerian handset.