What is Link? How Stripe bank account linking works

Financial Connections

Stripe Financial Connections lets your users securely share their financial data with you.

Learn more 
  1. Introduction
  2. Key takeaways
  3. What is Link by Stripe?
  4. How does bank account linking work through Link?
  5. How does Link support faster checkout and payments?
  6. How does Link protect user security and trust?
  7. What are the business use cases for Link and Financial Connections?
  8. How do businesses implement Link?
  9. Is Link the right bank account linking tool for your business?
  10. How Stripe Financial Connections can help

Link, a digital wallet built by Stripe, is a hosted interface for connecting a customer's bank account to a business. A customer picks their bank, logs in directly with their own credentials, and grants permissioned access. Stripe turns that into a token the business can use for payments, verification, or recurring billing. That token, not the customer's login information, is what moves through the system afterwards. Businesses with many repeat customers have seen returning user conversion increase by an average of 14% when they use Link.

Below, we'll explain how the bank linking flow works step by step, how it speeds up checkout and recurring payments, and how the permission model protects customers while giving businesses exactly the data they've agreed to request.

Key takeaways

  • Link authenticates customers directly with their banks and passes businesses a permissioned token rather than raw account credentials.

  • Saved connections minimise relinking for recurring payments and speed up verification compared to manual account entry.

  • Stripe Financial Connections restricts data access to what each use case needs so a payout verification and a credit check request different levels of detail.

Link is a hosted interface that lets a customer connect a US bank account to a business's checkout or app, confirm that connection directly with their bank, and reuse it the next time they pay. It sits on top of Stripe Financial Connections, which manages the data link between a financial institution and a business. Link is the piece a customer actually sees and taps through: the screen where they pick a bank, log in, and grant access.

The flow starts when a customer picks a bank-based payment option, which opens Link's interface directly instead of routing them to a separate page. A few steps typically repeat across implementations, from bank selection through to the connection Stripe uses:

  • Bank selection: The customer searches for their bank rather than manually typing in routing and account numbers.

  • Authentication with the bank: The customer logs in with their bank's own credentials, right inside Link's interface. Where the bank supports it, Stripe uses OAuth so the login happens directly on the bank's side and Stripe never touches the credentials. For banks without OAuth, credentials might be handled by Stripe's banking data partners, but they still never reach the business.

  • Consent to data sharing: The bank shows a screen that lists exactly what's being requested, such as account and routing numbers, balance, or transaction history, depending on what the business has configured.

  • Connection confirmation: Once the customer approves, Stripe receives a token that represents the permissioned connection rather than the credentials themselves. That token is what the business's Stripe account uses for future payments.

This sequence replaces a process that used to depend on the customer's memory and typing accuracy. Manual bank entry means routing and account numbers can get transposed and the business doesn't find out until a payment fails or a microdeposit bounces. Pulling the data straight from the bank sidesteps that problem entirely since there's no number to mistype.

The bank authenticates the customer and presents the consent screen. Stripe's role is to request the connection, handle the token that comes back, and make that token available to the business, whether it's for a single payment or a saved connection for later use.

Bank-based payments have historically been slower to set up than card payments, mainly because customers had to enter account and routing numbers manually and then wait for verification – often through microdeposits that take a few days to clear. Link compresses that timeline. Because the bank confirms the account directly during the linking flow, verification happens at checkout instead of days later. This can feel particularly notable with direct debits since the manual entry and verification delay steps are removed. This makes the customer's side of the transaction feel close to instant, even though the money itself still moves on the usual timeline.

Link also makes payments feel faster and easier for subscribers and returning customers. A saved Link connection means a customer doesn't have to relink their bank every renewal cycle; the business can charge the same verified account on a recurring basis without asking for repeated authentication. And once someone has linked a bank account with one business using Link, that same saved connection can show up the next time they check out with a different business that also uses Link. This cuts a multistep process down to a couple of clicks.

Link's design keeps a customer's bank login credentials away from the business entirely. Authentication happens inside the bank's own login screen, embedded in Link's interface, so the password never passes through the business's checkout page. In many cases, thanks to OAuth, it never touches Stripe's systems either.

Customers can review and revoke access to a linked account, either through their bank's own settings or through Stripe's Link account management, which stops the business from pulling more data or starting new charges through that connection. Businesses see only what the customer agreed to share, whether that's just enough to confirm the account exists or more access such as balance and transaction history for underwriting.

Bank account linking through Link and Financial Connections shows up differently depending on what a business is trying to solve.

Popular use cases include the following:

  • Marketplace and platform payouts: Marketplaces use Financial Connections to verify a seller's or contractor's bank account before they send payouts. This replaces the older process of collecting account numbers manually and waiting on microdeposit verification.

  • Recurring subscription billing: Subscription businesses use Link to keep a verified bank connection on file so recurring direct debit charges don't require the customer to relink their account every billing cycle.

  • Lending and underwriting: Financial Connections can show balance and transaction history, with the customer's consent. This gives lenders data to assess creditworthiness without asking applicants to upload bank statements.

  • Financial management applications: Budgeting and accounting tools use the same connection to pull transaction data into a customer's dashboard. It refreshes automatically instead of requiring manual statement uploads.

  • Instant account verification during onboarding: Businesses that need to confirm a bank account exists and is owned by the right person, such as during account setup, can use Link to confirm that in the same session rather than wait on microdeposits.

Each of these depends on the same underlying mechanism: a permissioned data connection to a bank account, with Link as the customer-facing piece that makes granting that permission possible. What changes is the depth of data being requested. A marketplace that's verifying a payout account needs far less information than a lender that's assessing creditworthiness. Financial Connections is built to limit access to exactly what each use case calls for instead of handing over everything by default.

Businesses add Link and Financial Connections to a product through Stripe's application programming interface (API) or software development kits (SDKs). The integration usually involves embedding Stripe's hosted Financial Connections component, which handles bank selection, authentication, and the consent screen, and then requesting the specific data permissions the business needs.

That request can be narrow or broad, depending on the use case:

  • Basic account verification: A business that's confirming whether an account exists and belongs to the right person requests minimal data and gets a lighter integration to build and maintain.

  • Balance and transaction history access: A business that's doing underwriting or building a financial management tool requests deeper access, which means a longer consent screen for the customer and more data flowing back through the connection.

Because the authentication flow is hosted by Stripe, businesses aren't responsible for building or maintaining connections to thousands of individual banks themselves. They configure what they're requesting and how the connection gets used and Link's interface handles the rest of the customer-facing flow.

Link particularly makes sense for businesses that already rely on direct debit or pay by bank payments and intend for customers to reuse a verified connection instead of relinking every time. Subscription businesses, marketplaces that handle payouts, and lenders that need account verification all get clear benefits: less manual data entry, fewer failed transfers from mistyped numbers, and faster verification than via microdeposits.

It matters less for businesses that take only one-off card payments with no plans to add bank-based options. And it's worth thinking about how comfortable your customers are logging into their own banks through a third-party interface since that's a different experience from typing a card number, even if it ends up being quicker.

The clearest signal that Link fits is repeat usage. A one-time bank transfer doesn't benefit much from a saved connection. Link's design pays off when it comes to a recurring charge, a returning marketplace seller, or a customer who checks out with the same bank account across multiple sessions.

How Stripe Financial Connections can help

Stripe Financial Connections is a set of APIs that allows you to securely connect to your customers' bank accounts and retrieve their financial data, enabling you to build innovative financial products and services.

Financial Connections can help you:

  • Simplify onboarding: Offer a seamless, instant bank account verification process that does not require manual identity and account verification.

  • Access rich financial data: Retrieve comprehensive information about your customers' bank accounts, including balances, transactions and account details.

  • Automate recurring payments: Enable your customers to securely link their bank accounts for recurring payments, improving payment success rates.

  • Enhance risk management: Analyse customers' financial data to make more informed decisions about credit, lending and other financial products.

  • Comply with regulations: Financial Connections helps you meet Know Your Customer (KYC) and Anti-Money Laundering (AML) requirements.

  • Innovate with confidence: Build new financial products and services on top of the secure, reliable Financial Connections infrastructure.

Learn more about Financial Connections or get started today.

The content in this article is for general information and education purposes only and should not be construed as legal or tax advice. Stripe does not warrant or guarantee the accuracy, completeness, adequacy, or currency of the information in the article. You should seek the advice of a competent lawyer or accountant licensed to practise in your jurisdiction for advice on your particular situation.

More articles

  • Something went wrong. Please try again or contact support.

Ready to get started?

Create an account and start accepting payments – no contracts or banking details required. Or, contact us to design a custom package for your business.

Financial Connections

Stripe Financial Connections lets your users securely share their financial data with you.

Financial Connections docs

Learn how to access permissioned data from your users' financial accounts.