--- title: "External bank transfer" description: "Fund balance accounts by sending a bank transfer from an external bank account." url: "https://docs.adyen.com/issuing/add-manage-funds/external-bank-transfer" source_url: "https://docs.adyen.com/issuing/add-manage-funds/external-bank-transfer.md" canonical: "https://docs.adyen.com/issuing/add-manage-funds/external-bank-transfer" last_modified: "2026-05-12T18:42:28+02:00" language: "en" --- # External bank transfer Fund balance accounts by sending a bank transfer from an external bank account. You can fund balance accounts by initiating a bank transfer from an external bank account to a [funding account that Adyen provides](#funding-account-details). This is a push-based funding method: you initiate the transfer from your bank, and Adyen receives and processes it. For pull-based funding, where Adyen initiates the transfer from your bank account, see [Top up accounts](/issuing/add-manage-funds/top-ups). If you are acquiring payments with Adyen, you can also fund balance accounts through [split payments](/issuing/add-manage-funds/split-payments). After Adyen books the transfer, the funds are available on the account holder's primary balance account and can be used with their issued card. ## Requirements Before you begin, take into account the following requirements, limitations, and preparations. | Requirement | Description | | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Integration type** | This feature is supported for [Adyen Issuing](/issuing) integrations. | | **[Webhooks](/development-resources/webhooks)** | Subscribe to the [Transfer webhooks](https://docs.adyen.com/api-explorer/transfer-webhooks/latest/overview) to get updates on fund transfer events. | | **[Capabilities](/issuing/verification-overview/capabilities)** | The **receiveFromTransferInstrument** capability must be [requested](/issuing/manage-account-holders#request-capability), enabled, and allowed for the account holder. | ## How it works The following is an overview of the bank transfer funding process: 1. Adyen configures your balance platform and provides you with the details of a [funding bank account](#funding-account-details), such as an IBAN or routing and account number. 2. You [prepare for bank transfer funding](#prepare-for-bank-transfer-funding) by onboarding the external bank account as a transfer instrument (a verified external bank account linked to the account holder's main legal entity) and completing all verification requirements. 3. You [send a bank transfer](#send-a-bank-transfer) from the onboarded external bank account to the funding account. 4. Adyen matches the incoming transfer to the onboarded transfer instrument and books the funds to the account holder's primary balance account. 5. You receive [webhooks](#confirm-fund-availability) informing you that the funds have been booked and are available on the balance account. ## Funding account details When Adyen configures your balance platform for bank transfer funding, Adyen generates a funding bank account for your platform. Your Adyen contact provides you with the details of this funding account, such as the IBAN or routing and account number. You use this funding account as the destination for all bank transfers. If you need a signed letter confirming that the funding account is administered by Adyen and designated for your card program, contact our [Support Team](https://ca-test.adyen.com/ca/ca/contactUs/support.shtml?form=other). ## Prepare for bank transfer funding Before an account holder can receive funds through a bank transfer, complete the following steps. 1. Confirm that the account holder's primary balance account is the one linked to the card you want to fund. Adyen books incoming transfers to the primary balance account, so it must match the balance account of the card you intend to fund. The primary balance account is, by default, the first balance account created for the account holder. You can check or change this in your [Customer Area](https://ca-test.adyen.com/) under **Accounts & balances > Account holders > Balance accounts**, or by using the [/accountHolders/{id}](https://docs.adyen.com/api-explorer/balanceplatform/latest/patch/accountHolders/\(id\)) endpoint. To fund non-primary balance accounts, first fund the primary balance account, and then [transfer funds internally](/issuing/add-manage-funds/funds-transfers). 2. Onboard the external bank account used to send the transfer as a `transferInstrument`. This is the bank account that the account holder uses to send the transfer. You can onboard the bank account through [Hosted Onboarding](/issuing/onboard-users/customize-hosted-onboarding) or the [Legal Entity Management API](https://docs.adyen.com/api-explorer/legalentity/latest/overview). To prevent delays, make sure the transfer instrument is verified before you send any funds. You can check the verification status in your [Customer Area](https://ca-test.adyen.com/) under **Accounts & balances > Account holders > Account holder details > KYC timeline**. 3. [Request the **receiveFromTransferInstrument** capability](/issuing/manage-account-holders#request-capability) for the account holder. This capability allows the account holder to receive funds from the onboarded bank account. Requesting it triggers upfront [verification](/issuing/verification-overview). 4. Make sure that all verification requirements are met. All documents for the account holder, the legal entity, and the transfer instrument must be submitted and approved. You can check the verification status in your [Customer Area](https://ca-test.adyen.com/) under **Accounts & balances > Account holders > Account holder details > KYC timeline**. After all verification is complete and the **receiveFromTransferInstrument** capability shows as **allowed**, you can start making bank transfers to fund the account holder's balance account. ## Funding timeline After you send a bank transfer, funds are typically available on the balance account within the same day to a few business days, processing times can vary depending on the region, currency, and payment network used by your bank. Factors that can affect the processing time include: * The payment network your bank uses to process the transfer. * Cutoff times at your bank and any intermediary banks. * Weekend and holiday schedules. * Whether your transfer is routed through intermediary or correspondent banks. To know when the funds are available, keep track of [webhooks](#confirm-fund-availability). The `balancePlatform.transfer.updated` webhook with `status`: **booked** confirms that the funds have arrived and are ready for use. For details about the available payment networks and expected processing times for your region, reach out to your Adyen contact. ## Send a bank transfer After you complete all [preparation steps](#prepare-for-bank-transfer-funding) and have your [funding account details](#funding-account-details): 1. From your bank account, which you onboarded as a transfer instrument, send a bank transfer to your funding account. The transfer must originate from the onboarded bank account. Adyen cannot match funds sent from an unregistered bank account. 2. To know if the funds have arrived, keep track of [transfer webhook messages](#confirm-fund-availability). You can also check the balance in your [Customer Area](https://ca-test.adyen.com/) under **Accounts & balances > Balance accounts**. Do not send a transfer before the account holder has completed onboarding and verification. The **receiveFromTransferInstrument** capability must show as **allowed**. Transfers sent before this is complete can result in funding delays. ## Confirm fund availability After you send a bank transfer, Adyen sends [webhook messages](/issuing/webhook-types/fund-transfers-webhooks) to inform you of each stage of the transfer. You can use these webhooks to determine when funds are available on the balance account. You can identify the webhooks for incoming bank transfers by the following values: * `category`: **bank** * `type`: **bankTransfer** * `direction`: **incoming** ### Transfer lifecycle Adyen sends the following webhooks for each incoming bank transfer: | Webhook | Status | What it means | | -------------------------------------------------------------------------------------------------------------------------------------- | -------------- | --------------------------------------------------------------------------------------------------------------- | | [balancePlatform.transfer.created](https://docs.adyen.com/api-explorer/transfer-webhooks/latest/post/balancePlatform.transfer.created) | **received** | The incoming bank transfer has been received. | | [balancePlatform.transfer.updated](https://docs.adyen.com/api-explorer/transfer-webhooks/latest/post/balancePlatform.transfer.updated) | **authorised** | The transfer has been authorised. | | [balancePlatform.transfer.updated](https://docs.adyen.com/api-explorer/transfer-webhooks/latest/post/balancePlatform.transfer.updated) | **booked** | Funds have been added to the account holder's primary balance account. **The funds are now available for use.** | The `balancePlatform.transfer.updated` webhook with `status`: **booked** confirms that funds are available on the balance account. ### Check the balance You can also check if funds have arrived: * In your [Customer Area](https://ca-test.adyen.com/) under **Accounts & balances > Balance accounts**. * By making a GET [/balanceAccounts/{id}](https://docs.adyen.com/api-explorer/balanceplatform/latest/get/balanceAccounts/\(id\)) request and checking the `balance` field. If funds have not arrived within the expected processing time, make sure that all [preparation steps](#prepare-for-bank-transfer-funding) are complete and that the **receiveFromTransferInstrument** capability is **allowed**. ## See also * [Internal funds transfer](/issuing/add-manage-funds/funds-transfers) * [Split payments](/issuing/add-manage-funds/split-payments) * [Webhooks for fund transfer events](/issuing/webhook-types/fund-transfers-webhooks)