Guide
How Plaid Works: A Guide for Business Owners
How Plaid works in plain English: Plaid Link, Items, tokens, the main products, what your customer sees, and what you need to run it on a website.
By the PluginLoom teamLast updated 14 sources
Plaid works by putting a secure window, called Plaid Link, on your website or app where your customer logs in to their bank and picks the accounts to share. Plaid then gives your server tokens, and your server uses those tokens to ask Plaid for exactly the data or payment details your business needs, such as account and routing numbers, balances or the account owner's name. Your business pays Plaid's fees; your customer pays nothing.
What is Plaid, in one paragraph?#
Plaid is a company that connects apps and websites to their users' bank and financial accounts, with the user's permission. Plaid describes itself as "founded on the principle that people have a right to their financial information" on its How we handle data (opens in a new tab) page, which also says more than 7,000 financial apps and services use Plaid. For a business, Plaid is two things: a front-end component your customer sees (Link), and an API your server calls to get data or move money.
What happens when a customer connects a bank?#
A customer connects a bank in about four steps, and your server does most of the work behind the scenes. Here is the standard flow from Plaid's Link overview (opens in a new tab):
- Your server asks Plaid for a
link_token. It calls/link/token/createand says which Plaid products and countries it needs. The token lasts 4 hours, or 30 minutes when it is used to repair an existing connection. - Your page opens Plaid Link with that token. On the web, Link loads from Plaid's own script at
cdn.plaid.com. Plaid says not to self-host or bundle that script. - The customer logs in and picks accounts. At many large US banks, the customer is sent to the bank's own site to approve access (this is OAuth), then returned to your site.
- Link hands your page a
public_token. Your page sends it to your server, which swaps it for a permanentaccess_tokenby calling/item/public_token/exchange. Thepublic_tokenexpires after 30 minutes.
From then on, your server uses the access_token to call Plaid products for that connection. The customer does not need to log in again unless something changes, such as a new bank password.
What are Items and tokens?#
An Item is a customer's login at one financial institution, and tokens are the keys your server uses to work with it. Plaid's glossary (opens in a new tab) puts it simply: "An Item represents a login at a financial institution." The table below explains each token in plain terms, based on Plaid's Link (opens in a new tab) and Items (opens in a new tab) docs.
| Token | Who creates it | How long it lasts | What it is for |
|---|---|---|---|
link_token | Your server, via /link/token/create | 4 hours (30 minutes in update mode) | Opens one Plaid Link session |
public_token | Plaid Link, on success | 30 minutes | Swapped once for an access token |
access_token | Plaid, from the exchange | Does not expire | Calls Plaid products for that Item |
| Processor token | Your server, for a payment partner | Invalidated by /item/remove | Lets a Plaid partner make API calls on your behalf |
Plaid says the access_token "should be stored in a persistent, secure manner." If a customer disconnects, or you offboard them, your server calls /item/remove, which invalidates the access token and any processor tokens tied to it. For subscription products like Transactions, calling /item/remove is also what stops the monthly fee.
What are Plaid's main products?#
Plaid's products are separate services you turn on for each connection, and you pay only for the ones you use. Plaid's docs home (opens in a new tab) groups them like this:
| Group | Products | Plain-English use |
|---|---|---|
| Payments and funding | Auth, Balance, Identity, Signal Transaction Scores, Transfer, Investments Move, Payments (Europe) | Get account numbers for ACH, check funds, confirm the owner, score ACH risk, move money |
| Financial insights | Transactions, Investments, Liabilities, Enrich | Read spending, holdings and debts |
| KYC and anti-fraud | Identity Verification, Monitor, Protect | Check ID documents and selfies, screen watchlists, spot fraud |
| Credit and underwriting | Consumer Report (by Plaid Check), Assets, Statements, Income | Lending decisions and income checks |
| Instant onboarding | Layer | Sign users up with just a phone number (US only) |
For most websites, the useful set is small. A store that wants bank payments typically starts with Auth, then adds Balance or Signal to cut down on failed ACH debits and Identity to confirm the account belongs to the buyer. A membership or lending site might add Identity Verification at signup.
How does Plaid help a business take bank payments?#
Plaid helps with bank payments in two ways: it hands verified account details to your payment processor, or, in the US, it moves the money itself. According to the Auth docs (opens in a new tab), Auth "must be used with a payment processor." You can use a Plaid partner, in which case your server creates a processor token and the partner handles the money, or you can read the numbers with /auth/get and send them to your own processor.
The other route is Plaid Transfer, a US-only payment platform that supports ACH, RTP, RfP, wire and FedNow, plus recurring transfers and refunds. You must apply for Transfer and be approved before going live. Our guide to ACH for membership sites shows how recurring transfers work.
What does your customer see and control?#
Your customer sees Plaid Link, their bank's login (inside Link or on the bank's own site), and a list of accounts to choose from. Plaid's How we handle data (opens in a new tab) page says:
- Plaid uses "the Advanced Encryption Standard (AES-256) and Transport Layer Security (TLS)" to protect data.
- It requires multi-factor authentication for access to its own systems.
- People can visit Plaid Portal to view the data types they have shared through Plaid and control ongoing access.
Plaid's pricing page (opens in a new tab) also says consumers can use Plaid "at no cost." When a customer revokes access, your server can receive a USER_PERMISSION_REVOKED webhook, so your site knows to stop relying on that connection.
How does your website stay up to date?#
Your website stays current through webhooks, which are messages Plaid sends to a URL on your server when something changes. You set the URL in the webhook field when you create a link token. Plaid's webhooks docs (opens in a new tab) say:
- Plaid sends a POST request with a JSON body.
- If your server does not answer with a 2xx code within 10 seconds, Plaid retries for up to 24 hours.
- Webhooks can arrive twice or out of order, so your handling must be safe to repeat.
- Verifying the webhook signature is optional but available.
Common examples include ITEM webhooks such as ERROR (the connection needs attention), PENDING_DISCONNECT (US and Canada, sent about 7 days before an Item disconnects) and USER_PERMISSION_REVOKED. When an Item breaks, for example because the customer changed their bank password, Plaid returns ITEM_LOGIN_REQUIRED, and you send the customer back through Link in "update mode" to fix it.
How do you test before going live?#
You test in Plaid's Sandbox, a free environment with fake banks and fake data. The Sandbox docs (opens in a new tab) say every Sandbox institution accepts the login user_good with the password pass_good. Sandbox also allows plain http redirect URLs for local testing, while Production requires https.
Plaid has two environments today: Sandbox and Production. The old Development environment was shut down on June 20, 2024. To test with real banks for free, new US and Canadian teams created on or after April 15, 2026 get a Trial plan with up to 10 live Items. When you are ready to launch, you request Production access in the Plaid Dashboard. For banks that use OAuth, Plaid also asks for a completed application profile and, for US and Canadian integrations, an approved security questionnaire, as described in the OAuth guide (opens in a new tab).
What do you need to run Plaid on a WordPress site?#
To run Plaid on WordPress you need four things: a Plaid account with API keys, an HTTPS site, server code that talks to Plaid, and somewhere safe to keep access tokens. In more detail:
- A Plaid developer account. Your
client_idstays the same, and you get onesecretfor Sandbox and one for Production. - HTTPS. Production redirect URIs must use HTTPS, and they must be added to the allowlist in the Plaid Dashboard.
- Server-side code. Link tokens, token exchange and product calls all happen on your server, never in the browser.
- Secure storage. Access tokens do not expire, so they need careful storage and a way to remove them.
- A webhook endpoint. A URL that answers fast and handles repeats.
You can build all of that yourself, or use a plugin. BankBridge is a WordPress plugin that connects your site to Plaid and is built to work with WordPress, WooCommerce, Elementor, MemberPress and more. For the exact setup steps, check the BankBridge docs: Getting started, Plaid Link setup and Webhooks. For costs on the Plaid side, read Plaid pricing explained.
Common words you will see#
These are the Plaid terms that come up most often, in plain English.
| Term | Meaning |
|---|---|
| Link | Plaid's pop-up window where the customer connects their bank |
| Item | A customer's login at one bank |
| Access token | The long-lived key your server uses for one Item |
| OAuth | The bank shows its own login page instead of Plaid collecting the login |
| Update mode | Opening Link again to repair a broken Item |
| Webhook | A message Plaid sends your server when something changes |
| Processor token | A token that lets a payment partner use a linked account |
| Sandbox | Plaid's free test environment with fake data |
Sources#
Checked October 23, 2026.
- Plaid documentation home (opens in a new tab)
- Plaid Link overview (opens in a new tab)
- Plaid Link for web (opens in a new tab)
- Plaid Link OAuth guide (opens in a new tab)
- Plaid Items API (opens in a new tab)
- Plaid webhooks (opens in a new tab)
- Plaid Sandbox (opens in a new tab)
- Plaid Auth (opens in a new tab)
- Plaid glossary (opens in a new tab)
- Plaid Transfer (opens in a new tab)
- Plaid changelog (opens in a new tab)
- Plaid billing models (opens in a new tab)
- How Plaid handles data (opens in a new tab)
- Plaid pricing (opens in a new tab)
Plaid is a trademark of Plaid Inc. BankBridge is an independent plugin and is not affiliated with or endorsed by Plaid.
Frequently asked questions
What does Plaid actually do?
Plaid lets your customer log in to their bank through a secure window called Plaid Link and choose what to share with your business. Your server then uses Plaid's API to get the data or payment details you asked for, such as account and routing numbers, balances or owner names.
Does my website ever see the customer's bank password?
The customer enters their bank login inside Plaid Link, not in your own form fields. Your server receives tokens from Plaid, not the bank login. At many large US banks the customer is sent to the bank's own site to log in, through a process called OAuth.
What is a Plaid Item?
Plaid's glossary says an Item represents a login at a financial institution. In practice, each bank a customer connects becomes an Item with its own access token, and fees for many Plaid products are counted per Item.
Does the customer pay to use Plaid?
No. Plaid's pricing page says consumers can use Plaid to connect and control their financial information at no cost. The business that uses Plaid pays Plaid's fees.
Can a customer stop sharing data later?
Yes. Plaid says people can visit Plaid Portal to see the data types they have shared through Plaid and control ongoing access. When a user revokes access, Plaid can send your server a USER_PERMISSION_REVOKED webhook.
Sources
The date shows when we last checked that the source still says what we say it says.
- Plaid documentation home, plaid.com. Checked 2026-10-23
- Plaid Link overview, plaid.com. Checked 2026-10-23
- Plaid Link for web, plaid.com. Checked 2026-10-23
- Plaid Link OAuth guide, plaid.com. Checked 2026-10-23
- Plaid Items API, plaid.com. Checked 2026-10-23
- Plaid webhooks, plaid.com. Checked 2026-10-23
- Plaid Sandbox, plaid.com. Checked 2026-10-23
- How Plaid handles data, plaid.com. Checked 2026-10-23
- Plaid pricing, plaid.com. Checked 2026-10-23
- Plaid Auth, plaid.com. Checked 2026-10-23
- Plaid glossary, plaid.com. Checked 2026-10-23
- Plaid Transfer, plaid.com. Checked 2026-10-23
- Plaid changelog, plaid.com. Checked 2026-10-23
- Plaid billing models, plaid.com. Checked 2026-10-23