Automate payouts to your user's verified bank accounts by configuring sweeps. A sweep automatically pushes out or pulls in funds from a balance account based on a pre-defined schedule, amount, and source or destination.
How sweeps work
Sweeps are configured on a balance account. The configuration includes the type of the sweep and conditions, such as the schedule when the sweep is evaluated or a trigger amount. The type dictates the direction of the funds: push to push funds out of the balance account to a destination that you specify, or pull to pull funds in to the balance account from a source that you specify.
You can also set sweep conditions such as:
- Transfer the entire available amount or a fixed amount.
- Maintain an amount on the balance account.
- Set an amount that triggers the sweep.
When the conditions for the sweep are met, it triggers a transfer request. Adyen sends webhooks to your server when a transfer request results from a sweep.
For scheduled payouts, you will configure a push sweep to send funds from your user's balance account to their transfer instrument.
How Adyen calculates the available payout amount
Before paying out funds to your users, Adyen verifies their available balance. The available balance refers to the amount of money on the balance account that the user can spend. Verifying the available balance protects you as a marketplace from any potential obligations that may arise due to users holding a negative balance.
To determine the available balance, Adyen considers an existing balance and all debits and credits that are expected to occur in the future, also called future balance changes.
- 
Existing balance – The initial balance as of the day of calculation, including all amounts with a value date until the day of calculation. 
- 
Future balance changes – The total of all future debits and credits amounts that have a value date in the future and a booking date until the day of calculation. 
The expected future debits and credits are only taken into account if their total results in a negative amount. In such a case, Adyen calculates the available balance as the existing balance minus future balance changes.
If the future balance changes result in a zero or positive amount, Adyen ignores this amount when calculating the available balance.
Below are some examples of how Adyen calculates the available balance of the balance account.
Example 1: Balance account has negative future balance changes

- At the current time T, the existing balance of the balance account is USD 100.
- The total of the debits and credits scheduled for T+1 (USD -50) and T+2 (USD +30) is USD -20.
- Because the future balance changes result in a negative amount, Adyen considers this amount for calculating the available balance.
- The available balance for the balance sweep at T is the existing balance minus future balance changes, or USD 80.
Example 2: Balance account has zero future balance changes

- At the current time T, the existing balance of the balance account is USD 100.
- The total of the debits and credits scheduled for T+1 (USD -15) and T+2 (USD +15) is USD 0.
- Because the future balance changes result in a zero amount, Adyen ignores this amount when calculating the available balance.
- The available balance for the balance sweep at T is the existing balance of USD 100.
Example 3: Balance account has positive future balance changes

- At the current time T, the existing balance of the balance account is 100 USD.
- The total of the debits and credits scheduled for T+1 (USD -50) and T+2 (USD +80) is USD 30.
- Because the future balance changes result in a positive amount, Adyen ignores this amount when calculating the available balance.
- The available balance for the balance sweep at T is the existing balance of USD 100.
Requirements
- Make sure that your server can receive and accept webhooks.
- Contact Support Team if you want to configure a default transfer description for your marketplace.
- Make sure that the user is allowed to use the sendToTransferInstrument capability. From LEM API v3, this capability is verified at the level of the transfer instrument, such as a bank account. This means that transfers are possible to a verified transfer instrument independently of the verification status of other transfer instruments that the legal entity has.
- 
Prior to creating a push sweep, we recommend that you calculate the available transfer routes. This will enable you to design a configuration that optimally aligns with your use case. Furthermore, it minimizes the risk of transfer failures by proactively identifying supported routes and highlighting any necessary parameters. Get transfer routesPrior to creating a push sweep, we recommend that you calculate the available transfer routes. This will enable you to design a configuration that optimally aligns with your use case. Furthermore, it minimizes the risk of transfer failures by proactively identifying supported routes and highlighting any necessary parameters. Step 1. Create a push sweepTo set up scheduled payouts, create push sweeps by using your Customer Area, or by making a POST /balanceAccounts/{balanceAccountId}/sweeps request. Step 2. Get updates when a sweep triggers a transfer requestTrack the transfer requests that result from sweeps through webhooks that Adyen sends to your server. The webhooks provide the status of the request, from the time when Adyen received the request and the transfer was authorised, up to when the transfer was booked and deducted from the balance account. The webhooks also inform you if the transfer failed. You can also view the resulting transfer in your Customer Area. View sweep detailsAfter you create a sweep, you can view the details of the resulting scheduled payout in your Customer Area. These details include: - Payout amount
- Source and destination of the payout
- Completed and upcoming scheduled payouts
 You can view the details of all payout schedules and internal transfer schedules in the Balance account details page, under Scheduled transfers. To do this, your account must have the Balance platform base role. To view the details of a scheduled payout: - In the navigation menu, select Accounts & balances > Balance accounts.
- In the Balance platform dropdown, select the balance platform. You can view balance accounts from one balance platform at a time.
- In the balance account table, select a balance account ID to open the Balance account details page.
- Under Scheduled transfers, select a scheduled payout.
- Open the Details tab to view information about the scheduled payout.
- Open the Events tab to track the event history of the scheduled payout. You can:
- View the date of the next scheduled payout.
- View a history of past payout events, including their execution dates and statuses.
 
 Payout statusesThe table below explains the statuses you may see in the Events tab for each scheduled payout, along with their possible reasons: Status Description Possible reasons Not sent The payout schedule initiated a transfer request, but the transfer request was not successful. Not enough balance: Check that the balance account has enough funds. If needed, you can top up the balance account. 
 Missing capabilities: Verify that the account holder is allowed to use the required capabilities.Failed The payout failed. Route not found: The transfer route may be misconfigured. Check and update the route priorities. 
 Transfer instrument does not exist: The transfer instrument associated with this scheduled transfer was deleted. You may need to create a new transfer instrument.
 Unauthorized: The transfer was not authorized.Success The transfer was created. 
 The details include the transfer amount, the transfer ID, and a link to the transfer details page.Not applicable. Transfer statement description character limitsThe following limits apply to the length and the characters that you can use when setting a transfer statement description based on the location of the counterparty and the priority. The following sections show the character limits for each combination of currency and priority that Adyen supports. EuropeBulgariaCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements BGN regular description[A-Z] [a-z] [0-9] / - ? : ( ) . , ' + Space 140 35 referenceForBeneficiary[A-Z] [a-z] [0-9] / - ? : ( ) . , ' + Space 80 35 BGN wire description[A-Z] [a-z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[A-Z] [a-z] [0-9] / - ? : ( ) . , ' + Space 80 140 Czech RepublicCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements CZK regular description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 140 CZK wire description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 140 DenmarkCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements DKK regular description[a-z] [A-Z] [0-9] / - ? ( ) . , = ! % & * ; Space 140 70 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? ( ) . , = ! % & * ; Space 80 70 DKK wire description[a-z] [A-Z] [0-9] / - ? ( ) . , = ! % & * ; Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? ( ) . , = ! % & * ; Space 80 140 HungaryCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements HUF regular description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 20 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 20 NorwayCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements NOK regular description[a-z] [A-Z] [0-9] / - ? ( ) . , = ! % & * ; Space 140 25 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? ( ) . , = ! % & * ; Space 80 25 NOK wire description[a-z] [A-Z] [0-9] / - ? ( ) . , = ! % & * ; Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? ( ) . , = ! % & * ; Space 80 140 PolandCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements PLN regular description[a-z] [A-Z] [0-9] / - ? ( ) . , = ! % & * ; Space 140 0 
 Adyen accepts a description in the transfer request, but it does not appear in bank statements.referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? ( ) . , = ! % & * ; Space 80 0 
 Adyen accepts a reference for beneficiary in the transfer request, but it does not appear in bank statements.PLN wire description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 140 RomaniaCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements RON regular description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 70 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 70 RON wire description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 140 Single Euro Payments Area (SEPA)Currency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements EUR regular description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 35 EUR wire description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 35 EUR instant description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 0 SwedenCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements SEK regular description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 11 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 11 SEK wire description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 35 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 35 SwitzerlandCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements CHF regular description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 85 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 0 
 Adyen accepts a reference for beneficiary in the transfer request, but it does not appear in bank statements.CHF wire description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 60 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 0 
 Adyen accepts a reference for beneficiary in the transfer request, but it does not appear in bank statements.United KingdomCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements GBP regular description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + # = ! " % & * ; { } @ Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + # = ! " % & * ; { } @ Space 80 18 GBP wire description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 16 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 16 GBP fast description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 140 North AmericaCanadaCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements CAD regular description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 12 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 12 USD regular description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 12 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 12 United StatesCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements USD regular description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 30 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 15 USD wire description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 16 USD fast description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 30 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 15 USD instant description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 16 Asia PacificAustraliaCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements AUD regular description[a-z] [A-Z] [0-9] / - ? : ( ) . ,' + Space 140 18 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 18 AUD wire description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 35 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 35 AUD fast description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 280 (Adyen accepts a maximum of 140) referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 280 (Adyen accepts a maximum of 140) Hong KongCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements HKD regular description[a-z] [A-Z] [0-9] / - ? : ( ) . ,' + Space 140 18 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 18 HKD wire description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 140 USD wire description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 140 New ZealandCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements NZD regular description[a-z] [A-Z] [0-9] / - ? : ( ) . ,' + Space 140 35 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 35 NZD wire description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 140 SingaporeCurrency Payout priority API field name Allowed characters Maximum number of characters Number of characters visible on statements SGD regular description[a-z] [A-Z] [0-9] / - ? : ( ) . ,' + Space 140 18 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 18 SGD wire description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 0 
 Adyen accepts a description in the transfer request, but it does not appear in bank statements.referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 0 
 Adyen accepts a reference for beneficiary in the transfer request, but it does not appear in bank statements.SGD fast description[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 140 140 referenceForBeneficiary[a-z] [A-Z] [0-9] / - ? : ( ) . , ' + Space 80 140 See also