explaingit

your-quantguy/crypto-portfolio-tracker-oss

25TypeScriptAudience · generalComplexity · 3/5LicenseSetup · moderate

TLDR

A self-hosted dashboard that pulls your cryptocurrency holdings from on-chain wallets and exchange accounts into one view, with encrypted API key storage, DeFi position tracking, and portfolio history charts.

Mindmap

mindmap
  root((crypto portfolio tracker))
    What It Does
      Aggregates crypto holdings
      Multi-source dashboard
      Portfolio history charts
    Data Sources
      On-chain wallets
      Centralized exchanges
      Manual entries
    Supported Networks
      Ethereum
      Solana
      Sui and Cosmos
    Tech Stack
      Python backend
      React frontend
      Docker Compose
    Features
      Encrypted API keys
      DeFi positions
      Local account system
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

See all your cryptocurrency holdings from Binance, MetaMask, and a Solana wallet in one self-hosted dashboard without sharing data with a third party.

USE CASE 2

Track your DeFi lending and liquidity pool positions alongside regular token balances using DeBank or CoinStats as data sources.

USE CASE 3

View a chart of how your total portfolio value has changed over time using locally stored balance history.

USE CASE 4

Connect exchange accounts with API keys stored encrypted in the local database, with no raw key values ever returned to the frontend.

Tech stack

TypeScriptPythonReactDockerSQLite

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Docker Compose and optional API keys from DeBank or CoinStats to fetch on-chain wallet and DeFi position data.

Use, modify, and share freely for any purpose including commercial projects, as long as you keep the copyright notice.

In plain English

Crypto Portfolio Tracker is a self-hosted dashboard for keeping track of your cryptocurrency holdings across multiple places at once. Instead of logging into several exchange accounts and wallet tools to check what you own, you connect them all here and see everything in one view. The project supports on-chain wallets on networks like Ethereum, Solana, Sui, and Cosmos, accounts on centralized exchanges like Binance, Bybit, OKX, and others, and manual entries for things you hold offline or in arrangements that have no API. For on-chain wallets, the app pulls data through third-party providers called DeBank and CoinStats, which can show not just token balances but also positions in lending protocols, liquidity pools, and staking. Exchange connections use API keys that you enter in the app's interface. Those keys are stored encrypted in the database, and the API never sends the actual key values back to the frontend, only a flag indicating whether a key exists. The app runs locally via Docker Compose, with a Python backend and a React frontend. SQLite is used by default for the database, though Postgres is supported if you prefer. Users create local accounts with a username and password, there is no email verification step and no external authentication service required. The self-hosted edition has no subscription or billing. Balance history is tracked over time so you can view charts of how your total portfolio value has changed. Setup requires copying an example environment file, adding a secret key used for encrypting stored credentials, and optionally adding API keys for the data providers you want to use. The app then starts at localhost on port 80. Forgotten passwords cannot be reset by email in the self-hosted edition, and would need to be handled directly in the database. The project is released under the MIT license and the interface is available in English and Chinese.

Copy-paste prompts

Prompt 1
Set up crypto-portfolio-tracker-oss with Docker Compose, configure the secret key for credential encryption, and connect my Binance account using an API key.
Prompt 2
Add my Ethereum wallet address and a Solana wallet to the crypto portfolio tracker and show me how DeFi protocol positions appear in the dashboard.
Prompt 3
Export my portfolio balance history from the crypto tracker's SQLite database into a CSV so I can analyze it in a spreadsheet.
Prompt 4
Configure the crypto-portfolio-tracker-oss to use Postgres instead of the default SQLite database and migrate the existing balance history data.
Prompt 5
Set up DeBank as the data provider for on-chain wallets in the crypto tracker and show me which DeFi position types it can track.
Open on GitHub → Explain another repo

← your-quantguy on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.