Initialize a Link token server-side via /link/token/create with products set to ['auth'] and the user's client_user_id; pass the link_token to your frontend.
Launch Plaid Link on the frontend; the user authenticates with their bank and grants access; on success, Plaid Link returns a public_token.
Exchange the public_token for an access_token server-side via /item/public_token/exchange; store the access_token and item_id securely.
Call /auth/get with the access_token to retrieve the user's account numbers (ACH routing and account numbers) and the owner identity information.
Match the retrieved account owner name against the name the user provided during onboarding to confirm account ownership before initiating ACH transfers.
Handle ITEM_LOGIN_REQUIRED errors (requiring re-authentication) via the Plaid Link update mode flow.
Known gotchas
ACH account numbers returned by Plaid Auth are sensitive; store them encrypted and only use them for the permitted payment purpose.
Some financial institutions use Instant Auth (credentials-based) while others require micro-deposit verification (Automated Micro-deposits or Same-Day Micro-deposits); your integration must handle both flows.
Plaid access tokens do not expire on their own but can become invalid if the user revokes access at their bank; implement webhook handling for ITEM errors.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp