# How to change your bank account in Stripe

- Tool: Stripe
- Difficulty: Beginner
- Time required: 10 minutes
- Compatibility: All Stripe accounts, all countries
- Last updated: March 2026

## TL;DR

Change your bank account in Stripe by going to Settings → Payouts → Bank accounts in the Dashboard. Click 'Add bank account', enter your new bank details (routing number and account number for US, or IBAN for EU), then set the new account as default and optionally remove the old one. Stripe may verify the new account with micro-deposits.

## Changing Your Bank Account for Stripe Payouts

Whether you are switching banks or updating your account details, changing the payout destination in Stripe takes just a few minutes. You add the new bank account, set it as default, and optionally remove the old one. Stripe continues sending payouts to your current account until the new one is verified and set as default.

## Before you start

- Administrator access to your Stripe account
- Your new bank account details (routing number and account number for US, or IBAN and BIC for EU/UK)

## Step-by-step guide

### 1. Navigate to Payout settings

Log in to the Stripe Dashboard and go to Settings → Payouts (or Balance → Settings). You will see your current bank account listed under the Bank accounts section.

**Expected result:** The Payouts settings page shows your current bank account and payout schedule.

### 2. Add a new bank account

Click 'Add bank account' or 'Add new account'. Enter your new bank details: for US accounts, provide the routing number (9 digits) and account number. For EU accounts, provide the IBAN. For UK accounts, provide the sort code and account number.

**Expected result:** The new bank account is added to your account and appears in the bank accounts list.

### 3. Verify the new bank account

Stripe may verify the account by sending two small deposits (micro-deposits) to the new bank account. These typically arrive within 1-2 business days. Return to the Dashboard and enter the deposit amounts to confirm ownership. In some cases, Stripe verifies the account instantly.

**Expected result:** The new bank account status changes from 'New' to 'Verified'.

### 4. Set the new account as default

Click the three-dot menu next to the new bank account and select 'Set as default'. All future payouts will be sent to this account. Any payouts already scheduled to the old account will still go there.

**Expected result:** The new bank account shows a 'Default' badge. Future payouts will be directed to this account.

### 5. Remove the old bank account (optional)

Once you have confirmed that payouts are arriving at the new account, you can remove the old one. Click the three-dot menu next to the old account and select 'Remove'. You cannot remove a bank account if it is the only one or if there are pending payouts to it.

**Expected result:** The old bank account is removed from your Stripe account.

## Complete code example

File: `manage-bank-accounts.js`

```javascript
// manage-bank-accounts.js
// View and manage bank accounts for Stripe payouts
// Note: Adding bank accounts is typically done via the Dashboard.
// This script lists current bank accounts and payout info.

const Stripe = require('stripe');
const stripe = Stripe(process.env.STRIPE_SECRET_KEY);

async function manageBankAccounts() {
  try {
    const account = await stripe.accounts.retrieve();

    console.log('=== Bank Account Management ===');
    console.log('');
    console.log('Account ID:', account.id);
    console.log('Payouts enabled:', account.payouts_enabled ? 'Yes' : 'No');
    console.log('');

    // List external accounts (bank accounts)
    const bankAccounts = await stripe.accounts.listExternalAccounts(
      account.id,
      { object: 'bank_account', limit: 10 }
    );

    if (bankAccounts.data.length === 0) {
      console.log('No bank accounts configured.');
      return;
    }

    console.log('Bank accounts:');
    bankAccounts.data.forEach(ba => {
      const isDefault = ba.default_for_currency ? ' [DEFAULT]' : '';
      console.log(`  ${ba.bank_name || 'Bank'} ending in ${ba.last4}${isDefault}`);
      console.log(`    Currency: ${ba.currency.toUpperCase()}`);
      console.log(`    Status: ${ba.status}`);
      console.log(`    Country: ${ba.country}`);
      console.log('');
    });

    // Check recent payouts
    const payouts = await stripe.payouts.list({ limit: 3 });
    if (payouts.data.length > 0) {
      console.log('Recent payouts:');
      payouts.data.forEach(p => {
        const date = new Date(p.arrival_date * 1000).toLocaleDateString();
        console.log(`  $${(p.amount / 100).toFixed(2)} ${p.currency.toUpperCase()} - ${p.status} - ETA: ${date}`);
      });
    }

    return bankAccounts;
  } catch (err) {
    console.error('Error:', err.message);
  }
}

manageBankAccounts();
```

## Common mistakes

- **Entering incorrect routing or account numbers** — undefined Fix: Double-check all numbers before submitting. Incorrect details cause payout failures that take days to resolve.
- **Removing the old bank account before verifying payouts arrive at the new one** — undefined Fix: Wait for at least one successful payout to the new account before removing the old one.
- **Forgetting to set the new account as default** — undefined Fix: Adding a bank account does not make it the default. Explicitly set it as default in the Dashboard.
- **Expecting the switch to be instant** — undefined Fix: Micro-deposit verification takes 1-2 business days. Already-scheduled payouts go to the previous default account.

## Best practices

- Add and verify the new bank account before removing the old one to ensure uninterrupted payouts
- Wait for at least one successful payout to the new account before removing the old account
- Keep your bank account details secure — never share them over email or chat
- If you change banks, update your accounting software's reconciliation settings to match
- For businesses managing multiple bank accounts across currencies, keep track of which currency pays out to which account
- After changing bank accounts, verify the next few payouts arrive correctly before considering the migration complete

## Frequently asked questions

### How long does it take to verify a new bank account?

Instant verification is available for some banks. Otherwise, Stripe sends micro-deposits that arrive in 1-2 business days. You then confirm the amounts in the Dashboard.

### Will I miss any payouts while switching bank accounts?

No. Payouts continue going to the current default account until you explicitly set the new one as default. There is no gap in payouts.

### Can I have multiple bank accounts in Stripe?

Yes. You can add multiple bank accounts, each for a different currency. One account per currency is set as the default for payouts in that currency.

### What happens if a payout fails because of incorrect bank details?

The payout is returned to your Stripe balance. Stripe will notify you of the failure. Correct the bank details and the next scheduled payout will attempt delivery again.

### Can I use a savings account instead of a checking account?

Stripe generally requires a checking account for payouts in the US. In other countries, requirements vary. Check Stripe's documentation for your country-specific requirements.

---

Source: https://www.rapidevelopers.com/stripe-guide/how-to-change-my-bank-account-in-stripe
© RapidDev — https://www.rapidevelopers.com/stripe-guide/how-to-change-my-bank-account-in-stripe
