Self-hosted service
wealthfolio/wealthfolio avatar
wealthfolio/wealthfolio

Wealthfolio: Local-First Portfolio Tracker Built on Tauri and Rust

A beautiful, private, local-first personal finance tracker. Investments, net worth, spending, and simulations.

9,024 stars706 forksRustAGPL-3.0

At a glance

What is it?
Wealthfolio is an open-source portfolio tracker that stores all data locally on your device with no cloud account required. It runs on Windows, macOS, and Linux as a desktop app, on iOS, and as a self-hosted Docker web application.
Who is it for?
Wealthfolio suits investors who want open-source portfolio tracking where data never leaves their device. It is not the right tool for teams that need a shared cloud portfolio or for users who require brokerage auto-sync without the optional Connect subscription.
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 last received commits 13 days ago.
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 17, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Local-First Portfolio Tracking Without a Cloud Account

Wealthfolio stores all portfolio data in a SQLite database on your local device. No account is required. No data is sent to an external server by default. The README describes the application as having no cloud database dependency, and its free features, manual tracking and CSV import, are available indefinitely without any subscription. This design makes it suitable for investors who want to track holdings across multiple accounts and asset types without trusting a third party with their financial data. The application supports multiple currencies with exchange rate management, true time-weighted and money-weighted returns, benchmark comparison, and financial goal planning. These features work entirely offline. The optional Wealthfolio Connect subscription adds automated brokerage synchronization for over 30 institutions and encrypted multi-device sync, but the README states the app never requires it.

Architecture: Tauri, Rust Backend, and SQLite Storage

Wealthfolio is built with Tauri, a framework that packages a web frontend with a Rust backend into a native desktop application. The frontend uses TypeScript with React. The Rust workspace includes two application targets: apps/tauri for the desktop builds and apps/server for the self-hosted web version. Shared logic lives in the crates/ directory. The Cargo.toml specifies that unsafe code is forbidden at the workspace level. For database access, the application uses Diesel with SQLite. The dependency libsqlite3-sys is compiled with the bundled-sqlcipher-vendored-openssl feature, which enables optional database encryption via SQLCipher. The README explains that when no encryption key is applied, SQLCipher behaves as plain SQLite and opens unencrypted databases normally. This means there is a single build configuration for both encrypted and unencrypted use. The Rust workspace version at the time of the last push was 3.9.2.

Getting Started: Download the Binary or Build from Source

The README links to binary downloads for macOS, Windows, and Linux at wealthfolio.app/download. No build step is required for the pre-built desktop application. To build from source, the prerequisites are Node.js, pnpm, Rust, and Tauri.

bash
git clone https://github.com/wealthfolio/wealthfolio.git
cd wealthfolio
bash
pnpm install

Before running the development build, copy the environment template.

bash
cp .env.example .env

The package.json defines dev:tauri as the script for launching the desktop development build and dev:web for the web-only development server. For Docker self-hosting, the compose.yml file publishes the application on port 8088 by default. The WF_SECRET_KEY environment variable is required when running Docker: the compose.yml comments include the command to generate one with openssl rand -base64 32. The WF_AUTH_PASSWORD_HASH variable must contain an Argon2id PHC hash of your password when the Docker service listens on 0.0.0.0.

Activity Types, CSV Import, and Goal Planning

Wealthfolio tracks portfolio changes through a typed activity system. The documentation at docs/activities/activity-types.md covers all supported activity types and their required form fields. Manual entry and CSV import are available without any subscription. The application tracks investments across multiple accounts and asset types. Performance analytics include true time-weighted and money-weighted returns with benchmark comparison and historical analysis. Goal planning allows setting and tracking financial goals with allocation management. The README does not list every supported CSV format for import, so verifying that your broker's export format is compatible before committing to the tool is advisable. Multi-currency support includes exchange rate management, which handles portfolios that hold assets denominated in different currencies without requiring manual rate entry. The pnpm workspace structure separates the frontend application at apps/frontend from the Rust binaries in the apps/ directory and from shared crates, so a developer building only the web frontend does not need a full Rust toolchain for that step.

The Addon System and Wealthfolio Connect

Wealthfolio 3.7 introduced an addon system that allows developers to extend the application with custom pages, navigation items, and components. Addons use a TypeScript SDK with full type safety and hot reload. They have access to accounts, holdings, activities, and market data, and they can store API keys in a secrets management system. Addon assets including images, fonts, and WebAssembly modules are packaged for an isolated sandbox. Official addons maintained by the project and community addons are available in a separate repository at github.com/wealthfolio/wealthfolio-addons. Wealthfolio Connect is the optional paid service for automatic brokerage synchronization with over 30 institutions. The README describes it as read-only sync with no trading capability. The Connect configuration is baked into the JS bundle and the Rust binary at build time via environment variables, and the source build documentation at docs/connect-source-builds.md covers this for developers who want to build with Connect support.

Platform Requirements and Limitations

Wealthfolio 3.7 and later require macOS 12 or newer on the desktop and iOS 16 or iPadOS 16 on mobile. The README notes that macOS 12 installations should apply current macOS and Safari updates because the system WKWebView must meet a Safari 16 browser floor. Windows uses the evergreen WebView2 runtime. Linux and self-hosted Docker installations should keep WebKitGTK or the browser runtime updated. The AGPL-3.0 licence applies to the application, which means that modifications to the source code that are distributed or used in a network service must be made available under the same licence. The README does not document a Windows minimum version requirement beyond the WebView2 runtime. Android is not in the list of supported platforms in the README, despite the repository containing android-testing documentation, suggesting Android support is under development rather than complete.

Wealthfolio versus Ghostfolio

Ghostfolio is another open-source portfolio tracker. It is a web-first application designed for self-hosting as a server-side service, where multiple users can share an instance. Wealthfolio is a desktop-first application where data stays on a single device by default. The practical difference is deployment model: Ghostfolio suits households or small groups who want shared access from multiple devices through a browser, while Wealthfolio suits an individual investor who wants a native application running locally. Both are open-source. The README mentions Ghostfolio in the context of user searches comparing the two. Wealthfolio adds the optional Connect service for brokerage sync and the addon system as differentiators, while its AGPL licence is a factor for developers who plan to build derivative products. The Wealthfolio project publishes releases frequently: versions v3.9.0 and v3.9.1 were both released within the same week in late September 2026, which indicates rapid iteration on the current release cycle.

Editorial conclusion

Wealthfolio suits investors who want open-source portfolio tracking where data never leaves their device. It is not the right tool for teams that need a shared cloud portfolio or for users who require brokerage auto-sync without the optional Connect subscription. Before installing, verify that your operating system meets the platform floor: macOS 12 or newer for desktop, iOS 16 or newer for the iPhone app. For the self-hosted Docker build, generate a WF_SECRET_KEY with openssl rand -base64 32 before starting the container.

Frequently asked questions

How do I use Wealthfolio?

Download the pre-built binary for your platform from wealthfolio.app/download and install it. The application launches without requiring an account or internet connection. Add your accounts and start entering activities manually, or use CSV import if your broker provides export files.

Is Wealthfolio safe?

Wealthfolio stores all data locally on your device in a SQLite database. No financial data is sent to external servers unless you subscribe to Wealthfolio Connect for brokerage sync. The Rust workspace configuration forbids unsafe code, and optional database encryption via SQLCipher is available for the self-hosted Docker deployment.

Is Wealthfolio free?

The core application is free and open-source under the AGPL-3.0 licence. Manual tracking and CSV import are free indefinitely. Wealthfolio Connect, the optional subscription for automatic brokerage synchronization with over 30 institutions, is a paid add-on.

How does Wealthfolio compare to Ghostfolio?

Wealthfolio is a desktop-first application where data lives on a single device by default, with an optional iOS app and Docker web version. Ghostfolio is a web-first server application designed for multi-user self-hosting via a browser. Wealthfolio suits individual investors who want local data ownership; Ghostfolio suits users who want shared access across multiple devices through a central server.

Official sources

  1. License: AGPL-3.0
  2. Project website
  3. README
  4. Releases
  5. wealthfolio/wealthfolio on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/wealthfolio-wealthfolio.svg)](https://hysenlabs.com/projects/wealthfolio-wealthfolio)