Payouts to Connected Accounts Fresh
Manage how and when funds move from connected account Stripe balances to their external bank accounts.
Default behavior
By default, charges on connected accounts accumulate in the account's Stripe balance and pay out automatically on a daily rolling basis.
Payout management options
| Option | Description |
|---|---|
| Automatic payouts | Schedule daily, weekly, or monthly payout frequency |
| Manual payouts | Trigger payouts on demand |
| Instant payouts | Funds reach bank within 30 minutes (fees apply) |
| Retain in platform balance | When using destination or separate charges, keep funds in platform balance |
Who controls payouts
- Accounts with Stripe Dashboard access (Full or Express): Account holder manages their external accounts. Platform can schedule payout frequency only if Platform Controls are configured.
- Accounts without Dashboard access (Custom/API-controlled): Platform manages external accounts and controls payout schedule.
Payout status lifecycle
| Status | Meaning |
|---|---|
pending | Payout created, not yet submitted to bank |
in_transit | Submitted to bank, on the way |
paid | Arrived at external account (typically 1–2 business days after submission) |
failed | Could not be completed. External account disabled until updated |
canceled | Canceled before submission to bank |
Instant payouts typically arrive within 30 minutes.
Payout webhook events
Track all payout activity via webhooks:
| Event | Description |
|---|---|
payout.created | Payout created (status: pending) |
payout.updated | Payout details changed (e.g., estimated arrival date) |
payout.paid | Payout reached external account (status: paid) |
payout.failed | Payout failed. External account is disabled and must be updated before new payouts can be sent |
These are v1 events — Accounts v2 does not have equivalent v2 payout events.
Failed payouts
When a payout fails:
- External account is disabled automatically
- Stripe fires
payout.failedevent - Stripe also fires
account.external_account.updated(the failed account is now disabled) - No further automatic or manual payouts can be processed until the external account is updated
If a connected account holder contacts you about missing funds, they need to contact your platform — not Stripe. The platform controls payout settings for connected accounts.
Multi-currency settlement
Platforms can enable connected accounts to settle in non-primary currencies or pay out to non-domestic bank accounts in local currency. Stripe may charge a fee for currency conversion.
Setting payout schedules
For connected accounts your platform controls, configure the payout schedule:
bash
curl https://api.stripe.com/v1/accounts/{{CONNECTED_ACCOUNT_ID}} \
-u "sk_test_YOUR_KEY:" \
-d "settings[payouts][schedule][interval]=weekly" \
-d "settings[payouts][schedule][weekly_anchor]=monday"Intervals: daily, weekly, monthly.
Manual payouts
Create a payout immediately on behalf of a connected account:
bash
curl https://api.stripe.com/v1/payouts \
-u "sk_test_YOUR_KEY:" \
-H "Stripe-Account: acct_CONNECTED" \
-d amount=10000 \
-d currency=usdInstant payouts
Instant payouts move funds to a debit card or bank account within 30 minutes, 24/7 (including weekends and holidays). Fees apply.
Check if a connected account is eligible before attempting:
bash
curl https://api.stripe.com/v1/balance \
-u "sk_test_YOUR_KEY:" \
-H "Stripe-Account: acct_CONNECTED"