Skip to main content
The meCash Bulk Quote API lets you generate quotes for multiple transfers in a single request. Instead of creating individual quotes one by one, you submit all transfer amounts at once and receive a separate quoteId for each — ready to use with the Bulk Payout API.
Each item in the bulk quote request receives its own independent quoteId with its own pricing, fees, and expiry. Quotes expire after 10 minutes.

When to use bulk quotes

Use bulk quotes when you need to disburse funds to multiple beneficiaries and want to lock in pricing for all transfers upfront. Common scenarios include:
  • Payroll: Quote salary amounts for all employees before disbursement.
  • Vendor payments: Get pricing for multiple supplier payments at once.
  • Mass disbursements: Quote commissions, rewards, or refunds in batch.

How it works

1
Prepare your transfer list
2
Gather all the amounts you need to send. Each item only requires a sourceAmount — the amount in your source currency.
3
Create the bulk quote
4
Send all amounts in a single POST /v1/bulk/quote request along with the payment channel, source, and target corridor.
5
curl --request POST 'https://{{baseURL}}/v1/bulk/quote' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY' \
  --data '{
    "paymentChannel": "BANK_TRANSFER",
    "items": [
        { "sourceAmount": 100.00 },
        { "sourceAmount": 250.50 }
    ],
    "source": { "currency": "NGN", "country": "NG" },
    "target": { "currency": "NGN", "country": "NG" }
}'
6
Collect the quote IDs
7
The response returns an array of quotes, each with its own quoteId, rate, fee, and expiry. Store these IDs for the next step.
8
Verify quotes (optional)
9
Fetch one or more quotes by ID to confirm pricing before executing payouts.
10
curl --request GET 'https://{{baseURL}}/v1/bulk/quote?quoteIds=fa01c1ad-6c0f-4074-8221-ffc8fdaa16db&quoteIds=6809b2ab-1d4d-4436-8218-46667419eee7' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY'
11
Use in bulk payout
12
Pass each quoteId into the corresponding order in your POST /v1/bulk/payout request.

Request fields

FieldTypeDescriptionRequired
paymentChannelStringChannel for the transfers (BANK_TRANSFER, MOBILE_MONEY, etc.).✅ Yes
itemsArrayList of objects, each with a sourceAmount.✅ Yes
items[].sourceAmountNumberAmount to send in the source currency.✅ Yes
source.currencyStringSource currency (ISO 4217).✅ Yes
source.countryStringSource country (ISO 3166-1 alpha-2).✅ Yes
target.currencyStringTarget currency (ISO 4217).✅ Yes
target.countryStringTarget country (ISO 3166-1 alpha-2).✅ Yes

Response fields

Each quote in the response array contains:
FieldTypeDescription
quoteIdString (UUID)Unique identifier for this quote. Use when creating the bulk payout.
sourceAmountNumberAmount in the source currency.
targetAmountNumberAmount the recipient will receive.
rateNumberExchange rate applied.
feeNumberFee charged for this transfer.
sourceCurrencyStringSource currency code.
targetCurrencyStringTarget currency code.
expiresInSecondsIntegerSeconds until this quote expires (typically 600).

Next steps

Create Bulk Quote API

Full OpenAPI reference for POST /v1/bulk/quote.

Fetch Bulk Quotes API

Retrieve existing quotes via GET /v1/bulk/quote.

Bulk Payouts Guide

Learn how to submit bulk payouts using your quote IDs.

Single Quote Guide

Need to quote just one transfer? Use the standard quote flow.