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.

CountryCodeCreditsNGN / message
NigeriaNG1₦6
GhanaGH3₦18
KenyaKE3₦18
South AfricaZA4₦24
United KingdomGB8₦48
United StatesUS50₦300
BeninBJ56₦336
Ivory CoastCI79₦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)
  • Gogithub.com/mantissatech/robase-sdk-go (go get github.com/mantissatech/robase-sdk-go)
  • PHProbase/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.