{"title":"Rolling reserves","category":"default","creationDate":1753898220,"content":"<p><span style=\"color: #0ABF53;\"><span style=\"font-size: 20px;\"><strong>Limited availability<\/strong><\/span><\/span><br \/>\nAdyen's Managed Risk solution is in pilot phase. Some of the processes and documentation may change as the solution evolves.<\/p>\n<hr \/>\n<p>If your user is considered higher risk due to their industry or behavior, we withhold a percentage of their daily sales volume from the sales day's settlement batch for a certain period of time. Adyen holds the reserved funds until the end of the rolling reserve cycle, then releases them to your user's balance account. When the funds become available, you can pay them out to your user manually, or according to a preconfigured payout schedule.<\/p>\n<h2>Requirements<\/h2>\n<p>If you have the roles and permissions for <a href=\"\/pt\/platforms\/managed-risk\/#requirements\">Managed Risk<\/a>, there are no additional requirements, limitations, or preparations.<\/p>\n<h2>How it works<\/h2>\n<p>In the following example, Adyen applied a 10% reserve to your user's daily sales, with a 30-day rolling cycle and a 2-day settlement delay.<\/p>\n<p>This means that 90% of your user's daily sales become available on your user's balance account after the settlement delay (on day 3), while the remaining 10% is held in reserve for 30 days. According to the 2-day settlement delay and the 30-day rolling reserve cycle, the funds that become available on day 33 consist of 90% of the sales volume of day 31, plus the amount that was reserved on day 3.<\/p>\n<p><code>Available funds<sub>(D31)<\/sub><\/code> <strong>=<\/strong> <code>(Sales volume<sub>(D31)<\/sub> <b>x<\/b> 0.90)<\/code> <strong>+<\/strong> <code>(Sales volume<sub>(D1)<\/sub> <b>x<\/b> 0.10)<\/code><\/p>\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#example-breakdown-for-a-rolling-reserve\">\n                                    <h4 class=\"adl-accordion__title\">Example breakdown for a rolling reserve<\/h4>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n<p>Here is the breakdown of the reserved, released, and available funds for the rolling reserve cycle described above:<\/p>\n<div class=\"sticky-table-container\">\n    \n<table>\n<thead>\n<tr>\n<th style=\"text-align: center;\">Sales day<\/th>\n<th style=\"text-align: center;\">Sales volume<\/th>\n<th style=\"text-align: center;\">Funds reserved<\/th>\n<th style=\"text-align: center;\">Funds released<\/th>\n<th style=\"text-align: center;\">Available funds<\/th>\n<th style=\"text-align: center;\">Funds in reserve<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: center;\">1<\/td>\n<td style=\"text-align: center;\">$1,000.00<\/td>\n<td style=\"text-align: center;\">$100.00<\/td>\n<td style=\"text-align: center;\">$0.00<\/td>\n<td style=\"text-align: center;\">$0.00<\/td>\n<td style=\"text-align: center;\">$100.00<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">2<\/td>\n<td style=\"text-align: center;\">$2,000.00<\/td>\n<td style=\"text-align: center;\">$200.00<\/td>\n<td style=\"text-align: center;\">$0.00<\/td>\n<td style=\"text-align: center;\">$0.00<\/td>\n<td style=\"text-align: center;\">$300.00<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">3<\/td>\n<td style=\"text-align: center;\">$3,000.00<\/td>\n<td style=\"text-align: center;\">$300.00<\/td>\n<td style=\"text-align: center;\">$0.00<\/td>\n<td style=\"text-align: center;\">$900.00<\/td>\n<td style=\"text-align: center;\">$600.00<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">4<\/td>\n<td style=\"text-align: center;\">$1,000.00<\/td>\n<td style=\"text-align: center;\">$100.00<\/td>\n<td style=\"text-align: center;\">$0.00<\/td>\n<td style=\"text-align: center;\">$1,800.00<\/td>\n<td style=\"text-align: center;\">$700.00<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">...<\/td>\n<td style=\"text-align: center;\">...<\/td>\n<td style=\"text-align: center;\">...<\/td>\n<td style=\"text-align: center;\">...<\/td>\n<td style=\"text-align: center;\">...<\/td>\n<td style=\"text-align: center;\">...<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">31<\/td>\n<td style=\"text-align: center;\">$3,000.00<\/td>\n<td style=\"text-align: center;\">$300.00<\/td>\n<td style=\"text-align: center;\">$100.00<\/td>\n<td style=\"text-align: center;\">$900.00<\/td>\n<td style=\"text-align: center;\">$5,600.00<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">32<\/td>\n<td style=\"text-align: center;\">$1,000.00<\/td>\n<td style=\"text-align: center;\">$100.00<\/td>\n<td style=\"text-align: center;\">$200.00<\/td>\n<td style=\"text-align: center;\">$1,800.00<\/td>\n<td style=\"text-align: center;\">$5,500.00<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">33<\/td>\n<td style=\"text-align: center;\">$2,000.00<\/td>\n<td style=\"text-align: center;\">$200.00<\/td>\n<td style=\"text-align: center;\">$300.00<\/td>\n<td style=\"text-align: center;\">$2,700.00<\/td>\n<td style=\"text-align: center;\">$5,400.00<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center;\">34<\/td>\n<td style=\"text-align: center;\">$1,000.00<\/td>\n<td style=\"text-align: center;\">$100.00<\/td>\n<td style=\"text-align: center;\">$100.00<\/td>\n<td style=\"text-align: center;\">$900.0<\/td>\n<td style=\"text-align: center;\">$5,400.00<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<\/div>\n\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<h2>Receive configuration updates<\/h2>\n<p>All changes in your user's risk management settings automatically trigger webhooks to your server. To receive these webhooks, <a href=\"\/pt\/development-resources\/webhooks\/configure-and-manage#configure-customer-area\">subscribe<\/a> to the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/balanceplatform-webhooks\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Configuration webhooks<\/a>.<\/p>\n<h3>Rolling reserve applied<\/h3>\n<p>We send a <code>balancePlatform.managedRisk.rollingReserve.applied<\/code> webhook when we apply a rolling reserve to your user's balance account.<\/p>\n<p>This webhook contains the following information in the <code>data<\/code> object:<\/p>\n<div class=\"sticky-table-container\">\n    \n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>accountHolderId<\/code><\/td>\n<td style=\"text-align: left;\">The unique identifier of the account holder whose daily sales we applied the rolling reserve.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>balancePlatform<\/code><\/td>\n<td style=\"text-align: left;\">The unique identifier of the balance platform in which the change occurred.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>creationDate<\/code><\/td>\n<td style=\"text-align: left;\">The date and time when the rolling reserve was applied, in <a href=\"https:\/\/www.iso.org\/iso-8601-date-and-time-format.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">ISO 8601<\/a> extended format.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>id<\/code><\/td>\n<td style=\"text-align: left;\">The unique identifier of the webhook event.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>rollingReservePercentage<\/code><\/td>\n<td style=\"text-align: left;\">The percentage of your user's daily sales volume that is withheld from the settlement batch as a rolling reserve.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>withHoldingPeriodInDays<\/code><\/td>\n<td style=\"text-align: left;\">The number of days after which we release the withheld percentage of your user's daily sales volume.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<\/div>\n\n<p>The following example shows the webhook you receive when a rolling reserve is applied to your user's daily sales volume.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Rolling reserve applied'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"data\\\": {\\n        \\\"accountHolderId\\\": \\\"AH00000000000000000000001\\\",\\n        \\\"balancePlatform\\\": \\\"YOUR_BALANCE_PLATFORM\\\",\\n        \\\"creationDate\\\": \\\"2024-10-18T10:15:30+01:00\\\",\\n        \\\"id\\\": \\\"JN4227222422265\\\",\\n        \\\"rollingReservePercentage\\\": 10,\\n        \\\"withHoldingPeriodInDays\\\": 30\\n    },\\n    \\\"environment\\\": \\\"test\\\",\\n    \\\"type\\\": \\\"balancePlatform.managedRisk.rollingReserve.applied\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h3>Rolling reserve updated<\/h3>\n<p>Adyen sends a <code>balancePlatform.managedRisk.rollingReserve.updated<\/code> webhook to notify you of changes to the applied rolling reserve. Updated reserve terms only affect future payments and do not affect previous reserves.<\/p>\n<p>This webhook contains the following information in the <code>data<\/code> object:<\/p>\n<div class=\"sticky-table-container\">\n    \n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>accountHolderId<\/code><\/td>\n<td style=\"text-align: left;\">The unique identifier of the account holder whose risk settings changed.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>balancePlatform<\/code><\/td>\n<td style=\"text-align: left;\">The unique identifier of the balance platform in which the change occurred.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>creationDate<\/code><\/td>\n<td style=\"text-align: left;\">The date and time when the rolling reserve amount and\/or withholding period changed, in <a href=\"https:\/\/www.iso.org\/iso-8601-date-and-time-format.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">ISO 8601<\/a> extended format.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>id<\/code><\/td>\n<td style=\"text-align: left;\">The unique identifier of the webhook event.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>rollingReservePercentage<\/code><\/td>\n<td style=\"text-align: left;\">The updated percentage of your user's daily sales volume that is withheld from the settlement batch as a rolling reserve.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>withHoldingPeriodInDays<\/code><\/td>\n<td style=\"text-align: left;\">The updated number of days after which we release the withheld percentage of your user's daily sales volume.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<\/div>\n\n<p>The following example shows the webhook you receive when a rolling reserve that has been applied to your user's daily sales volume, is updated.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Rolling reserve updated'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"data\\\": {\\n        \\\"accountHolderId\\\": \\\"AH00000000000000000000001\\\",\\n        \\\"balancePlatform\\\": \\\"YOUR_BALANCE_PLATFORM\\\",\\n        \\\"creationDate\\\": \\\"2024-10-18T10:15:30+01:00\\\",\\n        \\\"id\\\": \\\"JN4227222422265\\\",\\n        \\\"rollingReservePercentage\\\": 5,\\n        \\\"withHoldingPeriodInDays\\\": 20\\n    },\\n    \\\"environment\\\": \\\"test\\\",\\n    \\\"type\\\": \\\"balancePlatform.managedRisk.rollingReserve.updated\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h3>Rolling reserve lifted<\/h3>\n<p>Adyen sends a <code>balancePlatform.managedRisk.rollingReserve.lifted<\/code> webhook when we remove the rolling reserve configuration from your user's balance account.<\/p>\n<p>This webhook contains the following information in the <code>data<\/code> object:<\/p>\n<div class=\"sticky-table-container\">\n    \n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>accountHolderId<\/code><\/td>\n<td style=\"text-align: left;\">The unique identifier of the account holder whose risk management changes.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>balancePlatform<\/code><\/td>\n<td style=\"text-align: left;\">The unique identifier of the balance platform in which the change occurs.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>id<\/code><\/td>\n<td style=\"text-align: left;\">The unique identifier of the webhook event.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<\/div>\n\n<p>The following example shows the webhook you receive when a rolling reserve is lifted from your user's daily sales volume.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Rolling reserve lifted'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"data\\\": {\\n        \\\"accountHolderId\\\": \\\"AH00000000000000000000001\\\",\\n        \\\"balancePlatform\\\": \\\"YOUR_BALANCE_PLATFORM\\\",\\n        \\\"id\\\": \\\"JN4227222422265\\\"\\n    },\\n    \\\"environment\\\": \\\"test\\\",\\n    \\\"type\\\": \\\"balancePlatform.managedRisk.rollingReserve.lifted\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h2>Receive fund movement updates<\/h2>\n<p>All fund movements in your balance platform automatically trigger webhooks to your server. We send a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/post\/balancePlatform.transfer.updated\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">balancePlatform.transfer.updated<\/a> webhook when we deduct funds from your user's transaction and allocate it to the reserve, and a <code>balancePlatform.managedRisk.balance.block.released<\/code> webhook when we release these funds.<\/p>\n<p>While we send individual transfer webhooks for every transaction, we only send one <code>balancePlatform.managedRisk.balance.block.released<\/code> per settlement batch.<\/p>\n<h3>Reserved funds<\/h3>\n<p>Adyen sends a  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/transfer-webhooks\/latest\/post\/balancePlatform.transfer.updated\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">balancePlatform.transfer.updated<\/a> webhook when we reserve the funds from your user's transaction amount and allocate it to the rolling reserve.<\/p>\n<p>This webhook contains an additional <code>managedRisk<\/code> object with the following information:<\/p>\n<div class=\"sticky-table-container\">\n    \n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>blockedAmount<\/code><\/td>\n<td style=\"text-align: left;\">The amount deducted from the original transaction amount and allocated to the reserve.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>expectedReleaseDate<\/code><\/td>\n<td style=\"text-align: left;\">The date when the withheld amount is scheduled to be released to the balance account, in <a href=\"https:\/\/www.iso.org\/iso-8601-date-and-time-format.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">ISO 8601<\/a> format.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>batchReference<\/code><\/td>\n<td style=\"text-align: left;\">The unique identifier of the batch of transfers this individual transfer is part of.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<\/div>\n\n<div class=\"notices green\">\n<p>The reserved amounts are also included in the <strong>Managed Risk Blocked Amount<\/strong> column of the Balance Platform <a href=\"\/pt\/platforms\/reports-and-fees\/balance-platform-accounting-report\/\">Accounting<\/a> and <a href=\"\/pt\/platforms\/reports-and-fees\/payout-report\/\">Payout<\/a> reports. You can enable this column by <a href=\"\/pt\/platforms\/prepare-reports\/#add-report-columns\">configuring the reports<\/a> in your <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>.<\/p>\n<\/div>\n<p>The following example shows the webhook you receive when we add USD 100 to a rolling reserve with a 30-day cycle.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Funds reserved'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n   \\\"data\\\":{\\n      \\\"id\\\":\\\"JN4227222422265\\\",\\n      \\\"type\\\":\\\"capture\\\",\\n      \\\"amount\\\":{\\n         \\\"value\\\":100000,\\n         \\\"currency\\\":\\\"USD\\\"\\n      },\\n      \\\"events\\\":[\\n         {\\n            \\\"id\\\":\\\"EVJN00000000000000000000000001\\\",\\n            \\\"type\\\":\\\"accounting\\\",\\n            \\\"status\\\":\\\"received\\\",\\n            \\\"mutations\\\":[\\n               {\\n                  \\\"currency\\\":\\\"USD\\\",\\n                  \\\"received\\\":100000\\n               }\\n            ],\\n            \\\"bookingDate\\\":\\\"2025-06-24T10:29:02+02:00\\\"\\n         },\\n         {\\n            \\\"id\\\":\\\"EVJN00000000000000000000000002\\\",\\n            \\\"type\\\":\\\"accounting\\\",\\n            \\\"status\\\":\\\"authorised\\\",\\n            \\\"mutations\\\":[\\n               {\\n                  \\\"currency\\\":\\\"USD\\\",\\n                  \\\"received\\\":-100000,\\n                  \\\"reserved\\\":100000\\n               }\\n            ],\\n            \\\"bookingDate\\\":\\\"2025-06-24T10:29:02+02:00\\\"\\n         },\\n         {\\n            \\\"id\\\":\\\"EVJN00000000000000000000000003\\\",\\n            \\\"arn\\\":\\\"a64aeff2-e312-3ba3-bd55-bf4cfa74da78-32fb2033-918c-3218-a231-fca235cf56dc\\\",\\n            \\\"type\\\":\\\"accounting\\\",\\n            \\\"status\\\":\\\"captured\\\",\\n            \\\"mutations\\\":[\\n               {\\n                  \\\"balance\\\":100000,\\n                  \\\"currency\\\":\\\"USD\\\",\\n                  \\\"received\\\":0,\\n                  \\\"reserved\\\":-100000\\n               }\\n            ],\\n            \\\"valueDate\\\":\\\"2025-06-26T09:00:00+02:00\\\",\\n            \\\"bookingDate\\\":\\\"2025-06-24T10:29:15+02:00\\\",\\n            \\\"transactionId\\\":\\\"EVJN00000000000000000000000003USD\\\"\\n         }\\n      ],\\n      \\\"reason\\\":\\\"approved\\\",\\n      \\\"status\\\":\\\"captured\\\",\\n      \\\"eventId\\\":\\\"EVJN00000000000000000000000003\\\",\\n      \\\"balances\\\":[\\n         {\\n            \\\"balance\\\":100000,\\n            \\\"currency\\\":\\\"USD\\\",\\n            \\\"received\\\":0,\\n            \\\"reserved\\\":0\\n         }\\n      ],\\n      \\\"category\\\":\\\"platformPayment\\\",\\n      \\\"direction\\\":\\\"incoming\\\",\\n      \\\"categoryData\\\":{\\n         \\\"managedRisk\\\":{\\n            \\\"blockedAmount\\\":{\\n               \\\"value\\\":10000,\\n               \\\"currency\\\":\\\"USD\\\"\\n            },\\n            \\\"batchReference\\\":\\\"F655F04092A2825CA5166AC8499752C8\\\",\\n            \\\"expectedReleaseDate\\\":\\\"2025-07-25T09:00:00+02:00\\\"\\n         },\\n         \\\"platformPaymentType\\\":\\\"BalanceAccount\\\",\\n         \\\"pspPaymentReference\\\":\\\"CWBC43ZX2VTFWR82\\\",\\n         \\\"modificationPspReference\\\":\\\"MRef#000001\\\",\\n         \\\"paymentMerchantReference\\\":\\\"Payment reference\\\",\\n         \\\"type\\\":\\\"platformPayment\\\"\\n      },\\n      \\\"creationDate\\\":\\\"2025-06-24T10:29:15+02:00\\\",\\n      \\\"accountHolder\\\":{\\n         \\\"id\\\":\\\"AH00000000000000000000001\\\",\\n         \\\"reference\\\":\\\"481a3776-abde-4af1-9ec9-2957eccf5456\\\",\\n         \\\"description\\\":\\\"Your description for the account holder\\\"\\n      },\\n      \\\"balanceAccount\\\":{\\n         \\\"id\\\":\\\"BA00000000000000000000001\\\",\\n         \\\"description\\\":\\\"Your description for the balance account\\\"\\n      },\\n      \\\"sequenceNumber\\\":3,\\n      \\\"balancePlatform\\\":\\\"YOUR_BALANCE_PLATFORM\\\"\\n   },\\n   \\\"type\\\":\\\"balancePlatform.transfer.updated\\\",\\n   \\\"timestamp\\\":\\\"2025-06-24T08:29:16.69Z\\\",\\n   \\\"environment\\\":\\\"test\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h3>Released funds<\/h3>\n<p>Adyen sends a <code>balancePlatform.managedRisk.balance.block.released<\/code> webhook when we release the funds from the reserve and allocate it to the current sales day's settlement batch.<\/p>\n<p>This webhook contains the following information:<\/p>\n<div class=\"sticky-table-container\">\n    \n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>amount<\/code><\/td>\n<td style=\"text-align: left;\">The sum of the funds released from the reserve and allocated to the settlement batch of the <code>valueDate<\/code>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>valueDate<\/code><\/td>\n<td style=\"text-align: left;\">The date when the previously withheld amount is released to the balance account, in <a href=\"https:\/\/www.iso.org\/iso-8601-date-and-time-format.html\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">ISO 8601<\/a> format.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>batchReference<\/code><\/td>\n<td style=\"text-align: left;\">The unique identifier of the batch of fund releases.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<\/div>\n\n<p>The following example shows the webhook you receive when we release the funds reserved in the <a href=\"#reserved-funds\">previous example<\/a>.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Funds released'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n   \\\"data\\\":{\\n      \\\"balancePlatform\\\":\\\"YOUR_BALANCE_PLATFORM\\\",\\n      \\\"id\\\":\\\"1W1UG35QQEBJLHZ8\\\",\\n      \\\"accountHolder\\\":{\\n         \\\"description\\\":\\\"Your description for the account holder\\\",\\n         \\\"id\\\":\\\"AH00000000000000000000001\\\",\\n         \\\"reference\\\":\\\"a7838e0a-d569-43b4-a61c-73f79cec4262\\\"\\n      },\\n      \\\"amount\\\":{\\n         \\\"currency\\\":\\\"USD\\\",\\n         \\\"value\\\":10000\\n      },\\n      \\\"balanceAccount\\\":{\\n         \\\"description\\\":\\\"Your description for the balance account\\\",\\n         \\\"id\\\":\\\"BA00000000000000000000001\\\"\\n      },\\n      \\\"batchReference\\\":\\\"FDC506AD992E4687DCD5661635BF6DFC\\\",\\n      \\\"valueDate\\\": \\\"2025-07-25T09:00:00+02:00\\\"\\n   },\\n   \\\"environment\\\":\\\"test\\\",\\n   \\\"timestamp\\\":\\\"2025-07-16T19:04:31.939Z\\\",\\n   \\\"type\\\":\\\"balancePlatform.managedRisk.balance.block.released\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h2>View events and changes<\/h2>\n<p>View the rolling reserve configuration and fund movement details in your <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>:<\/p>\n<ol>\n<li>Go to <strong>Balance account<\/strong>.<\/li>\n<li>Select the <strong>Rolling reserves<\/strong> tab.<br \/>\nThis tab is only visible if a rolling reserve is applied to the balance account.<\/li>\n<li>You can view the current rolling reserve configuration in the header.<\/li>\n<li>In the table, you can see an overview of when funds are added to and released from the reserve, and the total amount that is held in reserve on your user's balance account.<\/li>\n<\/ol>\n<p><a rel=\"lightbox\" href=\"\/user\/pages\/docs\/05.platforms\/42.managed-risk\/02.rolling-reserve\/ba-rolling-reserves.png\" src=\"\">\n  <img alt=\"\" src=\"\/user\/pages\/docs\/05.platforms\/42.managed-risk\/02.rolling-reserve\/ba-rolling-reserves.png\" \/>\n<\/a><\/p>\n<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/platforms\/managed-risk\/dynamic-settlement-delay\"\n                        target=\"_self\"\n                        >\n                    Dynamic settlement delay\n                <\/a><\/li><li><a href=\"\/platforms\/settle-funds\"\n                        target=\"_self\"\n                        >\n                    Settle funds\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/platforms\/managed-risk\/rolling-reserve","articleFields":{"description":"Learn how Adyen mitigates risk by applying a rolling reserve to your user's balance account.","robots":"noindex,nofollow","never_cache_twig":true,"parameters":{"directoryPath":"\/platforms","model":"platform"},"type":"page","feedback_component":true,"filters_component":false,"decision_tree":"[]","page_id":"6a053228-0cf6-4fcb-b8b3-6881a642f4d6","last_edit_on":"30-07-2025 19:57"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/platforms\/managed-risk\/rolling-reserve","title":"Rolling reserves","content":"Limited availability\nAdyen's Managed Risk solution is in pilot phase. Some of the processes and documentation may change as the solution evolves.\n\nIf your user is considered higher risk due to their industry or behavior, we withhold a percentage of their daily sales volume from the sales day's settlement batch for a certain period of time. Adyen holds the reserved funds until the end of the rolling reserve cycle, then releases them to your user's balance account. When the funds become available, you can pay them out to your user manually, or according to a preconfigured payout schedule.\nRequirements\nIf you have the roles and permissions for Managed Risk, there are no additional requirements, limitations, or preparations.\nHow it works\nIn the following example, Adyen applied a 10% reserve to your user's daily sales, with a 30-day rolling cycle and a 2-day settlement delay.\nThis means that 90% of your user's daily sales become available on your user's balance account after the settlement delay (on day 3), while the remaining 10% is held in reserve for 30 days. According to the 2-day settlement delay and the 30-day rolling reserve cycle, the funds that become available on day 33 consist of 90% of the sales volume of day 31, plus the amount that was reserved on day 3.\nAvailable funds(D31) = (Sales volume(D31) x 0.90) + (Sales volume(D1) x 0.10)\n\n    \n    \n        \n            \n            \n                                    Example breakdown for a rolling reserve\n                            \n        \n        \n            \nHere is the breakdown of the reserved, released, and available funds for the rolling reserve cycle described above:\n\n    \n\n\n\nSales day\nSales volume\nFunds reserved\nFunds released\nAvailable funds\nFunds in reserve\n\n\n\n\n1\n$1,000.00\n$100.00\n$0.00\n$0.00\n$100.00\n\n\n2\n$2,000.00\n$200.00\n$0.00\n$0.00\n$300.00\n\n\n3\n$3,000.00\n$300.00\n$0.00\n$900.00\n$600.00\n\n\n4\n$1,000.00\n$100.00\n$0.00\n$1,800.00\n$700.00\n\n\n...\n...\n...\n...\n...\n...\n\n\n31\n$3,000.00\n$300.00\n$100.00\n$900.00\n$5,600.00\n\n\n32\n$1,000.00\n$100.00\n$200.00\n$1,800.00\n$5,500.00\n\n\n33\n$2,000.00\n$200.00\n$300.00\n$2,700.00\n$5,400.00\n\n\n34\n$1,000.00\n$100.00\n$100.00\n$900.0\n$5,400.00\n\n\n\n\n\n\n\n        \n    \n\n\nReceive configuration updates\nAll changes in your user's risk management settings automatically trigger webhooks to your server. To receive these webhooks, subscribe to the  Configuration webhooks.\nRolling reserve applied\nWe send a balancePlatform.managedRisk.rollingReserve.applied webhook when we apply a rolling reserve to your user's balance account.\nThis webhook contains the following information in the data object:\n\n    \n\n\n\nParameter\nDescription\n\n\n\n\naccountHolderId\nThe unique identifier of the account holder whose daily sales we applied the rolling reserve.\n\n\nbalancePlatform\nThe unique identifier of the balance platform in which the change occurred.\n\n\ncreationDate\nThe date and time when the rolling reserve was applied, in ISO 8601 extended format.\n\n\nid\nThe unique identifier of the webhook event.\n\n\nrollingReservePercentage\nThe percentage of your user's daily sales volume that is withheld from the settlement batch as a rolling reserve.\n\n\nwithHoldingPeriodInDays\nThe number of days after which we release the withheld percentage of your user's daily sales volume.\n\n\n\n\n\n\nThe following example shows the webhook you receive when a rolling reserve is applied to your user's daily sales volume.\n\n    \n\nRolling reserve updated\nAdyen sends a balancePlatform.managedRisk.rollingReserve.updated webhook to notify you of changes to the applied rolling reserve. Updated reserve terms only affect future payments and do not affect previous reserves.\nThis webhook contains the following information in the data object:\n\n    \n\n\n\nParameter\nDescription\n\n\n\n\naccountHolderId\nThe unique identifier of the account holder whose risk settings changed.\n\n\nbalancePlatform\nThe unique identifier of the balance platform in which the change occurred.\n\n\ncreationDate\nThe date and time when the rolling reserve amount and\/or withholding period changed, in ISO 8601 extended format.\n\n\nid\nThe unique identifier of the webhook event.\n\n\nrollingReservePercentage\nThe updated percentage of your user's daily sales volume that is withheld from the settlement batch as a rolling reserve.\n\n\nwithHoldingPeriodInDays\nThe updated number of days after which we release the withheld percentage of your user's daily sales volume.\n\n\n\n\n\n\nThe following example shows the webhook you receive when a rolling reserve that has been applied to your user's daily sales volume, is updated.\n\n    \n\nRolling reserve lifted\nAdyen sends a balancePlatform.managedRisk.rollingReserve.lifted webhook when we remove the rolling reserve configuration from your user's balance account.\nThis webhook contains the following information in the data object:\n\n    \n\n\n\nParameter\nDescription\n\n\n\n\naccountHolderId\nThe unique identifier of the account holder whose risk management changes.\n\n\nbalancePlatform\nThe unique identifier of the balance platform in which the change occurs.\n\n\nid\nThe unique identifier of the webhook event.\n\n\n\n\n\n\nThe following example shows the webhook you receive when a rolling reserve is lifted from your user's daily sales volume.\n\n    \n\nReceive fund movement updates\nAll fund movements in your balance platform automatically trigger webhooks to your server. We send a  balancePlatform.transfer.updated webhook when we deduct funds from your user's transaction and allocate it to the reserve, and a balancePlatform.managedRisk.balance.block.released webhook when we release these funds.\nWhile we send individual transfer webhooks for every transaction, we only send one balancePlatform.managedRisk.balance.block.released per settlement batch.\nReserved funds\nAdyen sends a  balancePlatform.transfer.updated webhook when we reserve the funds from your user's transaction amount and allocate it to the rolling reserve.\nThis webhook contains an additional managedRisk object with the following information:\n\n    \n\n\n\nParameter\nDescription\n\n\n\n\nblockedAmount\nThe amount deducted from the original transaction amount and allocated to the reserve.\n\n\nexpectedReleaseDate\nThe date when the withheld amount is scheduled to be released to the balance account, in ISO 8601 format.\n\n\nbatchReference\nThe unique identifier of the batch of transfers this individual transfer is part of.\n\n\n\n\n\n\n\nThe reserved amounts are also included in the Managed Risk Blocked Amount column of the Balance Platform Accounting and Payout reports. You can enable this column by configuring the reports in your Customer Area.\n\nThe following example shows the webhook you receive when we add USD 100 to a rolling reserve with a 30-day cycle.\n\n    \n\nReleased funds\nAdyen sends a balancePlatform.managedRisk.balance.block.released webhook when we release the funds from the reserve and allocate it to the current sales day's settlement batch.\nThis webhook contains the following information:\n\n    \n\n\n\nParameter\nDescription\n\n\n\n\namount\nThe sum of the funds released from the reserve and allocated to the settlement batch of the valueDate.\n\n\nvalueDate\nThe date when the previously withheld amount is released to the balance account, in ISO 8601 format.\n\n\nbatchReference\nThe unique identifier of the batch of fund releases.\n\n\n\n\n\n\nThe following example shows the webhook you receive when we release the funds reserved in the previous example.\n\n    \n\nView events and changes\nView the rolling reserve configuration and fund movement details in your Customer Area:\n\nGo to Balance account.\nSelect the Rolling reserves tab.\nThis tab is only visible if a rolling reserve is applied to the balance account.\nYou can view the current rolling reserve configuration in the header.\nIn the table, you can see an overview of when funds are added to and released from the reserve, and the total amount that is held in reserve on your user's balance account.\n\n\n  \n\nSee also\n\n\n                    Dynamic settlement delay\n                \n                    Settle funds\n                \n","type":"page","locale":"pt","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Platforms","lvl2":"Adyen Managed Risk","lvl3":"Rolling reserves"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/platforms","lvl2":"https:\/\/docs.adyen.com\/pt\/platforms\/managed-risk","lvl3":"\/pt\/platforms\/managed-risk\/rolling-reserve"},"levels":4,"category":"Platforms","category_color":"green","tags":["Rolling","reserves"]},"articleFiles":{"ba-rolling-reserves.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/05.platforms\/42.managed-risk\/02.rolling-reserve\/ba-rolling-reserves.png\" \/>","rolling_reserve_applied.svg":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/05.platforms\/42.managed-risk\/02.rolling-reserve\/rolling_reserve_applied.svg\" \/>","rolling_reserve_lifted.svg":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/05.platforms\/42.managed-risk\/02.rolling-reserve\/rolling_reserve_lifted.svg\" \/>"}}
