Skip to main content
Safeclose uses Plaid to let signers verify and link their bank accounts as part of the signing flow. When a signer connects their bank, Safeclose retrieves a short-lived token on their behalf, passes it through the secure Plaid Link UI, and exchanges it for a persistent item reference — no raw bank credentials ever touch your application. You can try the Plaid Link flow interactively in the Safeclose signing lab at /signing/plaid-lab.
Which Plaid environment is active (sandbox or production) is configured by your workspace administrator. In sandbox mode, use Plaid’s test credentials to complete the flow without a real bank account.
1

Request a link token

Call POST /api/plaid/link-token from your signed-in session. Safeclose returns a short-lived link_token scoped to the current user.
The link_token expires quickly — pass it to the Plaid Link UI immediately.
2

Initialize Plaid Link

Use the link_token to open the Plaid Link UI. In a React app, pass the token to usePlaidLink from the react-plaid-link package:
The user selects their institution and authenticates inside the Plaid Link modal. Your app code never handles credentials directly.
3

Exchange the public token

After the user completes Plaid Link, Plaid calls your onSuccess callback with a one-time public_token. Send it to POST /api/plaid/exchange to exchange it for a persistent item reference.
Call POST /api/plaid/exchange from your server-side code or immediately after onSuccess. The public_token can only be exchanged once and expires after 30 minutes.
4

Check link status

At any time, call GET /api/plaid/status to check whether the signed-in user has a linked Plaid item.
Use connected: false to prompt the user to complete the Plaid Link flow.

API summary

Plaid webhook events

Plaid sends item update notifications to Safeclose automatically — for example, when new transactions are available or when a linked item needs re-authentication. These events arrive at POST /api/webhooks/plaid and are processed asynchronously.

Webhook configuration

Learn how Safeclose verifies Plaid webhook events and what your administrator needs to configure.