# Fund your storage balance Learn how to transfer or add funds for payouts. Before sending money, you need to fund your storage balance with external funds or from your Stripe payments balance. To add funds, you must have [administrator access](https://docs.stripe.com/get-started/account/teams/roles.md). Stripe requires two-factor authentication to add money for payouts. In the US, funds in your storage balances are eligible for FDIC insurance. (See full diagram at https://docs.stripe.com/global-payouts/fund-balance) You can fund your storage balance in three ways. | Funding method | Availability for payouts | Fee (see [Pricing](https://docs.stripe.com/global-payouts/pricing.md)) | Where to initiate | | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ----------------------- | | [Send funds from your external bank account](https://docs.stripe.com/global-payouts/fund-balance.md#send-funds-external-bank-account) | 1 business day (7 days initially for the first 5000 USD or 5000 GBP in funding) | - Free through a local bank network, such as ACH or FPS - 2 USD per wire (US only) | From your bank | | [Pull funds from your external bank account](https://docs.stripe.com/global-payouts/fund-balance.md#pull-funds-external-bank-account) (US only) | 2-5 business days | Free | Stripe Dashboard or API | | [Fund with your Stripe payments balance](https://docs.stripe.com/global-payouts/fund-balance.md#fund-stripe-balance) | Instant | Free | Stripe Dashboard or API | ## Send funds from your external bank account You can send funds from an external bank account to fund your payouts. In the US, you can send funds with an ACH transfer or wire. With ACH, funds are available in about 3 days after you initiate the transfer from your bank. With wire, funds are available within the day. Additional charges apply if funding with a wire. See [Pricing](https://docs.stripe.com/global-payouts/pricing.md) for more details. > Funds used for Global Payouts must belong to you or your business. Adding funds from sources that don’t match the registered details on your account might lead to delays or funds being returned. Funds transferred from your external bank account into your storage balance are called [ReceivedCredits](https://docs.stripe.com/api/v2/money-management/received-credits.md?api-version=preview). To send money into your storage balance, you need to share details of your storage balance with your financial institution. You can find these details in the Dashboard or by using the API. #### Dashboard 1. Navigate to your storage balance at **Balances** > **Storage Balance**, then click **Move money**. 1. Click **Add money for payouts**. 1. Click **View external funding instructions**. 1. Click **Request account details** to see where to send funds. Stripe generates your account details within a few minutes and emails you when they’re ready. 1. Submit a request to your bank to send money using the account details provided. #### API Retrieve your FinancialAccount ID using the [Financial Account API v2](https://docs.stripe.com/api/v2/money-management/financial-accounts.md?api-version=preview). ```curl curl https://api.stripe.com/v2/money_management/financial_accounts \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-02-25.preview" ``` Create a storage balance by calling the [Financial Address API v2](https://docs.stripe.com/api/v2/money-management/financial-addresses.md?api-version=preview) and include your financial account ID. ```curl curl -X POST https://api.stripe.com/v2/money_management/financial_addresses \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-02-25.preview" \ --json '{ "financial_account": "{{FINANCIALACCOUNTID_ID}}", "currency": "usd" }' ``` Retrieve the financial address credentials by calling the [Financial Address API v2](https://docs.stripe.com/api/v2/money-management/financial-addresses.md?api-version=preview) again, including the `credentials` field using the `include` parameter. ```curl curl -G https://api.stripe.com/v2/money_management/financial_addresses \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-02-25.preview" \ -d "include[0]"="credentials.us_bank_account.account_number" ``` Submit a request to your bank to send money using the account credentials provided. You can create one FinancialAddress per currency for your storage account. For example, you can have one FinancialAddress for USD and another for GBP, but only one address per currency. Funds that you send to the storage account are represented as a currency balance in the [FinancialAccount](https://docs.stripe.com/api/v2/financial-accounts.md). ## Pull funds from your external bank account (US only) You can pull funds from an external bank account to fund your payouts. You initiate this transfer each time you want to add funds. We refer to funds pulled into Stripe from your external bank account as [InboundTransfers](https://docs.stripe.com/api/v2/money-management/inbound-transfers/object.md?api-version=preview). Funds typically arrive within 2–5 business days and funding is subject to the following limits: - 50,000 USD per transaction - 50,000 USD per day - 100,000 USD per week ### Add and verify a bank account You must use a verified bank account to add funds. To inspect your bank accounts on file, in the Dashboard, go to your storage balance options in [Settings](https://dashboard.stripe.com/settings/global-payouts). Verified bank accounts appear with a badge. If you don’t have a verified bank account on file, you need to add another bank account and verify it. To add a verified bank account, click **Add another bank account**. You have two options to verify your bank account: - (Recommended) Instantly with [Financial Connections](https://docs.stripe.com/financial-connections.md): Use your bank credentials with Financial Connections to verify your account. - Manually with micro-deposits: Manually enter your bank account and routing numbers. Stripe sends a deposit in the amount of 0.01 to your account in 1-2 business days, and an email with additional instructions to verify your bank account. The deposit includes a unique 6 digit number in the statement descriptor that you use to pull funds from your account. It doesn’t provide data access to Stripe. ### Pull funds into your storage balance After your bank account is verified, you can pull funds into your storage balance directly from the Dashboard or with the Stripe API. #### Dashboard 1. Navigate to your storage balance at **Balances** > **Storage Balance**, then click **Move money**. 1. Click **Add money for payouts**. 1. Under **Transfer from**, select a verified bank account. If your bank isn’t verified, you can’t transfer funds from it. 1. Enter the amount to transfer, then click **Review** > **Transfer**. #### API To make an [InboundTransfer](https://docs.stripe.com/api/v2/inbound-transfers.md?api-version=preview), you need your verified bank account ID and FinancialAccount ID of your storage balance: ### Retrieve your verified bank account ID To retrieve your verified bank account ID: 1. In the Dashboard, go to your bank accounts in [Settings](https://dashboard.stripe.com/settings/global-payouts). 1. Copy the bank account ID from a verified bank account. #### Retrieve your FinancialAccount ID Use the FinancialAccounts API to retrieve your FinancialAccount ID. ```curl curl https://api.stripe.com/v2/money_management/financial_accounts \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-02-25.preview" ``` #### Make an InboundTransfer After you have the verified bank account ID and the FinancialAccount ID, you can initiate an InboundTransfer. You use the verified bank account ID in the `payment_method` field. ```curl curl -X POST https://api.stripe.com/v2/money_management/inbound_transfers \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-02-25.preview" \ --json '{ "from": { "payment_method": "{{VERIFIED_BANK_ACCOUNT_ID}}" }, "to": { "financial_account": "{{FINANCIALACCOUNTID_ID}}", "currency": "usd" }, "amount": { "value": 300, "currency": "usd" } }' ``` You can also use the Inbound Transfers API v2 to retrieve your current and pending InboundTransfers. ```curl curl https://api.stripe.com/v2/money_management/inbound_transfers \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-02-25.preview" ``` ## Transfer funds from your Stripe balance You can transfer funds from your available [Stripe payments balance](https://docs.stripe.com/payments/balances.md) to fund Global Payouts. These funds are called [ReceivedCredits](https://docs.stripe.com/api/v2/money-management/received-credits.md?api-version=preview). You can’t transfer funds that aren’t yet settled. > After you transfer funds to your storage balance, you can’t move them back to your Stripe payments balance. Use the Stripe Dashboard or API to transfer money from your payments balance into your storage balance. #### Dashboard 1. Navigate to your storage balance at **Balances** > **Storage Balance**, then click **Move money**. 1. Click **Add money for payouts**. 1. Under **Transfer from**, select **Payments**. 1. Enter the amount to transfer, then click **Review** > **Transfer**. #### API Call the [Balance API v1](https://docs.stripe.com/api/balance/balance_retrieve.md?api-version=preview) to determine your available funds. ```curl curl https://api.stripe.com/v1/balance \ -u "<>:" ``` Call the [Financial Account API v2](https://docs.stripe.com/api/v2/money-management/financial-accounts/list.md?api-version=preview) to get your Financial Account ID or find it in your [Dashboard Payout settings](https://dashboard.stripe.com/settings/payouts). ```curl curl https://api.stripe.com/v2/money_management/financial_accounts \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-02-25.preview" ``` Call [Payouts API v1](https://docs.stripe.com/api/payouts/create.md?api-version=preview) to create a payout from your payments revenue. Pass your Financial Account ID in the `payout_method` parameter and the amount to transfer from your [Balance v1](https://docs.stripe.com/api/balance/balance_object.md). ```curl curl https://api.stripe.com/v1/payouts \ -u "<>:" \ -d payout_method="{{FINANCIALACCOUNTID_ID}}" \ -d amount=250 \ -d currency=usd ``` Call the [Received Credit API v2](https://docs.stripe.com/api/v2/money-management/received-credits/retrieve.md?api-version=preview) to retrieve your current and pending ReceivedCredits for funds into your Financial Account. ```curl curl https://api.stripe.com/v2/money_management/received_credits \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-02-25.preview" ``` To review the outgoing transfer from your balance, call the [Payouts API v1](https://docs.stripe.com/api/payouts/retrieve.md?api-version=preview) to inspect the outgoing transfer from your `/v1/balance`. You can also automatically transfer some or all of your payments balance to your storage balance. Instead of paying out your payments balance to your external bank account, Stripe sends the amount you set to your storage balance according to your [payout timing](https://docs.stripe.com/payouts.md#standard-payout-timing). 1. Navigate to your storage balance at **Balances** > **Storage Balance**, then click **Move money**. 1. Click **Add money for payouts**. 1. Under **Transfer from**, select **Payments**. 1. Under **Other ways to add money**, select **Automatically store revenue in Stripe**. 1. Choose one of the following, and then click **Save**: - **Store a target amount** - **Store all revenue** - **Don’t automatically store revenue** You can also set automatic transfers from your payment balance to your storage balance in [Settings](https://dashboard.stripe.com/settings/payouts) under **Automatically store revenue in Stripe**. To automatically transfer funds from your payments balance to your storage balance, you must use an automatic payout schedule. You can set your payout settings to `daily`, `weekly`, or `monthly` in [Settings](https://dashboard.stripe.com/settings/payouts). ## View funding status and manage balances You can view the status of your funding attempts both in the Dashboard or with the API. #### Dashboard 1. Navigate to your storage balance at **Balances** > **Storage Balance**. 1. View the list of transactions into and out of your storage balance. 1. Click a specific funding transaction. This opens a drawer that provides a timeline view, and the ID and optional note you provided for the funding attempt. You can also find an itemized receipt that includes details of the transaction. #### API To retrieve the status of a funding attempt, call the Transactions API, passing the funding attempt ID (either InboundTransfer or ReceivedCredit ID) in the `flow` parameter. ```curl curl -G https://api.stripe.com/v2/money_management/transactions \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-02-25.preview" \ -d flow="{{FLOWID_ID}}" ``` Use the `status` parameter in the response to read the status of the funding attempt. Funding attempts can either be `pending`, `posted` (and available for use), or `void`. To retrieve an itemized receipt for the details of the transaction, use either the InboundTransfers or ReceivedCredit API to retrieve details of the funding attempt. The response includes a URL to an itemized receipt. ## Withdraw funds to your external bank account If you have funds in your storage balance that you don’t want to send as payouts, you can send those funds to your bank account. You can transfer money to yourself using the Dashboard or the API. The typical time for a transfer is 1-2 business days. #### Dashboard 1. Navigate to your storage balance at **Balances** > **Storage Balance**, then click **Move money**. 1. Click **Add money for payouts**. 1. Under **Transfer to**, select your bank account or click **Add a new bank account**. 1. Enter the amount to transfer, then click **Review** > **Transfer**. #### API To transfer money to an external account that you own using the [Outbound Transfers API v2](https://docs.stripe.com/api/v2/money-management/outbound-transfers.md?api-version=preview). ```curl curl -X POST https://api.stripe.com/v2/money_management/outbound_transfers \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-02-25.preview" \ --json '{ "from": { "financial_account": "{{FINANCIALACCOUNTID_ID}}", "currency": "usd" }, "to": { "payout_method": "{{PAYOUTMETHODID_ID}}", "currency": "usd" }, "amount": { "value": 50, "currency": "usd" }, "description": "Paying out Stripe earnings" }' ```