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.
Prerequisites
- 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
Navigate to Payout settings
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.
Add a new bank account
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.
Verify the new bank account
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'.
Set the new account as default
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.
Remove the old bank account (optional)
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 working example
1// manage-bank-accounts.js2// View and manage bank accounts for Stripe payouts3// Note: Adding bank accounts is typically done via the Dashboard.4// This script lists current bank accounts and payout info.56const Stripe = require('stripe');7const stripe = Stripe(process.env.STRIPE_SECRET_KEY);89async function manageBankAccounts() {10 try {11 const account = await stripe.accounts.retrieve();1213 console.log('=== Bank Account Management ===');14 console.log('');15 console.log('Account ID:', account.id);16 console.log('Payouts enabled:', account.payouts_enabled ? 'Yes' : 'No');17 console.log('');1819 // List external accounts (bank accounts)20 const bankAccounts = await stripe.accounts.listExternalAccounts(21 account.id,22 { object: 'bank_account', limit: 10 }23 );2425 if (bankAccounts.data.length === 0) {26 console.log('No bank accounts configured.');27 return;28 }2930 console.log('Bank accounts:');31 bankAccounts.data.forEach(ba => {32 const isDefault = ba.default_for_currency ? ' [DEFAULT]' : '';33 console.log(` ${ba.bank_name || 'Bank'} ending in ${ba.last4}${isDefault}`);34 console.log(` Currency: ${ba.currency.toUpperCase()}`);35 console.log(` Status: ${ba.status}`);36 console.log(` Country: ${ba.country}`);37 console.log('');38 });3940 // Check recent payouts41 const payouts = await stripe.payouts.list({ limit: 3 });42 if (payouts.data.length > 0) {43 console.log('Recent payouts:');44 payouts.data.forEach(p => {45 const date = new Date(p.arrival_date * 1000).toLocaleDateString();46 console.log(` $${(p.amount / 100).toFixed(2)} ${p.currency.toUpperCase()} - ${p.status} - ETA: ${date}`);47 });48 }4950 return bankAccounts;51 } catch (err) {52 console.error('Error:', err.message);53 }54}5556manageBankAccounts();Common mistakes when changing your bank account in Stripe
Why it's a problem: Entering incorrect routing or account numbers
How to avoid: Double-check all numbers before submitting. Incorrect details cause payout failures that take days to resolve.
Why it's a problem: Removing the old bank account before verifying payouts arrive at the new one
How to avoid: Wait for at least one successful payout to the new account before removing the old one.
Why it's a problem: Forgetting to set the new account as default
How to avoid: Adding a bank account does not make it the default. Explicitly set it as default in the Dashboard.
Why it's a problem: Expecting the switch to be instant
How to avoid: 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
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
How do I change my bank account in Stripe? Walk me through adding a new bank account, the verification process, setting it as default, and removing the old one. Also show me a Node.js script to view my current bank accounts and recent payouts.
Write a Node.js script that lists all bank accounts on my Stripe account showing the bank name, last 4 digits, currency, default status, and verification status. Also list the 3 most recent payouts with amounts and dates.
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.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation