# Set reserves on your connected accounts Temporarily reserve part of a connected account’s funds to cover refunds and disputes. With [Radar for Platforms](https://docs.stripe.com/radar/radar-for-platforms.md), you can reduce the likelihood of negative connected account balances by creating [Reserves](https://docs.stripe.com/api/reserves.md?api-version=2025-08-27.preview). Reserves temporarily prevent portions of connected account balances from being paid out while they’re still subject to refunds or disputes. Any refunds or disputed funds from a transaction are automatically taken first from reserved amounts associated with that transaction. When reserved funds are released, they become available for the next payout to the connected account. You can’t reserve funds for longer than 180 days. > #### Understanding different reserve types > > Reserves that your platform creates for connected accounts are similar to [reserves that Stripe creates for direct user accounts](https://support.stripe.com/questions/reserves-frequently-asked-questions). When viewing a connected account’s [Balances](https://docs.stripe.com/api/balance/balance_object.md), the `risk_reserved` hash represents reserves that the platform holds in the account’s balance. You can create reserves in the following ways: - [Hold](https://docs.stripe.com/api/reserve/hold.md?api-version=2025-08-27.preview): Reserve a single amount that releases on a specified date. You can also manually [release](https://docs.stripe.com/api/reserve/release.md?api-version=2025-08-27.preview) a hold. - [Plan](https://docs.stripe.com/api/reserve/plan.md?api-version=2025-08-27.preview): Set up a plan that automatically creates a hold for a percentage of each charge. Each hold releases either on a specified date (fixed reserve) or a specified number of days after the associated charge (rolling reserve). - Use fixed reserve plans for temporary or date-specific dispute and refund concerns, such as for payments related to an upcoming event. - Use rolling reserve plans for automated management of ongoing risk. Implementing a standard reserve window also lets you set consistent expectations for connected accounts around payouts. ## Understand reserve scenarios Some common scenarios for implementing reserves include: - Regular transactions with a high percentage of refunds: Set up a fixed plan to reserve funds from each transaction and release each hold after a number of days equal to your standard refund window. - A large transaction with an unusually long delivery time: Create a hold or fixed reserve plan to reserve funds from that transaction and release them when its return window closes. - Ticket transactions for an event at risk of cancellation: Set up a fixed reserve plan to reserve funds from each transaction and release them all the day after the event. - Travel or lodging reservations that can be canceled for a refund until a certain number of days before the reservation date: Create a fixed reserve plan and update each hold release date to match that of the fulfillment date or the refund deadline for that reservation. - A connected account that experiences a large number of disputes: Set up a rolling reserve plan to reserve funds from each transaction for a certain length of time based on the dispute risk. - A sudden large increase in the number of transactions for a connected account: Set up a rolling reserve plan to reserve funds from each transaction and release them all on a date that gives the platform time to investigate the possibility of fraud. - Protection against fraudulent connected accounts: Set up a rolling reserve plan to reserve funds from each transaction with a new connected account and release them at the end of the account’s probationary period. The following diagrams illustrate the flow of reserved funds in different scenarios: Set a 30%, 60 day rolling reserve (See full diagram at https://docs.stripe.com/connect/connected-account-reserves)Set a 20%, 30 day fixed reserve (See full diagram at https://docs.stripe.com/connect/connected-account-reserves) ## Configure reserves When you implement a reserve, the appropriate amount and hold time depends on the level of risk associated with a transaction. Consider the likelihood of refunds or disputes, as well as their size in relation to the connected account’s normal balance and to your platform’s risk tolerance. A connected account’s level of risk depends in part on its exposure, which is its unfulfilled volume that’s subject to refunds and disputes. If your platform can’t directly access that information, you can estimate it by tracking the account’s refund and dispute rates and its average payments. The relationship between an account’s average exposure and its average balance can help you determine its level of risk for a negative balance. When you configure reserves for a connected account, decide how much of its exposure your platform is willing to cover, and for how long. You must also consider how reserving funds can affect a connected account’s ability to conduct business. Some of the factors that can affect the amount of risk associated with a connected account’s exposure include: - The average value of its orders - Its dispute rate - Whether its industry commonly has extended delivery times or high loss rates (for example, event ticketing, travel & lodging, furniture, or construction) - External macroeconomic events, such as supply chain disruptions, recessions, or tariffs For example, consider a connected account where your ideal risk tolerance is 70% of its transaction amounts, and it has a normal refund window of 30 days. You might reserve 30% of each transaction amount for 30 days from the original transaction date. However, because the business involves small margins, you determine that holding that much of its revenue for that long could hinder its ability to fulfill orders. You might hold smaller amounts for longer periods, such as 20% for 45 days, or larger amounts for shorter periods, such as 40% for 10 days. To simplify the process of configuring reserves, you can assign connected accounts to groups based on their risk level, and configure a reserve plan for each group. ## Manage account expectations In order to set expectations for your connected accounts and protect yourself against potential legal liability, your Terms of Service must clearly explain your reserve policy. Also, consider helping potential connected accounts understand what to expect from your platform by publishing public guidance about your reserve policy. ## Work with the Reserves API The Reserves API provides three objects: - [ReserveHold](https://docs.stripe.com/api/reserve/hold/object.md?api-version=2025-08-27.preview): Represents a reserved amount associated with a transaction. - [ReservePlan](https://docs.stripe.com/api/reserve/plan.md?api-version=2025-08-27.preview): Automatically creates a `ReserveHold` for each transaction according to user-defined settings. - [ReserveRelease](https://docs.stripe.com/api/reserve/release.md?api-version=2025-08-27.preview): Represents the release of funds from a `ReserveHold`. A `ReserveRelease` is created automatically when a `ReserveHold` reaches its scheduled release date or when funds from a `ReserveHold` are used for a refund or dispute. ### Manually reserve and release funds You can manually reserve funds by creating a `ReserveHold` object, and manually release funds by creating a `ReserveRelease`. When you release funds from a `ReserveHold`, you can release the entire amount or a partial amount. However, you can’t add funds to an existing `ReserveHold`. You can associate a manually-created `ReleaseHold` with an existing `ReleasePlan`. In that case, any changes to that `ReleasePlan` affect the `ReleaseHold` the same way that they affect `ReleaseHolds` automatically created by that `ReleasePlan`. Creating a `ReserveHold` or `ReserveRelease` generates the following [BalanceTransactions](https://docs.stripe.com/api/balance_transactions.md?api-version=2025-08-27.preview): - `ReserveHold` - `BalanceTransaction` of type `reserved_funds`, representing a debit from the payments balance - `BalanceTransaction` of type `reserve_hold`, representing a credit to the `risk_reserved` balance - `ReserveRelease` - `BalanceTransaction` of type `reserve_release`, representing a debit from the `risk_reserved` balance - `BalanceTransaction` of type `reserved_funds`, representing a credit to the payments balance ### Automatic release of reserve holds A reserve hold releases automatically when any of the following events occurs: - The `ReserveHold`’s `release_schedule.scheduled_release` arrives. You can set its `release_schedule.release_after` timestamp, which automatically sets `scheduled_release` to the first midnight UTC following `release_after`. - 180 days pass since the `ReserveHold`’s created timestamp. - A refund or dispute for an amount equal to or greater than the `ReserveHold` occurs for its associated transaction. > #### Refunds and disputes for small amounts > > Reserves don’t support refunds or disputes for amounts less than a transaction’s existing `ReserveHold`. A refund or dispute for an amount less than the transaction’s `ReserveHold` amount doesn’t automatically release the `ReserveHold`. The dispute or refunded amount is taken from the connected account’s balance, which can cause it to become negative. In this case, you must release the `ReserveHold` manually if you don’t want to wait for its scheduled release date. ### Extend reserve holds You can manually update the scheduled release date of a `ReserveHold` or a `ReservePlan`. If you update the release date of a `ReservePlan` with a fixed release date, it automatically updates all `ReserveHolds` associated with that ReservePlan. However, if you change the number of days to hold funds for a rolling `ReservePlan` that sets release dates relative to the transaction date, it only affects future `ReserveHolds`. It doesn’t change the scheduled release dates of existing `ReserveHolds` associated with the plan. In any case, the scheduled release date of a `ReserveHold` can never be more than 180 days after its creation date, regardless of how it was created. ### Disable reserve plans To permanently cancel a `ReservePlan`, [disable](https://docs.stripe.com/api/reserve/plan/disable.md?api-version=2025-08-27.preview) it. Disabling a `ReservePlan` automatically releases all existing ReserveHolds associated with the plan immediately. You can’t pause or temporarily disable a `ReservePlan`.