Egypt

Transfer funds to Egyptian Bank Accounts.

🚧

Transfers to Egyptian bank accounts are not available by default. To enable this feature, submit a request.

Send EGP directly to bank accounts in Egypt. 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 EGP wallet. For cross-currency transfers, the transfer amount is debited from the debit_currency wallet, while the transfer fee is debited from the EGP wallet. See the supported currencies and transfer fees page for more information.

We support two classes of transfers to Egyptian bank accounts. Your transfer class is determined by the business category you select during signup.

  • Class A: Global enterprises that are not categorised as Money Transfer Operators.
  • Class B: International Money Transfer Operators.

📘

Transfer Settlement Schedule

Transfers are processed Sunday to Thursday, 9 AM to 3 PM (GMT+2). Requests made outside these hours are processed during the next working period. Funds settle within 24-48 hours after processing.


Payout Flow

Follow these steps to send money to a bank account in Egypt.

  1. Collect sender and beneficiary details:
    Gather the sender, beneficiary, and other transfer details.

See the table below for the required and optional parameters.

ParameterDescriptionFormatClass AClass BExample
account_numberThe beneficiary's bank account number.StringYesYes`"1242424242"
account_bankThe beneficiary's bank code. Use the Get Banks endpoint to retrieve the bank code.StringYesYes“BDC”
amountThe transfer amount.IntegerYesYes2000
beneficiary_nameThe beneficiary's full name.StringYesYes“John Mike”
currencyThe transfer currency. Must be EGP.StringYesYes"EGP"
narrationA description for the transfer.StringNoNo"Test Payment"
referenceUnique reference to identify the transfer.StringNoNo"Your-Unique-Reference"
debit_currencyThe wallet currency to debit for the transfer.StringNoNo"XOF"
metaAdditional information required to process the transfer.ObjectYesYesN/A
meta[0].beneficiary_addressThe beneficiary's address.StringYesYes“24 King William Street London”
meta[0].sender_cityThe sender's cityStringYesYes"London"
meta[0].sender_date_of_birthThe sender's date of birth.StringYesYes“1990-09-23”
meta[0].sender_id_numberThe sender's ID number.StringYesYes"2231aaa"
meta[0].sender_id_typeThe sender's ID type. See the supported ID types hereStringYesYes"01"
meta[0].sender_id_expiryThe sender's ID expiration date.StringYesYes“2029-09-23”
meta[0].transfer_purposeThe purpose of the transfer. See the supported transfer purposes hereStringYesYes"ISMDCS"
meta[0].beneficiary_mobile_numberThe beneficiary's mobile number.StringYesYes"+201011340718"
meta[0].account_number_typeThe beneficiary's account number type. Supported values include IBAN and ACCOUNT.StringYesYes"IBAN"
meta[0].beneficiary_countryThe beneficiary's country. This should be EG.StringNoNo`"EG"
meta[0].senderThe sender's full name.StringNoNo"Sol Thv"
meta[0].emailThe beneficiary's email address.StringNoNo"[email protected]"
meta[0].sender_email_addressThe sender's email addressStringNoNo"[email protected]"
meta[0].mobile_numberThe beneficiary's mobile number.StringNoNo"+447522821265"
meta[0].sender_mobile_numberThe sender's mobile number.StringNoNo"01993003333"
meta[0].sender_addressThe sender's address.StringNoNo"Tahrir Square, Cairo, Egypt"
meta[0].beneficiary_id_numberThe beneficiary's ID number.StringNoNo"28503122500311"
meta[0].first_nameThe beneficiary's first name. If passed, must match the first name value provided for the beneficiary_name.StringNoNo“John”
meta[0].last_nameThe beneficiary's last name. If passed, must match the last name value provided for the beneficiary_name.StringNoNo“Mike”

  1. Initiate the transfer
    Send a POST request to the transfer endpoint with the sender and beneficiary details.
curl --request POST \
  --url https://api.flutterwave.com/v3/transfers \
  --header 'Authorization: Bearer {{YOUR_SECRET_KEY}}' \
  --header 'Content-Type: application/json' \
  --data '{
        "account_bank": "CIB",
        "account_number": "EG310010019199990100064142997",
        "amount": 1000,
        "currency": "EGP",
        "beneficiary_name": "Ali Kandil",
        "debit_currency": "USD",
        "reference": "c47823c4c2bfbfar8akdd_PMCKDU_1",
        "narration": "Egypt withdrawal",
        "meta": [
            {
                "sender": "Sol Thv",
                "sender_date_of_birth": "1992-12-09",
                "sender_id_number": "62135306",
                "sender_id_type": "01", 
                "sender_id_expiry": "2029-09-21",
                "sender_city": "London",
                "beneficiary_address": "Mivida, Avenues 2, New Cairo",
                "transfer_purpose": "TP2P",
                "beneficiary_mobile_number": "+201011340718",
                "sender_email_address":"[email protected]",
                "sender_address":"Tahrir Square, Cairo, Egypt",
                "email": "[email protected]",
                "beneficiary_id_number": "30204151200119",
                "account_number_type": "IBAN"                     
           }
      ]
}'
curl --request POST \
  --url https://api.flutterwave.com/v3/transfers \
  --header 'Authorization: Bearer {{YOUR_SECRET_KEY}}' \
  --header 'Content-Type: application/json' \
  --data '{
        "account_number": "1242424242",
        "account_bank": "BDC",
        "narration": "test",
        "amount": 1000,
        "currency": "EGP",
        "beneficiary_name": "John Mike",
        "reference": "c47823c4cr8akddd_PMCKDU_1",
        "meta": [
            {
                "beneficiary_address": "24 King William Street",
                "sender_city": "kakakwa",
                "beneficiary_country": "EG",
                "sender_id_number": "2231aaa",
                "sender_id_type": "01",
                "sender": "test",
                "email": "[email protected]",
                "sender_id_expiry": "2026-09-23",
                "sender_date_of_birth": "2002-09-23",
                "sender_email_address": "[email protected]",
                "transfer_purpose": "SERV",
                "first_name": "John",
                "last_name": "Mike",          
                "beneficiary_id_number": "123455",
                "beneficiary_mobile_number": "+201011340718",
                "account_number_type": "ACCOUNT" 
            }
        ]
}'

You'll get a response like this:

{
    "status": "success",
    "message": "Transfer Queued Successfully",
    "data": {
        "id": 2245572,
        "account_number": "EG310010019199990100064142997",
        "bank_code": "CIB",
        "full_name": "Ali Kandil",
        "created_at": "2026-10-08T12:25:05.000Z",
        "currency": "EGP",
        "debit_currency": "USD",
        "amount": 1000,
        "fee": 45,
        "status": "NEW",
        "reference": "c47823c4c2bfbfar8akdd_PMCKDU_1",
        "meta": [
            {
                "Sender": "Sol Thv",
                "SenderDateOfBirth": "09/12/1992",
                "SenderIdNumber": "62135306",
                "SenderIdType": "PASSPORT",
                "SenderIdExpiry": "21/09/2029",
                "SenderCity": "London",
                "BeneficiaryAddress": "Mivida, Avenues 2, New Cairo",
                "TransferPurpose": "TP2P",
                "BeneficiaryMobileNumber": "+201011340718",
                "SenderEmailAddress": "[email protected]",
                "SenderAddress": "Tahrir Square, Cairo, Egypt",
                "EmailAddress": "[email protected]",
                "FirstName": "Ali",
                "LastName": "Kandil",
                "BeneficiaryIdNumber": "30204151200119",
                "AccountNumberType": "IBAN",
                "SenderMobileNumber": "07054748747",
                "SenderNationality": "ZA",
                "SenderCountry": "ZA",
                "SenderDob": "09/12/1992",
                "MerchantName": "Dotuns Fashion Limited",
                "BeneficiaryName": "Ali Kandil",
                "BeneficiaryCountry": "EG",
                "TransferType": "ACCOUNT",
                "AgentCode": "1",
                "AgentLocationCode": "1",
                "RouteCode": "BDC"
            }
        ],
        "narration": "Egypt withdrawal",
        "complete_message": "",
        "requires_approval": 0,
        "is_approved": 1,
        "bank_name": "FA-BANK"
    }
}

{
    "status": "success",
    "message": "Transfer Queued Successfully",
    "data": {
        "id": 2245671,
        "account_number": "1242424242",
        "bank_code": "BDC",
        "full_name": "john mike",
        "created_at": "2026-10-09T09:23:44.000Z",
        "currency": "EGP",
        "amount": 1000,
        "fee": 45,
        "status": "NEW",
        "reference": "c47823c4cr8akddd_PMCKDU_1",
        "meta": [
            {
                "BeneficiaryAddress": "24 King William Street",
                "SenderCity": "kakakwa",
                "BeneficiaryCountry": "EG",
                "SenderIdNumber": "2231aaa",
                "SenderIdType": "PASSPORT",
                "Sender": "test",
                "EmailAddress": "[email protected]",
                "SenderIdExpiry": "23/09/2026",
                "SenderDateOfBirth": "23/09/2002",
                "SenderEmailAddress": "[email protected]",
                "TransferPurpose": "SERV",
                "FirstName": "John",
                "LastName": "Mike",
                "BeneficiaryIdNumber": "123455",
                "BeneficiaryMobileNumber": "+201011340718",
                "AccountNumberType": "ACCOUNT",
                "SenderAddress": null,
                "SenderMobileNumber": "07054748747",
                "SenderNationality": "ZA",
                "SenderCountry": "ZA",
                "SenderDob": "23/09/2002",
                "MerchantName": "Dotuns Fashion Limited",
                "BeneficiaryName": "John Mike",
                "TransferType": "ACCOUNT",
                "AgentCode": "50261",
                "AgentLocationCode": "50261",
                "RouteCode": "BDC"
            }
        ],
        "narration": "test",
        "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:
curl --request GET \
  --location 'https://api.flutterwave.com/v3/transfers/2245671' \
  --header 'Authorization: Bearer {{YOUR_SECRET_KEY}}'
{
    "status": "success",
    "message": "Transfer fetched",
    "data": {
        "id": 2245671,
        "account_number": "1242424242",
        "bank_code": "BDC",
        "full_name": "john mike",
        "created_at": "2026-10-09T09:23:44.000Z",
        "currency": "EGP",
        "debit_currency": null,
        "amount": 1000,
        "fee": 45,
        "status": "SUCCESSFUL",
        "reference": "c47823c4cr8akddd_PMCKDU_1",
        "meta": [
            {
                "beneficiary_address": "24 King William Street",
                "beneficiary_country": "EG",
                "sender": "test",
                "email": "[email protected]",
                "first_name": "John",
                "last_name": "Mike",
                "beneficiary_name": "John Mike"
            }
        ],
        "narration": "test",
        "approver": null,
        "complete_message": "",
        "requires_approval": 0,
        "is_approved": 1,
        "bank_name": "FA-BANK"
    }
}
  • 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": 2245671,
    "account_number": "1242424242",
    "bank_name": "FA-BANK",
    "bank_code": "BDC",
    "fullname": "john mike",
    "created_at": "2026-10-09T09:23:44.000Z",
    "currency": "EGP",
    "debit_currency": null,
    "amount": 1000,
    "fee": 45,
    "status": "SUCCESSFUL",
    "reference": "c47823c4cr8akddd_PMCKDU_1",
    "meta": [
      {
        "BeneficiaryAddress": "24 King William Street",
        "SenderCity": "kakakwa",
        "BeneficiaryCountry": "EG",
        "SenderIdNumber": "2231aaa",
        "SenderIdType": "PASSPORT",
        "Sender": "test",
        "EmailAddress": "[email protected]",
        "SenderIdExpiry": "23/09/2026",
        "SenderDateOfBirth": "23/09/2002",
        "SenderEmailAddress": "[email protected]",
        "TransferPurpose": "SERV",
        "FirstName": "John",
        "LastName": "Mike",
        "BeneficiaryIdNumber": "123455",
        "BeneficiaryMobileNumber": "+201011340718",
        "AccountNumberType": "ACCOUNT",
        "SenderAddress": null,
        "SenderMobileNumber": "07054748747",
        "SenderNationality": "ZA",
        "SenderCountry": "ZA",
        "SenderDob": "23/09/2002",
        "MerchantName": "Dotuns Fashion Limited",
        "BeneficiaryName": "John Mike",
        "TransferType": "ACCOUNT",
        "AgentCode": "50261",
        "AgentLocationCode": "50261",
        "RouteCode": "BDC"
      }
    ],
    "narration": "test",
    "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?