Skip to main content

Overview

Before sending a payout, you’ll typically want to:
  1. Fetch the list of available banks or mobile money providers for the destination country.
  2. Verify the recipient’s account or momo number to confirm the account name before proceeding.
Both steps use a simple two-endpoint flow described below.

Step 1 — Fetch Providers

Use this endpoint to retrieve all supported banks or mobile money networks for a given transfer method and country.
GET /v1/transaction/{method}/providers

Path Parameter

ParameterDescription
methodTransfer method — BANK_TRANSFER or MOBILE_MONEY

Query Parameters

ParameterTypeRequiredDescription
currencystringYesISO 4217 currency code (e.g. NGN, GHS)
iso2stringYesISO 3166-1 alpha-2 country code (e.g. NG, GH)

Examples

curl --request GET \
  --url "https://dev.interface.monirates.com/v1/transaction/BANK_TRANSFER/providers?currency=NGN&iso2=NG" \
  --header "x-api-key: <YOUR_API_KEY>"

Responses

{
  "success": true,
  "data": [
    { "name": "SOSA MFB", "bankCode": "090836" },
    { "name": "CEVIANT FINANCE LIMITED", "bankCode": "050043" }
  ]
}
For Bank Transfer, hold on to the bankCode field — you’ll need it in the next step.
For Mobile Money, hold on to the code field — this is what you pass as network when verifying.

Step 2 — Verify Account

Once you have the provider details, verify the recipient’s account name before submitting a payout.
POST /v1/transaction/verify-bank-account
Account lookup is currently supported for NGN and GHS only. Support for additional currencies will be available soon.

Request Body

FieldTypeRequired forDescription
currencystringBothISO 4217 currency code (e.g. NGN, GHS)
iso2stringMobile MoneyISO 3166-1 alpha-2 country code (e.g. GH)
accountNumberstringBank TransferThe recipient’s bank account number
bankCodestringBank TransferThe bank code from the providers list
phoneNumberstringMobile MoneyThe recipient’s phone number in international format (e.g. 233...)
networkstringMobile MoneyThe provider code returned from the providers endpoint

Examples

curl --request POST \
  --url https://dev.interface.monirates.com/v1/transaction/verify-bank-account \
  --header "Content-Type: application/json" \
  --header "x-api-key: <YOUR_API_KEY>" \
  --data '{
    "currency": "NGN",
    "accountNumber": "5010480782",
    "bankCode": "999240"
  }'

Responses

{
  "success": true,
  "message": "Account name resolved successfully!",
  "data": {
    "accountName": "MONIRATES LIMITED / JOHN DOE",
    "accountNumber": "5010480782"
  }
}

Sandbox Testing

On the development environment, you can test NGN lookup with ANY OF THE FOLLOWING accounts provided below:
FieldValue
accountNumber8028582375, 5010480782, 5010755577
bankCode999240
On production, any valid Nigerian bank account number and bank code will resolve correctly.
For GHS, you can use a real phone number and network to test verification on both the development and production environments — no special sandbox credentials are required.