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.
Special thanks to @dennysubke for helping bring BTC Tracker to Umbrel!
Install BTC Tracker with one click on your Umbrel home server
- 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
- 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
- Savings goals - Set BTC targets and track progress
- DCA calculator - Plan future purchases with backtesting
- Recurring transactions - Auto-log your DCA purchases
- 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
- 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
Main portfolio dashboard with real-time Bitcoin tracking
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 -dLocal development:
npm install
cp .env.example .env
# Add NEXTAUTH_SECRET to .env
npm run dev # Migrations run automaticallyWindows 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).
- 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
- Create/delete user accounts
- Activate/deactivate users
- View system stats (user count, total transactions)
- Cannot see other users' financial data (privacy protection)
- Export CSV from your exchange (Kraken, Binance, Coinbase, Strike)
- Go to Transactions tab > Import
- Drop the CSV file - format detected automatically
- Review and import
Supports most major exchanges. If yours isn't supported, open an issue with example file.
- Frontend: Next.js, React, TypeScript, shadcn/ui
- Backend: Next.js API routes, Prisma ORM
- Database: SQLite (single file, easy backups)
- Deployment: Docker
npm run dev # Start dev server
npm run build # Build for production
npm test # Run tests
npm exec prisma studio # Database GUIExisting 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.
- Docker (recommended) or Node.js 18+
- ~100MB disk space for the app
- SQLite database (included, single file)
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.dbTo restore, copy the file back and restart the app.
- Discord - Chat with other users and get help
- GitHub Discussions - Ask questions, share ideas
- Issue Tracker - Report bugs, request features
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.
MIT - do what you want with it.
Your Bitcoin data belongs to you, not someone else's.