Sats Stack

Local-first Bitcoin-native personal finance — no cloud, no accounts, no tracking.

Flutter
Dart
Bitcoin
Local-First
Sats Stack screenshot

Overview

Sats Stack is a cross-platform Flutter app that tracks fiat spending and a Bitcoin stack in the same place. Every transaction, budget and wallet balance lives in a local SQLite database on the device. There are no accounts to create and nothing is uploaded.

The framing is what separates it from an ordinary budgeting app. Alongside income, spending and category budgets, it surfaces a "fiat leak rate" and an inflation cost, and prices each spending category in sats — so a purchase reads as an opportunity cost against the stack rather than just a line item.

Wallets are imported read-only via xpub and synced through Mempool.space. Point the app at a self-hosted Mempool or Esplora node and every wallet sync and price lookup routes through it instead, with an in-app banner showing exactly which servers are being contacted.

What it does

CSV import with auto-categorisation

Imports bank statements with automatic format detection and category assignment, recording the historical BTC price at the time of each transaction.

Read-only xpub wallet sync

Imports BIP44/49/84 extended public keys and syncs balances and history through a Mempool.space Esplora endpoint. It never holds keys and cannot spend.

Fiat leak rate dashboard

Monthly income, spending and surplus alongside inflation cost, with a per-wallet breakdown when several wallets are active.

Budgets priced in opportunity cost

Per-category monthly budgets that also show what each category cost in sats, warning at 80% and alerting past 100%.

Stack chart and DCA simulator

Plots cumulative sats over 1M/3M/6M/1Y/All ranges and models future growth against a savings goal with a projected completion date.

Self-hosted node routing

Configuring a custom Mempool or Esplora server routes all wallet sync and price data exclusively through it, contacting no third-party servers.

Local AI insights

Generates a monthly spending insight and offers a chat screen against a locally running Ollama model on desktop.

Analytics and full data export

Spending pie charts, a six-month income-vs-spending trend, year-to-date summary, CSV export, and SQLite database export and import.

Screenshots

The dashboard — stack total, surplus, leak rate and inflation cost.
Feature breakdown from satsstack.app.
Self-hosting guide — run the whole stack on your own node.

Under the hood

Framework
Flutter (Dart SDK ≥ 3.7)
Database
Drift 2.23 — type-safe reactive SQLite
Charts
fl_chart 0.71
Routing
go_router 16
Bitcoin crypto
pointycastle 4.0, bs58check, bech32
Data sources
Mempool.space Esplora, CoinGecko price fallback
AI
Ollama over HTTP, local or self-hosted
Platforms
macOS, Windows, Linux, iOS, Android
Licence
GPL-3.0

Status

The app is feature-complete and has a full marketing site, but there is no published build yet — no GitHub release and no store listing. Running it today means building from source.

Licensed GPL-3.0. Wallet import is read-only: Sats Stack is not a wallet, holds no keys and cannot spend. By default it contacts mempool.space and CoinGecko; the zero-third-party claim holds once a self-hosted Esplora server is configured.