millefold
FEATURESABOUTDONATELOGIN
// IMPORTS

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.

8 BROKERS
+ GENERIC CSV
SUPPORTED BROKERS
AUTO-DETECT ON FILE DROP · MORE COMING IN BETA-2
TR
Trading 212
EU
shares + cash
RE
Revolut
EU
stocks + crypto
TR
Trade Republic
EU
shares + ETFs
DE
DEGIRO
EU
EN / NL / DE / FR / IT / ES
IB
IBKR
GLOBAL
Activity Statement
RO
Robinhood
US
shares + options
CO
Coinbase
GLOBAL
crypto
BI
Binance
GLOBAL
crypto
+
Generic CSV
column-mapper UI
— NO PLAID —

Some trackers connect through account aggregators such as Plaid, which can ask for your online banking login. Millefold doesn't.

— NO BANK PASSWORDS —

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.

— NO SCREEN-SCRAPING —

We don't open headless browsers against your broker. No "connector down" outages, no terms-of-service exposure. CSV in, ledger out.

HOW IT WORKS
3 STEPS · ~20 SECONDS
01
Export from your broker
Account → History → Export CSV. Most brokers expose this in 2-3 clicks.
02
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.
DETECTION RULES
FOR THE CURIOUS
BROKERHEURISTIC
Trading 212auto-detect on "Action,Time,ISIN" header
Revolutauto-detect on "Date,Ticker,Type,Quantity"
Trade Republicauto-detect on "Datum;Typ;ISIN" (DE locale)
DEGIROauto-detect on "Date,Time,Product,ISIN" + locale variants
IBKRauto-detect on "Statement,Header,..." multi-section
Robinhoodauto-detect on "Activity Date,Process Date" header
Coinbaseauto-detect on the Coinbase preamble line
Binanceauto-detect on Binance "UTC_Time,Account,Operation" header
— PRIVACY —

CSV uploads are parsed on the server (Cloudflare Workers) and not stored. The holdings built from them — names, values, cost basis — are encrypted at rest with a per-user key; the key is held by the operator, so this protects against database leaks, not against the operator. The imported transaction rows themselves (type, amount, ticker, shares, price, date) are stored unencrypted, limited to your account. How that works →

> SIGN_INREAD THE DOCS