Wealthfolio: a Rust and Tauri portfolio tracker where the database is a file on your disk
A beautiful, private, local-first personal finance tracker. Investments, net worth, spending, and simulations.
At a glance
- What is it?
- Wealthfolio is an AGPL-3.0 local-first finance tracker built as a Tauri desktop app with a Rust core, plus iOS and a self-hosted Docker web build. The core judgement: the free tier is genuinely complete for manual tracking and CSV import, while automatic brokerage sync and encrypted multi-device sync sit behind the optional Wealthfolio Connect subscription.
- Who is it for?
- Adopt Wealthfolio if you want portfolio, net worth, spending and goal tracking that stays on your own disk, and if you are willing to enter activities by hand or import them from CSV. Skip it if automatic brokerage syncing is the whole reason you are looking, since that path runs through the optional Wealthfolio Connect subscription, and skip it if AGPL-3.0 terms conflict with how you intend to distribute a modified build.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly Rust, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The problem Wealthfolio solves, and who actually has that problem
Most portfolio trackers ask you to hand a third party a read-only or read-write connection to your brokerage accounts, and in exchange you get a hosted dashboard. Wealthfolio inverts that. The README states that all data is stored locally on your device, with no cloud database and no account required, and describes the product as free forever. The project is aimed at people who track investments across multiple accounts and asset types, want time-weighted and money-weighted returns rather than a simple percentage, and are not willing to make an account the price of admission. The repository topics list macos-app, portfolio-tracker, self-hosted and tauri-app, which matches the distribution story: a desktop application first, with a self-hosted Docker and web option and a separate iOS app. It is not a bookkeeping system for a business, and it is not a trading client. The scope named in the README is investments, net worth, spending and simulations, plus goal planning with allocation management and multi-currency support with exchange rate management.
What the Tauri shell and the adapter system imply about the architecture
The primary language is Rust, and the app is packaged with Tauri, which means a Rust backend process paired with a web frontend rendered inside the platform's native webview rather than a bundled browser engine. That choice has a visible consequence in the README's platform requirements. Wealthfolio 3.7 requires macOS 12 or newer and iOS or iPadOS 16 or newer, and the README notes that macOS 12 installations should apply current macOS and Safari updates so the system WKWebView meets what it calls the Safari 16 browser floor. Windows relies on the evergreen WebView2 runtime; Linux and self-hosted installations should keep WebKitGTK or their browser updated. This is the trade-off of the Tauri approach: small binaries and native integration, but your runtime floor is set by the operating system's webview rather than by the project. The README also points to docs/architecture/adapters.md, described as compile-time environment detection for Desktop and Web builds. That is the mechanism that lets one codebase serve the desktop app and the Docker web deployment without a runtime feature-detection layer, and it is the detail worth reading in the repository if you plan to build from source rather than use a release.
The addon sandbox is the most interesting part of the design
Wealthfolio ships an addon system with a TypeScript SDK, hot reload during development, and what the README calls a comprehensive permission system with user consent. Addons can add custom pages, navigation items and components, listen to portfolio updates, market sync and user actions, and reach accounts, holdings, activities and market data. There is a secrets store for API keys, and addons can package images, fonts, media, configuration and Wasm into what the README describes as an isolated addon sandbox. The permission model is the part to scrutinise before installing anything from the community directory. An addon that can read accounts, holdings and activities has, in aggregate, a complete picture of your finances, and consent prompts only help if you read them. The project maintains separate official and community addon repositories, which is a useful split: the official directory is the smaller surface and the one to start from. The README links a migration guide for addons moving from v3.6 to v3.7 covering packaged assets and compatibility notes, which tells you the addon API is still moving between minor versions. If you depend on a community addon, pin your app version until that addon confirms support.
Getting it running: prerequisites, commands and the Docker path
The fastest route is a prebuilt binary. The README links downloads for macOS, Windows and Linux, an iOS app on the App Store, and a Docker guide under the self-hosting documentation. Building from source is a different commitment. The prerequisites section lists Node.js, pnpm, Rust and Tauri, and the README's Getting Started section is truncated mid-sentence at the build step, so the exact build command is not something I can quote from the supplied material; check the repository's Getting Started section directly rather than guessing. What is clear from the layout is that this is a monorepo: there is an apps/frontend directory (the README references apps/frontend/public/screenshot.webp and a brand icon under assets/brand), a packages/addon-dev-tools directory described as CLI tools for addon development, and a docs directory holding the activity types, adapter architecture and addon documentation. If you only want to use the app, none of that matters. If you want to write an addon, the entry point named in the README is docs/addons/addon-getting-started.md, with the API reference and architecture guide alongside it, and the addon-dev-tools package as the CLI. The self-hosted Docker route is documented at wealthfolio.app/docs/guide/self-hosting/docker, which is where to look if you want the web build on a home server instead of a desktop install.
Where the free tier ends: Connect, brokerage sync and multi-device sync
This is the boundary that decides whether Wealthfolio fits you. Automatic brokerage syncing across what the README describes as 30 or more institutions, read-only, and encrypted multi-device sync are both part of Wealthfolio Connect, an optional subscription that the README says covers the real cost of the brokerage data connections. The app never requires it: manual tracking and CSV import are free, forever. That is an honest split, and it is also the main limitation. If your reason for wanting a tracker is that you refuse to enter trades by hand, the free product does not solve your problem, and the subscription is the answer rather than a workaround. The second limitation is the platform floor described above: an older macOS release with a stale WKWebView, or a Linux box with an outdated WebKitGTK, is a real failure mode rather than a theoretical one, and the README addresses it directly by telling macOS 12 users to apply system and Safari updates. Finally, the AGPL-3.0 licence is worth understanding before you fork. It is a strong copyleft licence with a network-use clause, so running a modified version as a network service carries obligations that permissive licences do not impose. I am not giving legal advice; if you plan to modify and redistribute, read the licence text or ask someone qualified.
How it differs from a spreadsheet and from hosted trackers
The obvious alternative is a spreadsheet, and the honest comparison is not features but arithmetic. A spreadsheet gives you total control over the model and no maintenance burden beyond your own formulas, but it does not compute time-weighted and money-weighted returns correctly without you building the machinery, and it does not handle multi-currency exchange rates or benchmark comparison out of the box. Wealthfolio's README claims true time-weighted and money-weighted returns and benchmark comparison as built-in features, which is the specific thing a spreadsheet makes you implement yourself. The other alternative is a hosted tracker, and there the difference is architectural rather than a matter of feature lists. A hosted tracker holds your positions on someone else's infrastructure and typically requires an account; Wealthfolio stores everything locally with no cloud database and no account. The cost of that inversion is convenience: hosted services make brokerage sync the default, while Wealthfolio makes it a paid optional layer. The addon system is the third axis. A spreadsheet can be extended with scripts, and a hosted tracker usually cannot be extended at all by its users; Wealthfolio's TypeScript SDK with a permission model and a sandbox is closer to a small platform than to an app.
Maintenance cost and what to verify before you commit
The release cadence visible in the material is roughly every two to three weeks, with v3.8.0 on 2026-09-07, v3.7.0 on 2026-08-19 and v3.6.3 on 2026-08-07, and the last push to the default branch on 2026-09-10. That pace is good for fixes and bad for anyone who needs a frozen interface, and the existence of an addon migration guide from v3.6 to v3.7 confirms that addon authors feel it. For a plain user, upgrades are a download; for an addon author, each minor release is a compatibility check. The other recurring cost is the runtime floor: keeping WebView2, WebKitGTK or the system webview current is now part of running the app, and the README says so plainly. Verify three things before you invest time. First, that your broker's CSV export maps onto the activity types documented in docs/activities/activity-types.md, including the required form fields, because a mismatched export is your problem to solve. Second, that any community addon you want has been checked against the current minor version, given the v3.6 to v3.7 migration notes. Third, that AGPL-3.0 fits your intended use if you plan to modify and redistribute. If you only want manual tracking and CSV import, the free tier covers it and the subscription is not a hidden requirement.
Editorial conclusion
Adopt Wealthfolio if you want portfolio, net worth, spending and goal tracking that stays on your own disk, and if you are willing to enter activities by hand or import them from CSV. Skip it if automatic brokerage syncing is the whole reason you are looking, since that path runs through the optional Wealthfolio Connect subscription, and skip it if AGPL-3.0 terms conflict with how you intend to distribute a modified build. Before committing, verify two things yourself: that your platform meets the stated floor (macOS 12 or newer, iOS or iPadOS 16 or newer, evergreen WebView2 on Windows), and that the CSV export from your broker maps cleanly onto the activity types documented in docs/activities/activity-types.md.
Community notes