# Using manual payouts Send manual payouts to your connected accounts. | Country | Holding Period | | ------------------- | -------------- | | Thailand | 10 days | | United States | 2 years | | All other countries | 90 days | To trigger a payout of these funds, use the [Payouts API](https://docs.stripe.com/api/payouts/create.md). The Payouts API is only for moving funds from a connected Stripe account’s balance into their external account. To move funds between the platform and a connected account, use [separate charges and transfers](https://docs.stripe.com/connect/separate-charges-and-transfers.md) or [destination charges](https://docs.stripe.com/connect/destination-charges.md). *Escrow* has a precise legal definition, and Stripe doesn’t provide escrow services or support escrow accounts. However, you can control payout timing through manual payouts, which allow you to delay payouts to certain accounts. When using manual payouts, you must pay out funds within the time frame for the business’s country. Delayed payouts can be useful when a delivery is delayed or when there’s a possibility of a refund. ## Regular payouts The following example sends 10 USD from a connected account’s Stripe balance to their external account: ```dotnet StripeConfiguration.ApiKey = "<>"; var options = new PayoutCreateOptions { Amount = 1000, Currency = "usd" }; var service = new PayoutService(); Payout payout = service.Create(options); ``` ```go stripe.Key = "<>" params := &stripe.PayoutParams{ Amount: stripe.Int64(1000), Currency: stripe.String(string(stripe.CurrencyUSD)), }; result, err := payout.New(params); ``` ```java Stripe.apiKey = "<>"; PayoutCreateParams params = PayoutCreateParams.builder().setAmount(1000L).setCurrency("usd").build(); Payout payout = Payout.create(params); ``` ```node const stripe = require('stripe')('<>'); const payout = await stripe.payouts.create({ amount: 1000, currency: 'usd', }); ``` ```python import stripe stripe.api_key = "<>" payout = stripe.Payout.create( amount=1000, currency="usd", ) ``` ```php $stripe = new \Stripe\StripeClient('<>'); $payout = $stripe->payouts->create([ 'amount' => 1000, 'currency' => 'usd', ]); ``` ```ruby Stripe.api_key = '<>' payout = Stripe::Payout.create({ amount: 1000, currency: 'usd', }) ``` With a standard payout, you can move an amount up to the user’s available balance. To find that amount, perform a [retrieve balance](https://docs.stripe.com/api.md#retrieve_balance) call on their behalf. Stripe tracks balance contributions from different payment sources in separate balances. The retrieve balance response breaks down the components of each balance by source type. For example, to create a payout specifically for a non-credit-card balance, specify the `source_type` in your request. ```dotnet StripeConfiguration.ApiKey = "<>"; var options = new PayoutCreateOptions { Amount = 24784, Currency = "USD", SourceType = "bank_account", }; var service = new PayoutService(); Payout payout = service.Create(options); ``` ```go stripe.Key = "<>" params := &stripe.PayoutParams{ Amount: stripe.Int64(24784), Currency: stripe.String(string(stripe.CurrencyUSD)), SourceType: stripe.String(string(stripe.PayoutSourceTypeBankAccount)), }; result, err := payout.New(params); ``` ```java Stripe.apiKey = "<>"; PayoutCreateParams params = PayoutCreateParams.builder() .setAmount(24784L) .setCurrency("USD") .setSourceType(PayoutCreateParams.SourceType.BANK_ACCOUNT) .build(); Payout payout = Payout.create(params); ``` ```node const stripe = require('stripe')('<>'); const payout = await stripe.payouts.create({ amount: 24784, currency: 'USD', source_type: 'bank_account', }); ``` ```python import stripe stripe.api_key = "<>" payout = stripe.Payout.create( amount=24784, currency="USD", source_type="bank_account", ) ``` ```php $stripe = new \Stripe\StripeClient('<>'); $payout = $stripe->payouts->create([ 'amount' => 24784, 'currency' => 'USD', 'source_type' => 'bank_account', ]); ``` ```ruby Stripe.api_key = '<>' payout = Stripe::Payout.create({ amount: 24784, currency: 'USD', source_type: 'bank_account', }) ``` While individual balance components can go negative (such as through refunds or chargebacks), you can’t create payouts for greater than the aggregate available balance.