eSMSAfrica
Mobile money & fintech · Rwanda

SMS and OTP for fintechs in Rwanda

Rwandan payment apps, digital lenders and wallet providers depend on SMS for three things: one-time codes at sign-up and login, receipts for every MoMo or Airtel Money movement, and fraud warnings. This page covers the flows, the sender ID rules on MTN and Airtel, and where the line sits between a receipt and a promotion.

MTN, Airtel Delivery reports From RWF 21 per SMS
ImariPayOTP
Your Imari Pay code is 482913. It expires in 5 minutes. Imari Pay staff will never ask for this code.
101 chars · 1 segment · GSM-7
Rwanda context

What makes mobile money & fintech messaging different in Rwanda

  • RURA reported 13,194,764 active mobile subscriptions at 31 March 2025, with MTN holding 63.2% and Airtel 36.8%, and 7,435,057 SIMs linked to active mobile money accounts. Any fintech OTP flow has to work on both networks.
  • Users already know USSD menus such as MTN MoMo *182# and Airtel Money *500#. Many apps confirm a payment with a USSD or app prompt, then send an SMS receipt that the user can keep or forward.
  • Fraud in Rwanda often starts with a caller asking for a code. An OTP message that says plainly that staff will never ask for it is one of the cheapest controls you have.
  • MTN Rwanda does not allow dynamic sender IDs, so the brand name that appears on your OTPs must be registered before launch, and generic names like VERIFY are rejected.
What to send

Messages mobile money & fintech teams in Rwanda send

Sign-up and login codes

Use eSMS Verify to generate, send and check the code, with rate limits per number built in. Your app calls start and check, so you never store codes or build retry logic yourself.

Payment and transfer receipts

Send an SMS receipt for each wallet top-up, merchant payment or transfer with amount, fee, counterparty and reference. A receipt confirms a transaction the user started, so it is not a commercial message.

New device and password change alerts

When an account is opened on a new phone or the PIN is changed, tell the user straight away with a number to call. Send these at any hour; they are security notices.

Loan disbursement and repayment notices

Digital lenders should confirm the amount disbursed, the fees, the due date and how to repay by MoMo. Keep the repayment reminder factual and in RWF, with no threats or third-party contacts.

Failed payment nudges

If a MoMo payment times out, send a short SMS explaining that no money was taken, or that it will be reversed, with a retry link. This cuts the support calls that follow a failed USSD session.

Sample messages

Copy-ready templates for Rwanda

Character counts and segments are calculated with the same GSM-7 and Unicode rules used for billing. Replace the example brand and values with your own.

Login code OTP
Your Imari Pay code is 482913. It expires in 5 minutes. Imari Pay staff will never ask for this code.
101 chars · 1 segment · GSM-7
Payment receipt Transactional
Imari Pay: you paid RWF 18,500 to Nyamirambo Market Store 22 on 04/11 at 13:02. Fee RWF 0. Ref IP-55120. Balance RWF 41,200.
124 chars · 1 segment · GSM-7
Code de connexion OTP French
Imari Pay: votre code est 482913. Il expire dans 5 minutes. Ne le communiquez a personne, meme a notre service client.
118 chars · 1 segment · GSM-7
Feature launch, opted-in users Promotional
Imari Pay: pay school fees in the app from today, no queue. Details: imari.rw/fees. Stop/Se desabonner: imari.rw/stop
117 chars · 1 segment · GSM-7
Rules that apply

Compliance for mobile money & fintech SMS in Rwanda

A practical summary with sources, not legal advice. Check the regulator's current text for edge cases.

  • Payment service providers and digital lenders supervised by BNR fall under Law No 017/2021 and Regulation No 55/2022, including transaction notification duties and a 15-day refund limit when fraud is caused by the provider.
  • OTPs, receipts and security alerts confirm a transaction or account status, which the RURA regulation excludes from its commercial communication rules (Article 4). Launch announcements and referral offers are commercial.
  • For promotional messages, keep a record of where each number came from (Article 7) and when it was sent, with the content (Article 20). Users can object to direct marketing at any time under Article 19 of Law No 058/2021.
  • Identity documents and phone numbers collected at KYC are personal data. Register with the NCSA as a controller and check Article 50 before keeping user data on servers outside Rwanda.
Send it

From your system to MTN and Airtel in one call

  1. 1Create an account and copy a test key (esms_test_...) to try the integration without spending credit.
  2. 2Request your sender ID for Rwanda. Until it is approved you can send from the eSMS default sender.
  3. 3Call the send endpoint from your app, or upload a CSV in the dashboard with merge fields like {{name}}. Delivery reports arrive by webhook.

Need one-time codes? eSMS Verify generates, sends and checks them in two calls. Full reference in the API docs.

curl -X POST https://sms.esmsafrica.io/api/messages/send \
  -H "Authorization: Bearer $ESMS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+250788123456",
    "text": "Imari Pay: you paid RWF 18,500 to Store 22. Ref IP-55120. Balance RWF 41,200.",
    "sender_id": "ImariPay"
  }'
Live pricing

SMS pricing in Rwanda

Per-SMS rates for one segment, updated live. Pay as you go with no monthly minimum; volume rates apply automatically by monthly spend.

Basic
RWF21
per SMS· USD 0.0142
Monthly spend USD 1 - USD 1,000
Business
RWF16
per SMS· USD 0.0108
Monthly spend USD 1,001 - USD 4,999
Enterprise
RWF10
per SMS· USD 0.0068
Monthly spend USD 5,000+

Estimate a campaign with the SMS cost calculator or compare all countries in the Africa SMS pricing index.

FAQ

Mobile money & fintech SMS in Rwanda: common questions

Should a Rwandan fintech build its own OTP system or use Verify?

You can send codes through the SMS API, but then you have to generate, store, expire and rate-limit them yourself. eSMS Verify does all of that: you call start with the phone number and check with the code the user typed. For most teams it is less code and fewer failure modes, especially around retries and code expiry.

Can OTPs be sent at night in Rwanda?

Yes. The 19:00 to 07:00 restriction in Article 15 of the RURA regulation applies to commercial communications. A code the user just requested is part of a transaction they started, and the regulation excludes those messages. The same applies to receipts and security alerts.

Why do OTPs show a different sender on some phones?

Until your own sender ID is approved by both MTN and Airtel, messages go out on a default eSMS sender. Registration takes about three weeks and needs a signed letter and your RDB certificate. MTN does not allow dynamic sender IDs, so plan registration before launch.

Can we pay for SMS with mobile money?

Yes. eSMS Africa accepts mobile money top-ups in Rwanda, as well as card and crypto, on a pay-as-you-go basis from USD 20 with no monthly minimum. Current Rwanda rates per message are shown on this page and on the pricing page.

Get started

Start sending mobile money & fintech SMS in Rwanda today

Free account, test keys, sender ID registration handled for you, and pay-as-you-go pricing in RWF or USD.