Self-hosted · AGPL-3.0
Current and savings accounts, equity plans and securities accounts, life insurance, crypto, crowdlending, property and the loans against it. Badlen values what it can, keeps the history of the whole, and runs from two containers, with nothing else to install.


Net worth over time, the split across categories and the recent movement. The curve is read over ten windows, from the last 24 hours to everything you hold history for.

A category per family of holdings, each opening a tab of accounts and a tab of movements. Each account then opens a sheet of its own.

Two readings that answer different questions: the whole estate in euros, and the invested portfolio as a percentage.

What you hold, compounded against milestones you set, with a financial-independence figure stated at the end.

The month read against 1, 3, 6 or 12-month windows, over a perimeter of accounts you choose.

Eight calculators, from compound interest and a Monte-Carlo run to a mortgage and a monthly budget drawn as an editable Sankey.
The rest of the menu reads those same figures its own way: Advice turns them into cards to act on, Goals measures them against the safety cushion and the goals you set, Evolution draws allocation drift and portfolio change, and Fees collects what each platform and each product costs you. The introduction goes through every screen.
Learn is a finance course in eight chapters with quizzes, a glossary of concepts and a wealth pyramid. It is part of the product rather than a manual, and three screens read their thresholds from it. A ring at the top of the sidebar tracks twenty-four light achievements, in four tiers: nothing to catch you out, just a tour of the application one step at a time.
One button, Hide amounts, blanks every figure in the whole application. It is the privacy switch of the product, and this is its only switch.


Nothing here signs in to a bank, and the section under this one opens on exactly that. It does not follow that everything is typed.
Badlen ships an MCP server for Claude Code and Claude Desktop. Point your own Claude at the statement your bank gave you and ask for it to go in: it reads the file where it already sits, pulls the operations out, shows you what is new against what the account already holds, then writes the batch. A statement sent twice lands once.
Badlen calls no model and stores no model key. The reading happens on your machine, on your own subscription, and nothing of the file reaches the database except the operations.
It is the one way here that asks for more than the two containers: the server is a Node script your client starts outside Docker, so the machine your Claude runs on wants Node, pnpm and a clone of the repository.
Settings → Access issues scoped keys, and /api/v1 is what they open: accounts, balances, holdings and batches of operations, with a dry run that writes nothing and tells you what the real one would do.
The MCP server is one client of that surface. A script of your own is another, and it is the same route and the same key.
An account, a balance on the day it moved, an operation in its register. It needs nothing installed and no key issued.
For a savings book, a life insurance contract or a flat this is not a fallback: no quote and no chain values those, so the figure you state is the only one there is.
A security entered by its ISIN is quoted from outside sources, and a nightly run refreshes every quote and records the day's net worth. The value of a portfolio is not a figure anybody has to restate each month.
A crypto wallet declared by its public address asks the chain what it holds. It asks you for no credential, because a public address is not one.
And a Badlen export goes back in whole, which is how an instance moves to another machine.
Badlen connects to no bank, and that is the law rather than a corner left unfinished. Reading a payment account in the European Union is reserved to registered entities, identified to the bank by a certificate carrying their registration number, and no free program you install on your own machine holds one. The figures get in the four ways above instead.
What follows from it is that balances are what you type. That is the product and not a hole in it: the estate Badlen reads is the one its owner states, which is why it holds no bank credential of yours and why nothing of it has to leave the machine. Where that ends is written out limit by limit, each one with its reason.