Skip to main content

Connecting banks

FinNudge uses Plaidto sync transactions and balances from 12,000+ US financial institutions. Here's how it works, and what to do when something goes sideways.

What gets synced

  • Transactions: merchant, amount, timestamp, Plaid's category.
  • Balances: current + available balance per account.
  • Account metadata: type (checking / savings / credit / loan / investment), mask, name.
  • Recurring charges: FinNudge detects subscriptions and bill-pay patterns from the synced transaction history (this analysis runs on our servers, not Plaid's).

We do notsync statements, check images, wire transfer details, or any read-write capability. Plaid's connection is strictly read-only.

How it works under the hood

  1. You click Connect a bank and Plaid Link opens in a modal.
  2. You authenticate with your bank directly inside that modal. FinNudge never sees your credentials.
  3. Plaid returns a short-lived public_token to us, which we exchange server-side for a long-lived access_token.
  4. The access token is stored in our Supabase Postgres database, which encrypts data at rest using AES-256 (managed by AWS KMS). Row-Level Security policies prevent any other user account from reading the row.
  5. A background sync pulls the last 90 days of history and schedules incremental pulls from Plaid webhooks.

Plans that include bank sync

Live bank connectivity is a Plus and Pro feature. On Spark (free) you can still import via CSV and add transactions manually. Upgrade any time from Settings → Plan.

When a connection breaks

Banks rotate credentials, expire OAuth tokens, and occasionally change their API. When that happens the sync-health agent posts a nudge and the affected account shows a yellow or red badge on Accounts. Three statuses:

  • Healthy: last sync under 24h.
  • Stale: no sync in 24,48h. Usually transient; we'll retry automatically.
  • Error: Plaid reported an explicit failure. Click Reconnect on the account row to re-authenticate.

Disconnecting

Remove an institution from Accounts. We immediately revoke the Plaid access token server-side and permanently delete the transactions tied to the disconnected accounts. This action can't be undone. Before you confirm, the disconnect dialog offers a Download CSV backup link so you can keep your own copy of every transaction. See Data retention for the full lifecycle.

Troubleshooting

  • Modal won't open. Disable content blockers for finnudge.money and cdn.plaid.com, then retry.
  • “Invalid credentials”.Confirm your login on the bank's own website first. If 2FA is enabled, you may need to approve the connection attempt in a second tab.
  • Missing transactions. Most banks expose 90 days; a handful only expose 30. Older transactions can be backfilled via CSV import on Accounts.

Still stuck? Help Center has step-by-step reconnection walk-throughs per institution.