The landscape

Bank aggregators

SimpleFIN

An open, read-only protocol, and a small paid bridge, that let a person hand an app a token to read their own bank accounts.

simplefin.org · founded 2013 (GitHub organisation created 26 January 2013); the Bridge's public issue tracker dates from November 2021 · Not stated; the protocol is maintained by Matt Haggard (GitHub iffy), who also makes the Buckets budgeting app · researched 2026-10-10

Scope
SimpleFIN is a protocol for read-only bank data, described as RSS for financial information, plus SimpleFIN Bridge, a paid service that implements it for banks that do not. The person creates a token and gives it to whichever app they choose. It returns accounts, balances and transactions by date window; it does no categorisation, no payments and no books.
Backing
No outside funding found. The Bridge is funded by user subscriptions ($1.50 a month or $15 a year).
Serves
consumer, developers
Covers
bank, personal
To ownpurse
Source. The local-first fit for ownpurse's bank witness: the person holds the token, the data lands on their machine, and it costs them $15 a year. Its data comes from MX, so it is an independent witness to Xero but not to the bank.

What it is

SimpleFIN is a small, open protocol for read-only financial data, which its site calls “like RSS for financial information.” Its picture is a window on a safe: people can look but cannot touch, and you decide who looks. Next to the protocol sits SimpleFIN Bridge, a paid service that speaks SimpleFIN for banks that do not, for $1.50 a month or $15 a year, covering up to 25 institutions and 25 apps. The project is maintained by Matt Haggard, who also makes the Buckets budgeting app (GitHub).

How it works

The person creates a setup token at the Bridge and pastes it into an app. The app decodes it, claims it once by POST and receives an Access URL with Basic credentials (protocol). A second claim returns 403, which the app should treat as a possible compromise. From then on the app calls GET /accounts with start-date, end-date, optional pending=1, an account filter or balances-only=1. Version 2.0.0 (19 March 2026) added structured errors (errlist, with con.auth, act.missingdata and similar codes), a connections list, and conn_id to tell apart two logins to the same bank.

Behind the Bridge, MX holds the bank connections; Stripe takes payment and DigitalOcean hosts the servers. No bank credentials touch SimpleFIN’s servers.

Data and access

The developer page asks apps to make 24 requests a day or fewer and to span at most 90 days per request; tokens that keep exceeding the warning level are disabled. History depth depends on the bank. There is no change feed: you ask for a window and get what is there now. A transaction that disappears is simply absent. All access is read-only.

Agents

There is no official agent surface, and none is needed: one URL and one endpoint is about the easiest thing an agent can call. Community developers have published several read-only SimpleFIN MCP servers and self-hosted finance apps with MCP endpoints in 2026. The approval model is the token itself: the person mints it, gives it to one app, and can revoke it.

Customers

The ecosystem page lists Actual Budget, Buckets, Strata Money and others; Sure also supports it. No usage figures are published, and no review-site ratings were found. The public Bridge issue tracker is candid about the costs of a thin layer over MX: Capital One ids re-issued for whole date blocks so that clients import duplicates (September 2026), descriptions cut to 32 characters (April 2026), and mirror transactions across linked Mercury accounts (February 2026).

History

The protocol dates from 2013 and was designed so banks could serve it directly without paying anyone. Few did, so the Bridge exists, and its mission page says the Bridge succeeds when it is turned off. Early companions included per-bank scraping scripts and sfin2ledger, which turned SimpleFIN data into Ledger journals.

For ownpurse

SimpleFIN is the bank source that matches ownpurse’s shape: the person holds the credential, the data lands on their machine, and no company stands between them and the app they chose. It fits the bank-witness role well, with two cautions. First, it is downstream of MX, so it is independent of Xero but not of MX’s errors; the Capital One issue shows that ids cannot be trusted alone, which the identity ladder (source id, natural key, fingerprint, position) already anticipates. Second, it has no deletes, so only a completed, verified sweep may infer one, and the 90-day window and 24-requests-a-day budget should set the connector’s cadence. Keep the raw JSON in the drawer so a later fix in MX or the Bridge can be replayed.

Data and access

Public API
Yes. REST: one GET /accounts endpoint returning JSON; v2.0.0 released 19 March 2026
Auth
A one-time setup token (Base64 URL) is claimed by POST for an Access URL carrying HTTP Basic credentials; claiming twice returns 403, a sign of compromise
Limits
Bridge: plan for 24 requests a day or fewer, with separate quotas for all-accounts and single-account requests; exceeding the warning level disables the token. At most 90 days per request; history depth varies by bank. Up to 25 institutions and 25 apps per subscription.
What access costs
$1.50 plus tax a month or $15.00 plus tax a year for the Bridge; the protocol is free and banks pay nothing to implement it.
Export
Every account and transaction the token can see, as JSON, by date window; the person can mint tokens for as many apps as they like (up to 25).
Notes
Parameters: start-date, end-date, pending=1, account (repeatable), balances-only=1, version=2. Transactions carry id, posted, amount, description, optional transacted_at and pending. Structured errors in errlist with gen., con. and act. prefixes; 402 means payment required.

Price

Model
Flat subscription paid by the person
Entry
$1.50 a month
Top
$15.00 a year (same service)
Notes
No tiers. No developer fee: an app integrates for free and the user pays the Bridge.

Agents

MCP
community
AI features
None from SimpleFIN. Community projects on GitHub (2026) include read-only SimpleFIN MCP servers and self-hosted finance apps with an MCP endpoint.
Agent writes
No. All access is read-only by design.
Approval
The person creates each token and can revoke it at the Bridge; staff debugging access to transaction data needs the user's explicit, logged, expiring grant.
Notes
The simplest bank source an agent can hold on a person's behalf: one URL, read-only, revocable.

Integration and customers

Connects to
Through the Bridge, banks reachable by MX (exact count not stated); apps listed in the ecosystem include Actual Budget, Buckets, Strata Money, Skwad, Sparky Budget, ZapYeti, EnvelopeBudget and Synci; Sure also supports it.
Notes
The Bridge outsources bank connections to MX, cards to Stripe and hosting to DigitalOcean. Coverage and data quality therefore follow MX's, with a further layer of translation.
Scale
No user or revenue figures published.
Ratings
None found on G2, Capterra or Trustpilot; Reddit could not be read in this pass.
What customers say
Self-hosters and local-first budgeters adopt it because it is cheap and puts the token in their hands. The public issue tracker shows the costs of a thin layer over MX: Capital One transaction ids re-issued for whole date blocks so clients import duplicates (September 2026), descriptions cut to 32 characters from the OFX NAME field (April 2026), mirror transactions across linked Mercury accounts (February 2026), and connections stuck in maintenance for weeks.

Timeline

  1. 2013-01-26

    SimpleFIN GitHub organisation created; the protocol site follows.

  2. 2013-10

    bank-access repository of per-bank retrieval scripts (Apache-2.0).

  3. 2016-06

    sfin2ledger published, converting SimpleFIN data to Ledger journals (MIT).

  4. 2021-11-29

    Public issue tracker for SimpleFIN Bridge opens.

  5. 2026-03-19

    Protocol v2.0.0: errlist, connections, conn_id, account filter, balances-only.

  6. 2026-09-07

    Issue reported: Capital One ids re-issued in blocks via the Bridge, producing duplicates in clients that key on id.

Borrow and avoid

Borrow
The claim-once setup token exchanged for a revocable read-only URL; one endpoint with date windows; structured error prefixes; a service whose stated mission is to stop being needed once banks share data themselves.
Avoid
Keying identity on SimpleFIN's transaction id (Capital One reissues them); trusting descriptions as complete (32-character truncation); assuming a missing transaction was deleted, since there is no delete signal. Use the identity ladder and fingerprints, and never infer a delete from a window.

Sources

  1. SimpleFIN home
  2. SimpleFIN protocol v2
  3. SimpleFIN changelog
  4. SimpleFIN ecosystem
  5. SimpleFIN Bridge
  6. SimpleFIN Bridge developer guide
  7. SimpleFIN Bridge security
  8. SimpleFIN Bridge mission
  9. SimpleFIN on GitHub
  10. Bridge issue: Capital One ids re-issued
  11. Bridge issue: descriptions truncated
  12. Bridge issue: Mercury mirror transactions

Not confirmed against a primary source

  • The legal entity that operates SimpleFIN Bridge; the site names only "SimpleFIN".
  • The number of institutions reachable through the Bridge.
  • Number of users or subscribers.
  • Reddit and review-site sentiment (Reddit could not be fetched; no review-site profiles found).
  • Whether MX is the only provider behind the Bridge; the security page names only MX.

ownpurse is not affiliated with SimpleFIN or any company named here. Names are their owners' trademarks. Figures come from the company's own pages and the press, as linked, as of 2026-10-10; scores are our reading of them against the definitions in the landscape. This is not legal or financial advice.