Skip to content

wilqq-the/BTC-Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bffd293 · Mar 8, 2026

History

265 Commits
Mar 8, 2026
Mar 8, 2026
Mar 8, 2026
Feb 25, 2026
Feb 25, 2026
Dec 8, 2025
Mar 8, 2026
Mar 8, 2026
Dec 12, 2025
Sep 15, 2025
Jul 1, 2025
Jul 1, 2025
Feb 23, 2026
Mar 8, 2026
Feb 23, 2026
Mar 8, 2026
Feb 23, 2026
Dec 13, 2025
Mar 8, 2026
Feb 25, 2026
Dec 3, 2025
Feb 23, 2026
Sep 18, 2025
Mar 8, 2026
Feb 23, 2026
Nov 30, 2025
Mar 6, 2026
Mar 8, 2026
Nov 30, 2025
Dec 3, 2025
Nov 30, 2025

Repository files navigation

BTC Tracker

Docker Pulls Docker Image Size GitHub Stars License Discord Buy Me A Coffee Lightning

Self-hosted Bitcoin portfolio tracker - that's it.

If you find BTC Tracker useful, please consider giving it a star

Track your Bitcoin investments privately on your own PC. Import transactions from exchanges or add them manually. Multi-user support with admin controls. Your data never leaves your server, period.

Install on Umbrel

Available on Umbrel App Store

Special thanks to @dennysubke for helping bring BTC Tracker to Umbrel!

Install BTC Tracker with one click on your Umbrel home server

Features

Portfolio Tracking

  • Live price updates - Automatic price fetching with real-time P&L calculations
  • Transaction history - Buy, sell, and transfer transactions with full history
  • Hot/cold distribution - Track your storage distribution across wallets
  • Multi-currency support - USD, EUR, GBP, PLN, or add your own custom currencies

Analytics & Insights

  • Performance tracking - See your gains across different timeframes (24h, 7d, 30d, 1y, all-time)
  • DCA analysis - Understand your dollar-cost averaging performance
  • Interactive charts - Price charts with your transaction markers
  • Monthly summaries - Track your accumulation month by month

Planning Tools

  • Savings goals - Set BTC targets and track progress
  • DCA calculator - Plan future purchases with backtesting
  • Recurring transactions - Auto-log your DCA purchases

Customizable Dashboard

  • Drag & drop widgets - Arrange your dashboard your way
  • Show/hide widgets - Only see what matters to you
  • Multiple widget types - Chart, portfolio, transactions, goals, DCA analysis, and more

Privacy & Control

  • 100% self-hosted - Your data never leaves your server
  • Multi-user support - First user becomes admin, create accounts for family
  • Easy import - Auto-detect CSV format from Kraken, Binance, Coinbase, Strike
  • Simple backup - Single SQLite file, easy to backup and restore

Screenshots

Dashboard Main portfolio dashboard with real-time Bitcoin tracking

Transactions - Import and management

Transactions Transaction management and CSV import from exchanges

Analytics - Charts and performance

Analytics Advanced portfolio analytics and performance charts

DCA Analysis - Performance breakdown

Analysis DCA performance analysis and statistics

Goals - Savings targets

Goals Set and track your Bitcoin savings goals

Auto DCA - Recurring transactions

Auto DCA Automated recurring transaction scheduling

Admin Panel - Multi-user management

Admin Panel Multi-user management interface (admin only)

Currencies - Multi-currency support

Currencies Multi-currency support and custom currency management

Quick Start

With Docker (recommended):

git clone https://github.com/wilqq-the/BTC-Tracker.git
cd BTC-Tracker
cp docker.env.example .env
# Edit .env and add NEXTAUTH_SECRET
docker-compose up -d

Local development:

npm install
cp .env.example .env
# Add NEXTAUTH_SECRET to .env
npm run dev  # Migrations run automatically

Windows Desktop App (Beta):

Download the installer from the latest release — no Docker or browser required. Everything runs locally on your machine.

Open app and register the first user (becomes admin automatically).

How multi-user works

  • First user = automatic admin
  • Admin panel in Settings tab (admin users only)
  • Create users with email/password
  • Each user sees only their own transactions and portfolio
  • No data mixing between users

Admin features

  • Create/delete user accounts
  • Activate/deactivate users
  • View system stats (user count, total transactions)
  • Cannot see other users' financial data (privacy protection)

Importing transactions

  1. Export CSV from your exchange (Kraken, Binance, Coinbase, Strike)
  2. Go to Transactions tab > Import
  3. Drop the CSV file - format detected automatically
  4. Review and import

Supports most major exchanges. If yours isn't supported, open an issue with example file.

Tech stack

  • Frontend: Next.js, React, TypeScript, shadcn/ui
  • Backend: Next.js API routes, Prisma ORM
  • Database: SQLite (single file, easy backups)
  • Deployment: Docker

Development

npm run dev      # Start dev server
npm run build    # Build for production
npm test         # Run tests
npm exec prisma studio # Database GUI

Why I built this?

Existing portfolio trackers either:

  • Send your data to third parties
  • Don't support multiple users
  • Have terrible import systems
  • Cost money for basic features
  • Require xpub or zpub wallet address

This gives you complete control over your Bitcoin tracking data.

Requirements

  • Docker (recommended) or Node.js 18+
  • ~100MB disk space for the app
  • SQLite database (included, single file)

Backup & Restore

Your data lives in a single SQLite file. To backup:

# Docker
docker cp btc-tracker:/app/prisma/dev.db ./backup.db

# Local
cp prisma/dev.db ./backup.db

To restore, copy the file back and restart the app.

Community

Contributing

Found a bug? Want a feature? Open an issue.

Want to add support for another exchange? Check the Parser Development Guide.

Want to automate transactions via n8n or scripts? Check the API Documentation.

License

MIT - do what you want with it.


Your Bitcoin data belongs to you, not someone else's.