Endpoint
POST:{{baseURL}}/v2/payout
Payment Channel Overview
| Channel | Description | Use Case |
|---|---|---|
SWIFT | International wire transfer using SWIFT code | Cross-border USD wire transfers |
Request Details
Headers
Include these headers in your request:| Header | Value | Required |
|---|---|---|
Content-Type | application/json | ✅ Yes |
x-api-key | YOUR_API_KEY | ✅ Yes |
Sample Requests
Request Body Breakdown
| Field | Type | Description | Required |
|---|---|---|---|
quoteId | String | The unique ID of the quote for this payout. | ✅ Yes |
reason | String | The purpose of the transfer (e.g., Gift, Payment for services). | ✅ Yes |
invoice | String | Optional identifier for the invoice (returned from file upload). | ❌ No |
remark | String | An optional, additional note about the transaction. | ❔ No |
recipient | Object | An object containing all details about the person receiving the funds. | ✅ Yes |
recipient.name | String | The full name of the recipient or business. | ✅ Yes |
recipient.nickName | String | A nickname or alias for the recipient. | ❔ No |
recipient.gender | String | Gender of the recipient. Enum: M, F. | ❔ No |
recipient.occupation | String | The recipient’s occupation or profession. | ❔ No |
recipient.type | String | The type of recipient. Enum: INDIVIDUAL, BUSINESS. | ✅ Yes |
recipient.paymentChannel | String | The payment method. Use SWIFT for international wire transfers. | ✅ Yes |
recipient.currency | String | The ISO currency code. Must be USD. | ✅ Yes |
recipient.country | String | The recipient’s two-letter ISO country code. Must be US. | ✅ Yes |
recipient.account | Object | An object containing the recipient’s bank account details. | ✅ Yes |
recipient.account.accountNumber | String | The recipient’s bank account number. | ✅ Yes |
recipient.account.swiftCode | String | The SWIFT/BIC code of the recipient’s bank. | ✅ Yes |
recipient.account.sortCode | String | The bank sort code. | ❔ No |
recipient.account.bankName | String | The name of the recipient’s bank. | ✅ Yes |
recipient.account.bankCity | String | The city where the bank is located. | ❔ No |
recipient.account.intermediaryBankSwiftCode | String | The SWIFT/BIC code of the intermediary bank. | ❔ No (Conditional) |
Success Response (200 OK)
If the payout is successfully created, the API returns the following response:copy
Response Breakdown
| Field | Type | Description |
|---|---|---|
message | String | A confirmation message indicating the result of the request. |
status | String | The overall status of the request, e.g., success. |
data | Object | A container for all the transaction data. |
data.id | String | The unique identifier for this payout transaction. |
data.reason | String | The reason for the payout provided in the request. |
data.invoice | String | Optional identifier for the invoice provided in the request. |
data.referenceNumber | String | A unique reference number generated for the payout. |
data.type | String | The type of transaction, e.g., SEND. |
data.state | String | The current state of the payout (COMPLETED, PENDING, etc.). |
data.quote.id | String | The unique ID of the quote used for the transaction. |
data.quote.source.currency | String | The three-letter currency code of the source funds. |
data.quote.target.amount | Number | The converted amount that the recipient received. |
data.recipient.name | String | The full name of the recipient. |
data.recipient.type | String | The type of recipient entity, e.g., BUSINESS. |
data.recipient.account.accountNumber | String | The recipient’s bank account number. |
data.recipient.account.bankName | String | The name of the recipient’s bank. |
data.recipient.account.swiftCode | String | The SWIFT/BIC code of the recipient’s bank. |
data.created | String | ISO 8601 timestamp of when the transaction was created. |
data.processed | String | ISO 8601 timestamp of when the transaction was processed. |
Payout Transaction States
The payout transaction can have one of the following states:| State | Description |
|---|---|
COMPLETED | The payout was successfully processed. |
PENDING | The payout is still being processed. |
FAILED | The payout failed to process. |
REFUNDED | The payout has been sent back to sender. |
Error Handling
| Status Code | Meaning | Example Response |
|---|---|---|
400 | Insufficient Balance | Insufficient Balance |
401 | Unauthorized | Invalid API key provided. |
403 | Forbidden | IP not whitelisted |
404 | Not Found | The requested endpoint does not exist. |
422 | Unprocessable Entity | Invalid quote ID provided. |
500 | Internal Server Error | An internal error occurred. |
Understanding Intermediary Banks
An Intermediary Bank (also known as a correspondent bank) is a third-party bank that acts as a middleman between the sending bank and the beneficiary bank to facilitate international wire transfers.Why is an Intermediary SWIFT Code Needed?
When the sending bank and the beneficiary bank do not have a direct financial relationship, they use an intermediary bank to move the funds across borders. This is extremely common for USD transfers outside the United States.When is the field required?
- Required: If your beneficiary bank requires funds to be routed through a specific intermediary bank to receive USD. This information is typically provided in the beneficiary’s wire instructions.
- Optional: If the beneficiary bank has a direct relationship with major US clearing banks, this field can be left blank.
How to get the Intermediary SWIFT Code?
The recipient must obtain these details directly from their bank. It is usually found in the “International Wire Instructions” or “Transfer Details” section of their bank’s documentation.UI Reference
In the meCash dashboard, the Intermediary Bank SWIFT Code field is located within the Add Beneficiary form under the Bank Account section.
Frequently Asked Questions (FAQ)
What happens if the intermediary SWIFT code is missing?
What happens if the intermediary SWIFT code is missing?
If an intermediary bank is required for the route but not provided, the transfer may be delayed as banks attempt to find a valid route, or it may be rejected and returned (minus processing fees).
What happens if the wrong code is provided?
What happens if the wrong code is provided?
Providing an incorrect SWIFT code will result in a failed transaction. The funds will eventually be returned to your wallet, but this can take several business days and may incur rejection fees from the involved banks.
Does every USD SWIFT transfer require an intermediary bank?
Does every USD SWIFT transfer require an intermediary bank?
No. Many large international banks have direct “correspondent” relationships. However, for smaller regional banks or specific corridors, an intermediary is essential for successful delivery.
Best Practices
✅ EnsurequoteId is valid and linked to an existing quote.✅ Confirm that the recipient’s bank account number and SWIFT code are correct.
✅ Use
SWIFT payment channel for international wire transfers requiring SWIFT/BIC codes.✅ Use a valid API key in the headers.
✅ Handle error responses correctly in your integration.

