Initiates a withdrawal from your wallet to a beneficiary. Either beneficiaryId or inlineBeneficiary must be provided. For USD international_wire, send as multipart/form-data and attach reference documents under the documents field.
beneficiaryId or inlineBeneficiary must be provided. The required fields inside inlineBeneficiary depend on the currency and withdrawal_method.
| Parameter | Type | Required | Description |
|---|---|---|---|
amount | number | Yes | Amount in the smallest unit (e.g. kobo for NGN, cents for USD) |
currency | string | Yes | 3-letter currency code — NGN, USD, or XAF |
description | string | No | Narration for the transaction |
externalReference | string | No | Your own unique reference for this transaction |
beneficiaryId | string (UUID) | No* | ID of a saved beneficiary |
inlineBeneficiary | object | No* | One-time beneficiary details (see per-currency fields below) |
saveBeneficiary | boolean | No | Save the inline beneficiary for future use |
deductFeesFromBalance | boolean | No | If true, fees are deducted from your wallet; beneficiary receives the exact amount |
beneficiaryId or inlineBeneficiary is required.
inlineBeneficiary — Required Fields by Currency| Field | Required |
|---|---|
account_number | Yes |
bank_name | Yes |
bank_code | Yes |
account_name | No (auto-resolved from bank lookup) |
| Field | Required |
|---|---|
withdrawal_method | Yes — "domestic_wire" |
account_name | Yes |
bank_name | Yes |
account_number | Yes |
routing_number | Yes |
beneficiary_address | Yes — { street, city, state, postalCode, country } |
bank_address | Yes — { street, city, state, postalCode, country } |
| Field | Required |
|---|---|
withdrawal_method | Yes — "international_wire" |
account_name | Yes |
bank_name | Yes |
account_number | Yes |
swift_code | Yes |
beneficiary_address | Yes — { street, city, state, postalCode, country } |
bank_address | Yes — { street, city, state, postalCode, country } |
intermediary_bank_name | No |
intermediary_bank_routing_number | No |
withdrawal_method to "crypto_usdt" or "crypto_usdc" to send the USD value as a stablecoin to a crypto wallet address.
| Field | Required |
|---|---|
withdrawal_method | Yes — "crypto_usdt" or "crypto_usdc" |
account_name | Yes — used as a display nickname |
wallet_address | Yes — 26–64 alphanumeric characters |
wallet_chain | Yes — e.g. "ethereum", "tron" |
| Field | Required |
|---|---|
account_name | Yes |
bank_name | Yes |
account_number | Yes |
swift_code | Yes |
bank_address | Yes — { street, city, state, country } |
beneficiaryId to pay a saved beneficiary. Use inlineBeneficiary for one-time transfers. Set saveBeneficiary: true to save the inline beneficiary automatically for reuse.Your Rolla API key
Either beneficiaryId or inlineBeneficiary must be provided.
Amount in the smallest unit (e.g. kobo for NGN, cents for USD)
5000
3-letter currency code
3"NGN"
Narration for the transaction
500Your own unique reference for this transaction
255ID of a saved beneficiary. Use this OR inlineBeneficiary.
One-time beneficiary details (use instead of beneficiaryId)
Save the inline beneficiary for future use
If true, fees are taken from your wallet balance so the beneficiary receives the exact amount