International (USD, EUR, & GBP)

Transfer funds internationally to USA, Europe, and UK Bank accounts.

Send USD, GBP, and EUR directly to international bank accounts. This guide walks you through the steps required to initiate and verify a transfer.

Prerequisites

  1. Complete KYC and ensure your account is approved for transactions.
  2. Whitelist your server IP addresses. See this guide for more information.
  3. Enable Transfers via API. See this guide for more information.
  4. Ensure you have sufficient funds in the transfer currency wallet. For cross-currency transfers, the transfer amount is debited from the debit_currency wallet, while the transfer fee is debited from the transfer currency wallet. See the supported currencies and transfer fees page for more information.

Payout Flow

Follow these steps to send money to an International bank account.

  1. Collect the beneficiary details
    Gather the beneficiary's name, bank, account number, and other required transfer details.

The required parameters vary by transfer currency. See the table below.

ParameterDescriptionFormatUSDGBPEUR
account_numberThe beneficiary's account number.StringRequiredRequiredRequired
beneficiary_nameThe beneficiary's full name.StringRequiredRequiredRequired
amountThe amount to send.IntegerRequiredRequiredRequired
currencyThe transfer currency.StringRequiredRequiredRequired
debit_currencyThe wallet currency to debit for the transfer.StringOptionalOptionalOptional
narrationA description for the transfer.StringOptionalOptionalOptional
referenceUnique reference to identify the transfer.StringOptionalOptionalOptional
meta[0].routing_numberThe bank's routing number.StringRequiredRequiredRequired
meta[0].swift_codeThe bank's SWIFT code.StringRequiredOptionalRequired
meta[0].bank_nameThe beneficiary’s bank name.StringRequiredRequiredRequired
meta[0].account_typeThe beneficiary's account type. For USD, pass checking or depository. For GBP, pass personal or corporate.StringRequiredRequired***
meta[0].emailThe beneficiary’s email address.StringOptionalOptionalOptional
meta[0].mobile_numberThe beneficiary's mobile number.OptionalOptionalOptional
meta[0].beneficiary_addressThe beneficiary's address.RequiredOptionalOptional
meta[0].sender_addressThe sender's address.OptionalOptionalOptional
meta[0].sender_mobile_numberThe sender's mobile number.OptionalOptionalOptional
meta[0].postal_codeThe beneficiary's postal code.RequiredOptionalRequired
meta[0].street_numberThe beneficiary's street number.RequiredOptionalRequired
meta[0].street_nameThe beneficiary's street name.RequiredOptionalRequired
meta[0].cityThe beneficiary's city.OptionalOptionalRequired
meta[0].first_nameThe beneficiary's first name. Required when account_type is personal for GBP transfers. If passed, must match the first name value provided for the beneficiary_name.OptionalConditionalOptional
meta[0].last_nameThe beneficiary's last name. Required when account_type is personal for GBP transfers. If passed, must match the last name value provided for the beneficiary_name.StringOptionalConditionalOptional
meta[0].beneficiary_merchant_nameThe beneficiary's business name. Required when account_type is corporate for GBP transfers.String***Conditional***
  1. Initiate the transfer
    Send a POST request to the transfer endpoint with the beneficiary and transfer details.
curl --request POST \
  --url https://api.flutterwave.com/v3/transfers \
  --header 'Authorization: Bearer {{YOUR_SECRET_KEY}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "amount": 500,
    "account_number": "210868791872",
    "reference":"f039_PMCKDU_1",
    "narration": "Sample USD Transfer",
    "currency": "USD",
    "debit_currency": "NGN",
    "beneficiary_name": "Mark Cuban",
    "meta": [
      {
        "routing_number": "101019644",
        "swift_code": "IRVTUS3N",
        "bank_name": "BANK OF AMERICA, N.A., SAN FRANCISCO, CA",
        "account_type": "checking",
        "postal_code": "EC2A",
        "email": "[email protected]",
        "mobile_number": "11733871880",
        "beneficiary_address": "San Francisco, 4 Newton",
        "sender_address": "No 8 Providence Street",
        "sender_mobile_number": "2349161568874",
        "street_number": "31",
        "street_name": "Handelsbank Elsenheimer Str."
      }
    ]
  }'
curl --request POST \
  --url https://api.flutterwave.com/v3/transfers \
  --header 'Authorization: Bearer {{YOUR_SECRET_KEY}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "amount": 1,
    "account_number": "82094660",
    "narration": "Sample GBP",
    "currency": "GBP",
    "reference":"hfh_PMCKDU_1",
    "debit_currency": "USD",
    "beneficiary_name": "OLUWAFEMI ADEGBESAN",
    "meta": [
      {
        "routing_number": "308463",
        "swift_code": "308463",
        "bank_name": "LLOYDS BANK",
        "account_type": "personal",
        "email": "[email protected]",
        "mobile_number": "11733871880",
        "beneficiary_address": "San Francisco, 4 Newton",
        "sender_address": "No 8 Providence Street",
        "sender_mobile_number": "2349161568874",
        "postal_code": "80489",
        "street_number": "31",
        "street_name": "Handelsbank Elsenheimer Str.",
        "city": "London"
      }
    ]
  }'
curl --request POST \
  --url https://api.flutterwave.com/v3/transfers \
  --header 'Authorization: Bearer {{YOUR_SECRET_KEY}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "amount": 500,
    "account_number": "IE091983888373BGH",
    "narration": "Sample EUR Transfer",
    "currency": "EUR",
    "reference":"hlh_PMCKDU_1",
    "debit_currency": "USD",
    "beneficiary_name": "John Twain",
    "meta": [
      {
        "routing_number": "BECFDE7HKKX",
        "swift_code": "BECFDE7HKKX",
        "bank_name": "LLOYDS BANK",
        "postal_code": "80489",
        "street_number": "31",
        "street_name": "Handelsbank Elsenheimer Str.",
        "city": "München",
        "email": "[email protected]"
      }
    ]
  }
{
    "status": "success",
    "message": "Transfer Queued Successfully",
    "data": {
        "id": 2243822,
        "account_number": "FOREIGN-ACCOUNT",
        "bank_code": "FOREIGN-BANK",
        "full_name": "Mark Cuban",
        "created_at": "2026-09-29T20:13:56.000Z",
        "currency": "USD",
        "debit_currency": "GBP",
        "amount": 500,
        "fee": 2.5,
        "status": "NEW",
        "reference": "f039_PMCKDU_1",
        "meta": [
            {
                "RoutingNumber": "101019644",
                "SwiftCode": "IRVTUS3N",
                "BankName": "BANK OF AMERICA, N.A., SAN FRANCISCO, CA",
                "AccountType": "checking",
                "PostalCode": "EC2A",
                "EmailAddress": " [email protected]",
                "MobileNumber": "11733871880",
                "BeneficiaryAddress": "San Francisco, 4 Newton",
                "SenderAddress": "No 8 Providence Street",
                "SenderMobileNumber": "2349161568874",
                "StreetNumber": "31",
                "StreetName": "Handelsbank Elsenheimer Str.",
                "City": "LA",
                "MerchantName": "Dotuns Fashion Limited",
                "SenderCountry": "ZA",
                "AccountNumber": "FOREIGN-ACCOUNT",
                "Sender": "Dotuns Fashion Limited",
                "Address": "San Francisco, 4 Newton"
            }
        ],
        "narration": "Sample USD Transfer",
        "complete_message": "",
        "requires_approval": 0,
        "is_approved": 1,
        "bank_name": "FA-BANK"
    }
}
{
    "status": "success",
    "message": "Transfer Queued Successfully",
    "data": {
        "id": 117643993,
        "account_number": "FOREIGN-ACCOUNT",
        "bank_code": "FOREIGN-BANK",
        "full_name": "OLUWAFEMI ADEGBESAN",
        "created_at": "2026-09-29T20:12:33.000Z",
        "currency": "GBP",
        "debit_currency": "USD",
        "amount": 1,
        "fee": 35,
        "status": "NEW",
        "reference": "hfh_PMCKDU_1",
        "meta": [
            {
                "RoutingNumber": "308463",
                "SwiftCode": "308463",
                "BankName": "LLOYDS BANK",
                "AccountType": "personal",
                "EmailAddress": "[email protected]",
                "MobileNumber": "11733871880",
                "BeneficiaryAddress": "San Francisco, 4 Newton",
                "SenderAddress": "No 8 Providence Street",
                "SenderMobileNumber": "2349161568874",
                "PostalCode": "80489",
                "StreetNumber": "31",
                "StreetName": "Handelsbank Elsenheimer Str.",
                "City": "london",
                "MerchantName": "Adedotun Obatomi",
                "SenderCountry": "NG",
                "AccountNumber": "FOREIGN-ACCOUNT",
                "Sender": "Adedotun Obatomi",
                "Address": "San Francisco, 4 Newton"
            }
        ],
        "narration": "Sample GBP ",
        "complete_message": "",
        "requires_approval": 0,
        "is_approved": 1,
        "bank_name": "LLOYDS BANK"
    }
}
{
    "status": "success",
    "message": "Transfer Queued Successfully",
    "data": {
        "id": 2243820,
        "account_number": "FOREIGN-ACCOUNT",
        "bank_code": "FOREIGN-BANK",
        "full_name": "John Twain",
        "created_at": "2026-09-29T20:10:54.000Z",
        "currency": "EUR",
        "debit_currency": "USD",
        "amount": 500,
        "fee": 2.5,
        "status": "NEW",
        "reference": "hlh_PMCKDU_1",
        "meta": [
            {
                "SwiftCode": "BECFDE7HKKX",
                "BankName": "LLOYDS BANK",
                "PostalCode": "80489",
                "StreetNumber": "31",
                "StreetName": "Handelsbank Elsenheimer Str.",
                "City": "München",
                "EmailAddress": "[email protected]",
                "MerchantName": "Dotuns Fashion Limited",
                "SenderCountry": "ZA",
                "AccountNumber": "FOREIGN-ACCOUNT",
                "RoutingNumber": "FOREIGN-BANK",
                "Sender": "Dotuns Fashion Limited",
                "Address": null,
                "MobileNumber": "23480000000000",
                "SenderAddress": null,
                "SenderMobileNumber": "07054748747"
            }
        ],
        "narration": "Sample EUR Transfer",
        "complete_message": "",
        "requires_approval": 0,
        "is_approved": 1,
        "bank_name": "FA-BANK"
    }
}

  1. Verify the transfer status
    There are two ways to verify the transfer status:
  • Call the transfer status endpoint using the transfer ID (data.id) returned in the transfer response.
  • Listen for webhooks. Configure your webhook URL on the Flutterwave Dashboard to receive real-time transfer updates. See the webhooks guide for more information.

{
  "event": "transfer.completed",
  "event.type": "Transfer",
  "data": {
    "id": 2243822,
    "account_number": "FOREIGN-ACCOUNT",
    "bank_name": "FA-BANK",
    "bank_code": "FOREIGN-BANK",
    "fullname": "Mark Cuban",
    "created_at": "2026-09-29T20:13:56.000Z",
    "currency": "USD",
    "debit_currency": "GBP",
    "amount": 500,
    "fee": 2.5,
    "status": "SUCCESSFUL",
    "reference": "f039_PMCKDU_1",
    "meta": [
      {
        "RoutingNumber": "101019644",
        "SwiftCode": "IRVTUS3N",
        "BankName": "BANK OF AMERICA, N.A., SAN FRANCISCO, CA",
        "AccountType": "checking",
        "PostalCode": "EC2A",
        "EmailAddress": " [email protected]",
        "MobileNumber": "11733871880",
        "BeneficiaryAddress": "San Francisco, 4 Newton",
        "SenderAddress": "No 8 Providence Street",
        "SenderMobileNumber": "2349161568874",
        "StreetNumber": "31",
        "StreetName": "Handelsbank Elsenheimer Str.",
        "City": "LA",
        "MerchantName": "Dotuns Fashion Limited",
        "SenderCountry": "ZA",
        "AccountNumber": "FOREIGN-ACCOUNT",
        "Sender": "Dotuns Fashion Limited",
        "Address": "San Francisco, 4 Newton"
      }
    ],
    "narration": "Sample USD Transfer",
    "approver": null,
    "complete_message": "Successful",
    "requires_approval": 0,
    "is_approved": 1
  }
}
{
  "event": "transfer.completed",
  "event.type": "Transfer",
  "data": {
    "id": 2243821,
    "account_number": "FOREIGN-ACCOUNT",
    "bank_name": "FA-BANK",
    "bank_code": "FOREIGN-BANK",
    "fullname": "OLUWAFEMI ADEGBESAN",
    "created_at": "2026-09-29T20:13:23.000Z",
    "currency": "GBP",
    "debit_currency": "USD",
    "amount": 1,
    "fee": 0.005,
    "status": "SUCCESSFUL",
    "reference": "hfh_PMCKDU_1",
    "meta": [
      {
        "RoutingNumber": "308463",
        "SwiftCode": "308463",
        "BankName": "LLOYDS BANK",
        "AccountType": "personal",
        "EmailAddress": "[email protected]",
        "BeneficiaryAddress": "San Francisco, 4 Newton",
        "SenderAddress": "No 8 Providence Street",
        "SenderMobileNumber": "2349161568874",
        "PostalCode": "80489",
        "StreetNumber": "31",
        "StreetName": "Handelsbank Elsenheimer Str.",
        "City": "london",
        "Sender": "Dotuns Fashion Limited",
        "MerchantName": "Dotuns Fashion Limited",
        "SenderCity": "Lagos",
        "BeneficiaryName": "OLUWAFEMI ADEGBESAN",
        "BeneficiaryIdNumber": null,
        "BeneficiaryCity": "london",
        "AccountNumber": "82094660",
        "SenderCountry": "ZA",
        "BeneficiaryMobileNumber": "11733871880",
        "Address": "San Francisco, 4 Newton",
        "MobileNumber": "23480000000000"
      }
    ],
    "narration": "Sample GBP ",
    "approver": null,
    "complete_message": "Successful",
    "requires_approval": 0,
    "is_approved": 1
  }
}
{
  "event": "transfer.completed",
  "event.type": "Transfer",
  "data": {
    "id": 2243820,
    "account_number": "FOREIGN-ACCOUNT",
    "bank_name": "FA-BANK",
    "bank_code": "FOREIGN-BANK",
    "fullname": "John Twain",
    "created_at": "2026-09-29T20:10:54.000Z",
    "currency": "EUR",
    "debit_currency": "USD",
    "amount": 500,
    "fee": 2.5,
    "status": "SUCCESSFUL",
    "reference": "hlh_PMCKDU_1",
    "meta": [
      {
        "SwiftCode": "BECFDE7HKKX",
        "BankName": "LLOYDS BANK",
        "PostalCode": "80489",
        "StreetNumber": "31",
        "StreetName": "Handelsbank Elsenheimer Str.",
        "City": "München",
        "EmailAddress": "[email protected]",
        "MerchantName": "Dotuns Fashion Limited",
        "SenderCountry": "ZA",
        "AccountNumber": "FOREIGN-ACCOUNT",
        "RoutingNumber": "FOREIGN-BANK",
        "Sender": "Dotuns Fashion Limited",
        "Address": null,
        "MobileNumber": "23480000000000",
        "SenderAddress": null,
        "SenderMobileNumber": "07054748747"
      }
    ],
    "narration": "Sample EUR Transfer",
    "approver": null,
    "complete_message": "Successful",
    "requires_approval": 0,
    "is_approved": 1
  }
}

Testing Transfers

Check the testing guide for mocking transfers in the test environment.


Did this page help you?