> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monirates.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Withdraw to Mobile Money

> Endpoint reference for withdrawing funds to mobile money accounts across supported currencies

## Mobile Money Transfer

This endpoint supports wallet withdrawals to mobile money accounts for supported currencies.

***

## Supported Currencies

| Currency | Country/Region                            |
| -------- | ----------------------------------------- |
| `GHS`    | Ghana                                     |
| `XOF`    | Benin, Ivory Coast, Burkina Faso, Senegal |
| `XAF`    | Cameroon                                  |

***

## Transfer Flow

### Step 1: Ensure Sufficient Balance

Ensure the user has sufficient wallet balance for the selected currency before initiating a transfer.

### Step 2: Fetch Supported Mobile Money Providers

Retrieve the list of supported mobile money providers for the selected country and currency by calling the utility endpoint:

```text theme={null}
GET /transaction/{method}/providers?currency={currency}&iso2={iso2}
```

**Example:**

```text theme={null}
GET /transaction/MOBILE_MONEY/providers?currency=XOF&iso2=BJ
```

Use the returned provider `code` as the value for the `network` field when initiating the transfer.

***

## Fields

### Required

| Field         | Description                                             |
| ------------- | ------------------------------------------------------- |
| `currency`    | Wallet currency — `GHS`, `XOF`, or `XAF`                |
| `amount`      | Amount to transfer                                      |
| `phoneNumber` | Recipient mobile money number                           |
| `network`     | Mobile money provider code (e.g. `MTN`, `MTN_MOMO_BEN`) |

### Conditionally Required

| Field  | Description                                                                                                   |
| ------ | ------------------------------------------------------------------------------------------------------------- |
| `iso2` | Required when currency is `XOF` or `XAF`. Must match the selected country (e.g. `BJ`, `CI`, `BF`, `SN`, `CM`) |

### Optional

| Field       | Description             |
| ----------- | ----------------------- |
| `narration` | Transaction description |

***

## Sample Request Payloads

### GHS Mobile Money Transfer

```json theme={null}
{
  "currency": "GHS",
  "amount": 10,
  "narration": "Gift",
  "phoneNumber": "+233237867135",
  "network": "MTN"
}
```

### XOF Mobile Money Transfer

```json theme={null}
{
  "currency": "XOF",
  "iso2": "BJ",
  "amount": 10,
  "narration": "Refund",
  "phoneNumber": "+22990123456",
  "network": "MTN_MOMO_BEN"
}
```

***

## Notes

* Fees may apply and will be deducted from the wallet balance.
* For `XOF` and `XAF`, the `iso2` field is mandatory and must match the selected country.
* Always fetch providers from `/transaction/{method}/providers` before initiating transfers.
* Transfers are subject to mobile network processing times.
* Invalid phone numbers, unsupported providers, or incorrect country codes will result in validation errors.
