Bank Linking

Introduction

Bank linking connects a cardholder's bank account (via Plaid) so their bank activity flows into the same transaction stream as their card spend. It gives you three things: net-new bank-only events (fees, transfers, payroll, loan payments, foreign-exchange markup), earlier settlement of card transactions, and card enrollment over the bank rail. Completing a bank link creates a real card, with a real cardId and an active bank-feed subscription, for each credit account that carries a usable last 4 and does not resolve cleanly to a single already-enrolled card; see Unified Card & Bank Feeds. The transaction stream rides the transactionmessage.created, transaction.created, and transaction.updated webhooks you already operate, with no new event types required, and created cards announce themselves on cardsubscription.created. Bank linking also emits a few dedicated events (banklink.completed, bankaccount.state_changed, and the bank-record events) covered in Bank Linking Webhooks & Events.

What you get

RequiresWhat it delivers
Bank-only eventsBank connectedNet-new SETTLED transactions for fees, transfers in/out, loan payments, income, and FX markup. Activity with no card-side counterpart.
Earlier settlementBank connected and card linkedCard authorizations flip PENDING→SETTLED on bank evidence, typically within hours of the swipe instead of days.
Card enrollment (bank rail)Bank connectedA real card and an active bank-feed subscription created for each credit account with a usable last 4 that does not resolve cleanly to a single already-enrolled card; cardsubscription.created announces each.

Bank linking is bank-first: connecting the bank enables bank-only events on its own, and linking cards is an optional second step that adds earlier settlement for card spend.

Two ways to use it

  • Alongside a card program: link a bank and cards to get bank-only events plus earlier settlement of card transactions.
  • Bank-only: link a bank without enrolling any card numbers and use it as a standalone bank-data source in place of card enrollment. Every bank transaction still surfaces (via banktransaction.created and a SETTLED transaction.created), and you receive no card authorizations or match events. Completing the link still creates a card (announced by cardsubscription.created with enrollmentType: "bank-feed") for each credit account with a usable last 4, and that account's activity is attributed to that card. See Bank-only mode.

In this section

  • Quick Start: Bank Linking is the end-to-end on-ramp: create a link, the cardholder connects their bank through Plaid, discover accounts, link cards, and receive events. Start here.
  • Linking Cards to Bank Accounts covers automatic detection and manual card linking, historical backfill, and the multi-card rules and constraints.
  • Bank Linking Webhooks & Events details every event the flow emits, the bank-only vs earlier-settlement behaviors, and where each payload lives.
  • Unified Card & Bank Feeds explains the card model shared across card-number enrollment, bulk feeds, and bank connections: cards created at completion, the two card lists on a bank account, and enrollment convergence.

Next steps


Did this page help you?