Guide · Nigeria
SMS OTP API Nigeria
Stop losing users to failed OTP delivery. One SMS API for Africa — signup, login, and 2FA from one integration. Nigeria: 1 credit = ₦6. Same keys and credits as SMS OTP and prepaid pricing.
Last updated: September 7, 2026
Why Nigerian signups stall on OTP
Phone verification is how most Nigerian apps confirm a real user at signup, login, and 2FA. When the SMS never arrives, the user does not retry — they bounce. Congestion on a single upstream, DND filters that treat a misclassified OTP as promotional traffic, and international aggregators that send Nigerian SMS as overseas traffic all produce the same result: a code that never reaches the handset.
A Nigeria-ready OTP API uses prepaid local pricing, transactional routing that respects NCC DND rules, and a fallback provider on NG so a primary outage does not freeze your signup funnel.
Prepaid SMS OTP and transactional SMS, one set of keys
Robase is one SMS API for Africa: send and verify one-time passcodes, and send transactional SMS, from the same workspace. API keys start with robe_. Create a key in the dashboard at robase.dev/app, then call the REST API or an SDK. Credits are prepaid — you buy a balance and spend it on both OTP and transactional SMS.
Pricing
One credit is ₦6. Nigeria is 1 credit per message (₦6). There is no monthly fee — you pay for what you send. The same table applies to OTP and transactional SMS.
| Country | Code | Credits | NGN / message |
|---|---|---|---|
| Nigeria | NG | 1 | ₦6 |
| Ghana | GH | 3 | ₦18 |
| Kenya | KE | 3 | ₦18 |
| South Africa | ZA | 4 | ₦24 |
| United Kingdom | GB | 8 | ₦48 |
| United States | US | 50 | ₦300 |
| Benin | BJ | 56 | ₦336 |
| Ivory Coast | CI | 79 | ₦474 |
Full breakdown on the pricing page.
Automatic provider failover
Nigeria, Ghana, Kenya, South Africa, Benin, and Ivory Coast (NG/GH/KE/ZA/BJ/CI) use multi-provider routing: if the primary upstream is unavailable, slow, or returns an error, Robase retries a fallback provider. You do not write retry logic or pick carriers. Routes to the United Kingdom and the United States (GB/US) are currently single-provider.
Developer path
Two calls: POST /v1/otp/send then POST /v1/otp/verify. Auth is Authorization: Bearer robe_…. Use an E.164 Nigerian number such as +2348012345678.
Send — POST /v1/otp/send
curl -X POST https://api.robase.dev/v1/otp/send \
-H "Authorization: Bearer robe_your_api_key" \
-H "Content-Type: application/json" \
-d '{"phone_number":"+2348012345678","code_length":6,"ttl_seconds":600}'Verify — POST /v1/otp/verify
curl -X POST https://api.robase.dev/v1/otp/verify \
-H "Authorization: Bearer robe_your_api_key" \
-H "Content-Type: application/json" \
-d '{"otp_id":"01HXY...","code":"123456"}'SDKs
- Node.js — @robasedev/sdk (npm install @robasedev/sdk)
- Go — github.com/mantissatech/robase-sdk-go (go get github.com/mantissatech/robase-sdk-go)
- PHP — robase/sdk (composer require robase/sdk)
There is no public Python SDK. Request and response shapes, webhooks, and errors are in the API docs.
Transactional SMS on the same credits
Order confirmations, receipts, and alerts use the same robe_ keys and prepaid balance. POST /v1/sms/send to a Nigerian number costs the same 1 credit (₦6) as an OTP.
Send — POST /v1/sms/send
curl -X POST https://api.robase.dev/v1/sms/send \
-H "Authorization: Bearer robe_your_api_key" \
-H "Content-Type: application/json" \
-d '{"phone_number":"+2348012345678","message":"Your order #12345 has shipped."}'Compare providers
See how prepaid credits and failover differ from Twilio and Termii. For Nigeria-specific networks, sender IDs, and NCC notes, use the SMS API in Nigeria page or the SMS API for Nigeria & Africa.
FAQ
How much does SMS OTP cost in Nigeria?
Nigeria is 1 prepaid credit per message, which is ₦6. There is no monthly fee. The same credits cover OTP and transactional SMS.
Does Robase fail over when a Nigerian SMS provider is down?
Yes. Nigeria, Ghana, Kenya, South Africa, Benin, and Ivory Coast use multi-provider routing with automatic failover. Routes to the United Kingdom and the United States are currently single-provider.
Which SDKs can I use to send a Nigerian OTP?
Official SDKs are Node.js (@robasedev/sdk), PHP (robase/sdk), and Go (github.com/mantissatech/robase-sdk-go). There is no public Python SDK. All three wrap POST /v1/otp/send and POST /v1/otp/verify with robe_ API keys.
Is there a public email API or Python SDK?
No. Robase is SMS OTP and transactional SMS. There is no public email API and no Python SDK on PyPI. Account mail (signup, receipts, invites) stays internal.
Can I send transactional SMS on the same credits?
Yes. POST /v1/sms/send uses the same robe_ keys and prepaid credit balance as OTP. A Nigerian transactional SMS is also 1 credit (₦6).
Start sending OTP and transactional SMS in minutes
Sign up, grab a robe_ key from robase.dev/app, and send a Nigerian OTP for ₦6. Same credits for transactional SMS.