CSV in. Ledger out.
Drop a native export from any of these brokers onto the import field — the parser detects the format and lands every trade, dividend, deposit, and fee as a ledger row. No Plaid. No bank passwords. Your credentials never touch our servers because we never ask for them.
Most US-built portfolio trackers use Plaid to read your accounts. Plaid asks for your online banking password. We don't.
Your broker credentials never touch our servers because we never ask for them. We can't be phished into giving up what we don't store.
We don't open headless browsers against your broker. No "connector down" outages, no terms-of-service exposure. CSV in, ledger out.
| 01 | Export from your broker Account → History → Export CSV. Most brokers expose this in 2-3 clicks. |
| 02 | Drop it onto /dashboard/assets or /dashboard/liabilities The parser detects which broker it came from. No format selection needed. |
| 03 | Review the ledger Every trade, dividend, deposit, and fee shows up at /dashboard/events grouped by type. Positions reconstruct from the ledger. |
| BROKER | HEURISTIC |
|---|---|
| Trading 212 | auto-detect on "Action,Time,ISIN" header |
| Revolut | auto-detect on "Date,Ticker,Type,Quantity" |
| Trade Republic | auto-detect on "Datum;Typ;ISIN" (DE locale) |
| DEGIRO | auto-detect on "Date,Time,Product,ISIN" + locale variants |
| IBKR | auto-detect on "Statement,Header,..." multi-section |
| Robinhood | auto-detect on "Activity Date,Process Date" header |
| Coinbase | auto-detect on the Coinbase preamble line |
| Binance | auto-detect on Binance "UTC_Time,Account,Operation" header |
CSV uploads are parsed on the Cloudflare Worker server-side, then thrown away — never stored on disk. The resulting ledger rows are encrypted at rest using a per-user data key. Even an operator with database access can't read your trades in plaintext. How that works →