Know exactly where you stand with your Bitcoin. Import trades from Kraken or Coinbase and see your break-even price, P&L, and total position — calculated and stored locally on your machine, no accounts or cloud required.
- Import trades from Kraken and Coinbase CSV exports — re-import safely without duplicates
- Dashboard showing current BTC price, break-even price, total holdings, and unrealized P&L
- Price chart with daily prices, break-even line, and trade markers
- Trade history table with running break-even price and realized P&L per trade
- Multi-currency — supports EUR, USD, and GBP, formatted for your locale
- Auto-update — get notified when a new version is available and install it without leaving the app
- Private by default — no accounts, no analytics, no telemetry. Your data never leaves your machine. The app connects to the internet for two things only: live BTC price (Kraken public API) and update checks (GitHub Releases).
Download the latest release from the Releases page.
| Platform | File |
|---|---|
| macOS (Apple Silicon) | Satfolio_<version>_aarch64.dmg |
| macOS (Intel) | Satfolio_<version>_x64.dmg |
| Linux (x64) | .deb, .rpm, or .AppImage |
Note
macOS shows a warning because Satfolio isn't signed through Apple's paid developer program. The app is open source and every release is verifiably built from this repo — see Security & trust.
- Open the
.dmgand drag Satfolio to Applications - Try to open Satfolio — macOS will show a warning and block it
- Open System Settings → Privacy & Security
- Under Security, click Open Anyway
- Enter your login password and click OK
This is only needed once — after that, Satfolio opens normally. See Apple's support page for more details.
Alternatively, run this in Terminal:
xattr -d com.apple.quarantine /Applications/Satfolio.appThis project is free and open source. Apple's Developer Program costs 99€/year, so instead of paying for a code signature, every release is built transparently in public CI and cryptographically signed via Sigstore.
Each binary has a build provenance attestation so you can verify exactly how it was built.
# verify your download matches the checksum shown in the release assets
shasum -a 256 <filename>
# verify the binary was built from this repo's source code (requires GitHub CLI)
gh attestation verify <filename> --owner guillevcgit clone https://github.com/guillevc/satfolio.git
cd satfolio
mise install # install toolchain (node, pnpm, rust, just)
just install # install frontend dependencies
just build # build the Tauri appRequires mise (or manually: just, Rust, Node.js, pnpm) and Tauri 2 prerequisites.
After cloning and running mise install and just install (see Build from source):
just dev # run in development mode
just check # typecheck + lint + format check
just test # run all testsRun just to see all available recipes.
If you find Satfolio useful, consider supporting its development:
Bitcoin:
Lightningguille@guillevc.dev |
On-chainbc1q3hvgvmw9qpqvl0z6r9uqdz3v5405xdgwt44pgq |
