https://github.com/guillevc/satfolio
Local-only Bitcoin portfolio tracker. Import Kraken/Coinbase exports, see your break-even price and P&L.
https://github.com/guillevc/satfolio
Last synced: 2 months ago
JSON representation
Local-only Bitcoin portfolio tracker. Import Kraken/Coinbase exports, see your break-even price and P&L.
- Host: GitHub
- URL: https://github.com/guillevc/satfolio
- Owner: guillevc
- License: gpl-3.0
- Created: 2026-03-15T19:43:55.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2026-03-16T23:49:55.000Z (3 months ago)
- Last Synced: 2026-03-17T04:19:03.975Z (3 months ago)
- Language: Rust
- Homepage:
- Size: 2.67 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Satfolio
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.

## Features
- **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).
## Install
Download the latest release from the [Releases](https://github.com/guillevc/satfolio/releases) page.
| Platform | File |
| --------------------- | -------------------------------- |
| macOS (Apple Silicon) | `Satfolio__aarch64.dmg` |
| macOS (Intel) | `Satfolio__x64.dmg` |
| Linux (x64) | `.deb`, `.rpm`, or `.AppImage` |
### macOS
> [!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](#security--trust).
1. Open the `.dmg` and drag Satfolio to **Applications**
2. Try to open Satfolio — macOS will show a warning and block it
3. Open **System Settings → Privacy & Security**
4. Under Security, click **Open Anyway**
5. Enter your login password and click **OK**
This is only needed once — after that, Satfolio opens normally. See [Apple's support page](https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unknown-developer-mh40616/mac) for more details.
Alternatively, run this in Terminal:
```sh
xattr -d com.apple.quarantine /Applications/Satfolio.app
```
## Security & trust
This 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](https://www.sigstore.dev).
Each binary has a [build provenance attestation](https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations) so you can verify exactly how it was built.
```sh
# verify your download matches the checksum shown in the release assets
shasum -a 256
# verify the binary was built from this repo's source code (requires GitHub CLI)
gh attestation verify --owner guillevc
```
## Build from source
```sh
git 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 app
```
Requires [mise](https://mise.jdx.dev) (or manually: just, Rust, Node.js, pnpm) and [Tauri 2 prerequisites](https://v2.tauri.app/start/prerequisites/).
## Development
After cloning and running `mise install` and `just install` (see [Build from source](#build-from-source)):
```sh
just dev # run in development mode
just check # typecheck + lint + format check
just test # run all tests
```
Run `just` to see all available recipes.
## Support
If you find Satfolio useful, consider supporting its development:
**Bitcoin:**
Lightning
guille@guillevc.dev
On-chain
bc1q3hvgvmw9qpqvl0z6r9uqdz3v5405xdgwt44pgq
## License
[AGPL-3.0](LICENSE)