Read-only by design

One place for all your money.

Cairn connects every account you hold, at every institution, into a single view you own. Install the apps you need. Ask questions in plain language. Nothing ever moves without you.

QTFSAQRRSPTChequingIMarginSCryptoWSavingscairn
How it works

Connect. See. Extend.

Three steps, in order. Each one rests on the one before it.

Step 1 of 3

Connect

Sign in with SnapTrade. Every connection is read-only by construction. Cairn holds a token that can look and cannot act.

Step 2 of 3

See

Every account, one view. Every figure is labelled Observed, Estimated, or Unavailable, so you always know what you are looking at.

Step 3 of 3

Extend

Install the apps you need from the Store. Ask the assistant questions in plain language; it answers from tool results, never from memory.

Apps

Add what you need, nothing you don't.

Apps run in a permission sandbox and declare exactly which data they read. Install one; it appears in the sidebar without a reload.

Rebalancer

Target models, drift, the accuracy badge, and one-click paper rebalancing.

Dividends

Income by month, yields, a payment calendar, and the audit: did dividends actually help?

Performance

TWR and MWR side by side, benchmarks, costs and cash drag, and drift vs your targets.

Activity Explorer

A searchable, filterable ledger of every transaction across your accounts, with CSV export.

Alerts & Watchlists

Rules on drift, cash, dividends, price moves, fees, options and concentration — delivered to the in-app notification center.

Awards

Snapshots of your own investing history, revealed one at a time — some unlock a collectible medallion.

Concentration & Risk

Exposure by sector and geography, top-10 concentration, ETF overlap, drawdown and volatility.

Constellation

A seeded graph of your own holdings: linked by sector, ETF overlap and same-day trades — clusters vs lone bets.

The assistant

Ask in plain language. Get a labelled answer.

How much dividend income did my TFSA earn in the last 12 months, by month?

Tool call: get_dividend_income({"period":"12M","account":"TFSA"})

Every number in this chart came from a tool result. Cairn does not invent market data.

Your TFSA earned 1864.17 CAD in dividends over the last 12 months. Here it is by month — every figure is observed from real activity records.

Dividend income · last 12 months · TFSA
Total (12M)
$1,864.17
Monthly average
$155.35
Security

Cairn reads your accounts. It never moves your money.

01
Read-only OAuth token.
Cairn holds a read-only token from SnapTrade. It can list accounts, positions and activity. It cannot place an order on a real account.
02
Tokens encrypted at rest, never in the browser.
Connection tokens live in the local database, encrypted. They are never sent to the browser and never bundled into an app.
03
Apps run in a permission sandbox and never see credentials.
Every app declares the scopes it needs. You approve them on install. An app sees data through those scopes and nothing else.
04
One code path can place an order. It requires a human click, a paper account, and a preview.
Real accounts are read-only by construction. Paper orders fill through a mock adapter after you have seen every order's impact.
Developers

Build for Cairn.

An app is a folder with a manifest and a bundle. It declares its scopes, its navigation, its widgets and its assistant tools. Scaffold one in a minute.

npx create-cairn-app my-app --name "My App" --category Tools
{
  "id": "hello-portfolio",
  "name": "Hello Portfolio",
  "version": "1.1.0",
  "category": "Samples",
  "scopes": [
    {
      "scope": "read:accounts",
      "required": true
    },
    {
      "scope": "read:positions",
      "required": true
    }
  ],
  "nav": [
    {
      "label": "Hello Portfolio",
      "path": "main",
      "icon": "layers"
    }
  ],
  "widgets": [
    {
      "id": "summary",
      "title": "Hello Portfolio summary",
      "size": "half"
    }
  ],
  "tools": [
    {
      "name": "hello_portfolio_hello"
    }
  ]
}
Pricing

Free while in beta.

Free

Everything you need to see all your money in one place.

  • Connect accounts
  • Home
  • Connections
  • Core apps
PlusComing soon

Every app, the assistant, and the insights library.

  • All apps
  • Assistant
  • Insights library
DeveloperComing soon

Publish apps to the Store with SDK support.

  • Publish apps
  • SDK support

Free while in beta.

Questions

Plain answers.

Can Cairn trade for me?
No. It can show you a proposed trade; only you can execute one, only on a paper account, only after a preview.
Is my data sold?
No.
Where does my data live?
In a local database on the machine that runs Cairn. Connection tokens are encrypted at rest and never reach the browser.
What does Observed, Estimated, or Unavailable mean?
Observed figures come straight from your institution's records. Estimated figures are derived and labelled as such. Unavailable means Cairn does not have the data and will not guess.
Which institutions are supported?
Every brokerage SnapTrade connects to. Cairn uses SnapTrade as its connection layer and adds nothing on top of the read-only access it grants.
Can I build my own app?
Yes. Scaffold one with create-cairn-app, drop the folder into apps/, and refresh the catalog. The SDK contract is documented in APP-SDK.md.