Deep-scan analytics
Income-to-destination Sankey flows, spending heatmaps, category trends, and period comparisons — instruments, not decoration.
Open source · Local-first · AGPL-3.0
Token Circles is a precision instrument for personal finance — every account, budget, and goal on one calm, dark canvas. It runs entirely in your browser, no account required, and your data never has to leave your machine.
No account. No install. Your data stays in your browser.
The console
The dashboard is a real instrument panel: net worth, savings rate, budget health, and where every token went this month — dark, precise, and instant. It runs entirely in your browser, no account required.
Net worth
€128,430
+2.1%
Savings rate
31%
+4 pts
Budget used
64%
on track
Spending by category
Budget health
The instrument panel
Not a budgeting toy, not a spreadsheet. Every panel below is a real instrument in the app, drawn here in the same dark, precise language.
Income-to-destination Sankey flows, spending heatmaps, category trends, and period comparisons — instruments, not decoration.
Net worth, savings rate, budget alerts, and a spending-by-category ring — the whole picture the moment you land.
Income, expense, and transfers with categories, tags, and payment methods. Bulk edit and quick-add from anywhere.
Monthly category budgets with rollover and zero-based budgeting. Alerts fire before you overshoot, not after.
Track loans and payments, with amortization for variable rates and prepayments, and a debt-distribution ring across them.
A calendar of everything recurring — bills, subscriptions, reminders — so nothing ambushes your balance mid-month.
Savings goals with progress rings that tier from red to violet as you close in, plus projections and milestones.
Months tracked, thirty-four badges in four bands, a timeline of what you earned and when, and advice drawn from your own numbers. Worked out on your device, per profile.
Drop a statement in and it recognises the bank itself — eight native importers, plus the YNAB interchange format that covers 145+ more. Transfers between your own accounts are paired up, not double-counted.
Track investments with live price lookup, merged buys, average cost, and an allocation breakdown beside your accounts.
Retirement, FIRE, compound interest, emergency fund, and rent-vs-buy — the long-horizon math, worked out visually.
CSV and JSON export of every table, PDF monthly and annual reports, and statement imports on the way in — eight banks natively, plus everything the YNAB interchange format covers. No export tax, no hostage data — leaving is always allowed.
Deep-scan analytics
Sankey flows trace income to its destinations. Heatmaps expose the shape of your spending week. Trends compare any period against any other. The same charts, dark and precise, live in the app itself.
Cash flow · March
income → categoriesSpending heatmap
Fridays run hot. Now you know.
Savings trend
+31% YoYThirty-four badges
Tracking your money earns badges — a month tracked, a quarter, a year, saving streaks, budgets held, a loan paid off. Four bands, from your first entry to a twenty-year ladder. The Progress page opens with a timeline of what you have earned and when, then the whole gallery.
Earned, oldest first
24 months trackedPer profile, worked out on your device, and never taken away once earned. Import five years of statements and the history counts from day one. Each badge shares as a card.
Three ways to fly
Local-first
Free
Runs entirely in your browser. No account, no server, no telemetry.
Cloud
From €3 / month · free tier included
Managed sync at tokencircles.com when you want your data on every device.
Self-hosted
Free
Your own Cloudflare Worker + D1 + R2 — cloud features, your infrastructure.
Cloud plans fund hosting, sync, and receipt storage — the app never depends on them. AGPL-3.0, forever.
What the cloud costs
Annual billing works out at roughly two months free. Nothing here gates the app itself — Free is the whole instrument, on your own machine, forever.
Free
€0
forever
The whole app, on your own machine. No account, nothing to cancel.
Basic
€3 / mo
€30 / year
Your ledger on every device, and an API to reach it.
Everything in Free, plus
Advanced
€6 / mo
€60 / year
Room to grow, and imports that run without you.
Everything in Basic, plus
Ultimate
€10 / mo
€100 / year
No caps to think about.
Everything in Advanced, plus
Plans, prices and limits may change at any time during beta.
Ultimate "unlimited" usage is subject to fair-use limits.
Why trust it
Local-first, honestly
The default mode stores everything in your browser. The entire API runs client-side against IndexedDB — no server round-trips, no account, nothing phoning home.
Open source, all the way down
AGPL-3.0. The frontend, the sync worker, the migrations — the same code we run is the code you can read, audit, and self-host.
Money-grade correctness
Balances are updated atomically and covered by test suites across every tier — because a finance tool that is 99% right is 100% useless.
No lock-in, ever
CSV and JSON export of everything, PDF reports you keep, and an import path in. Your ledger is yours; we just render it beautifully.
Questions
Yes. Local-first and self-hosted modes are free forever under the AGPL-3.0 license — that is the whole app, every chart and calculator, on your own machine. The managed cloud is what costs money: €3 a month for Basic, €6 for Advanced, €10 for Ultimate, or roughly two months free on annual billing. Those fund hosting, sync, receipt storage and the email we send on your behalf.
By default, in your browser (IndexedDB) — it never leaves your machine. If you opt into cloud sync, it lives in a Cloudflare D1 database — ours on the managed cloud, or yours if you self-host.
Not via live connections (yet) — you import statements instead, and it detects the format for you. Eight banks have native importers: Revolut, Wise, N26, Erste, PBZ, ING, Sparkasse and DKB. It also reads the YNAB interchange CSV, so exports from the open-source bank2ynab — which covers 145+ banks — come straight in, and anything else can be column-mapped once from Excel or CSV. Classification rules learn from your corrections, and moves between your own accounts are detected as transfers instead of being double-counted.
A free Cloudflare account. The backend is a Worker with D1 (SQLite) and R2 for receipts, and it fits in the free tier. The guide covers migrations, secrets, and deploys.
YNAB is a paid, cloud-only methodology app. Actual is local-first budgeting. Token Circles is local-first and goes wider: budgets plus portfolio tracking, loan amortization, retirement / FIRE calculators, Sankey analytics, and PDF reporting — one instrument panel for all of it. Coming from YNAB? There is a native importer for your export.
They mark the thing that is genuinely hard about personal finance, which is coming back next month. Thirty-four of them in four bands — a first entry, a month tracked, a quarter, a year, saving streaks, budgets held, a loan paid off, and a twenty-year ladder at the top. They are worked out on your device, kept per profile, and never taken away once earned. Import five years of statements and your history counts from day one.
Yes — a REST API and an MCP server, so Claude or any other MCP client can read and write your ledger. Mint a personal access token under Settings → API access and choose what it is allowed to do. It needs an account on our server, so it comes with the paid plans: two live tokens on Basic, ten on Advanced, unlimited on Ultimate. Self-hosters get it against their own worker.
Always. CSV and JSON export of every table, plus PDF monthly and annual reports. No export tax, no hostage data.