Open Net Worth
Open Net Worth is an open-source personal AI wealth assistant you run yourself: one ledger for your whole financial life, worked by an AI agent you control.
Private, self-hostable Bitcoin budgeting with AI-powered financial analysis. No accounts. No data collection. Your stack, your rules.
FinanceGitHub @SpencerSmithSiteOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
An AI powered, local, private, Bitcoin-based personal financial application
Translation pending
Loading the full README.
Read the full README ↗A local-first, Bitcoin-native personal finance app built with Flutter. No cloud. No accounts. No tracking.
Track your fiat spending and your Bitcoin stack in the same place — understand what you're spending, what you're saving, and how much you're losing to inflation.
There is no Sats Stack account and no Sats Stack server. Your records are stored on your device in a SQLite database via Drift. The app does not encrypt that database itself; it relies on your device's storage encryption (on by default on iOS and Android, FileVault on a Mac).
What leaves the device, and when:
Pick one provider in Settings or during onboarding:
| Concern | Package |
|---|---|
| Database | Drift (SQLite, type-safe, reactive) |
| Navigation | go_router 16.x |
| Charts | fl_chart |
| Bitcoin crypto | pointycastle, bs58check, bech32 |
| Notifications | flutter_local_notifications |
| File I/O | file_picker, path_provider |
No state management library (Provider/Riverpod/Bloc) — services are plain Dart singletons initialized at startup, with ValueNotifier for reactive UI updates.
.github/workflows/ci.yml)# macOS
flutter run -d macos
# iOS simulator
flutter run -d "iPhone 16e"
# List available devices
flutter devices
dart run build_runner build --delete-conflicting-outputs
The minimum is iOS 15, set in the Xcode project — the lowest the current Xcode supports.
A checkout from before CocoaPods was removed may still have ios/Pods or
macos/Pods folders; they are ignored and can be deleted.
On 2026-10-20 the macOS bundle id changed from the template's
com.satsstack.satsStack to app.satsstack.SatsStack, matching iOS. The app
is sandboxed, so a build with the new id opens a new, empty container: your
existing data is still there, under the old id, untouched. To bring it across:
If you no longer have an old build, quit the app and copy the file by hand:
This is the beginning of the README. Read the rest at the original. Read the full README ↗