> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ai2fin.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SimpleFIN — connect a bank through a bridge you choose

> Connect US and Canadian banks to AI2Fin through SimpleFIN Bridge, or any SimpleFIN-compatible provider such as RedBark. One-time setup token, read-only by protocol, revocable at the bridge. Works in the cloud, desktop app and self-hosted.

<Info>
  **Available in:** Cloud · Desktop app · Self-hosted  |  **Reach:** 🇺🇸 🇨🇦 via SimpleFIN Bridge; 🇦🇺 🇳🇿 🇺🇸 via [RedBark](/connectors/redbark)  |  **Cost:** the bridge's own plan; a paid AI2Fin plan
</Info>

## What it is

[SimpleFIN](https://www.simplefin.org/protocol.html) is an open, read-only
protocol for handing an app access to your bank data. You connect your bank at
a *bridge*, the bridge gives you a one-time **setup token**, and AI2Fin exchanges
it for a private read-only link. There is no payment instruction in the
protocol, so there is nothing to misuse.

Any bridge that speaks SimpleFIN works. Two you are likely to use:

| Bridge                                                 | Reach                                       | Notes                                                           |
| ------------------------------------------------------ | ------------------------------------------- | --------------------------------------------------------------- |
| [SimpleFIN Bridge](https://beta-bridge.simplefin.org/) | United States, Canada                       | The original; strongest US coverage                             |
| [RedBark](/connectors/redbark)                         | Australia (CDR), New Zealand, United States | SimpleFIN is one of its outputs; Developer or Professional plan |

## Connect

<Steps>
  <Step title="Get a setup token at your bridge">
    Connect your bank(s) there, then create a setup token. It is single-use and
    typically expires if unclaimed — SimpleFIN Bridge and RedBark both give you
    a short window to paste it.
  </Step>

  <Step title="Paste it into AI2Fin">
    Connectors → search your bank or choose the **SimpleFIN** tile → paste →
    **Connect**. AI2Fin claims the token immediately and lists the accounts it
    can see, so you know it worked before leaving the page.
  </Step>

  <Step title="Let the first sync run">
    Around 13 months of history is requested on the first read where the bridge
    has it. After that the feed polls every 15 minutes.
  </Step>
</Steps>

## What syncs

* Accounts, with current balance and currency
* Transactions, including a pending flag where the bridge provides one
* **Not** holdings or brokerage positions — SimpleFIN has no representation
  for them

## Revoking

Disconnect in AI2Fin to stop it reading. To end the bank's access, revoke the
app at your bridge — that is where the connection lives.

## Self-hosting note

<Warning>
  On a hosted or self-hosted server, `SIMPLEFIN_BRIDGE_ALLOWLIST` restricts which
  bridge hostnames the server will talk to (an SSRF control). If you use a bridge
  other than SimpleFIN Bridge — RedBark, for instance — add its hostname to that
  list. On the desktop app the request originates on your own machine, so the
  allowlist is unset and any public bridge works.
</Warning>

## Frequently asked

<AccordionGroup>
  <Accordion title="Is a bridge safe?">
    A bridge is a third party — but one you picked, that you pay, and that you
    can revoke without asking us. AI2Fin never sees your banking credentials
    through it; it only ever holds the read-only link the bridge issued.
  </Accordion>

  <Accordion title="Can I use two bridges?">
    Yes. Each setup token becomes its own connection. Deduplication is
    account-scoped, so the same account reachable through two bridges is still
    one set of transactions.
  </Accordion>

  <Accordion title="My bridge doesn't list my bank">
    Try [BankSync](/connectors/banksync) for the same country, or a
    [statement file](/connectors/statement-files) — no bridge required.
  </Accordion>
</AccordionGroup>
