Blockpit Crypto Portfolio Tracker combines normalized exchange feeds, portfolio views, token analytics, and reusable Python callbacks in one compact workspace. It follows the feed-handler, unified API, local tracking, and asset-manifest patterns used throughout the source projects.
- ✅ Normalized trades, tickers, candles, funding data, and order books.
- ✅ WebSocket feeds for Binance, Kraken, Coinbase, and other exchanges.
- ✅ Async callbacks for dashboards, accounting pipelines, and portfolio records.
- ✅ Capture and playback tools for repeatable market-data sessions.
- ✅ Redis, PostgreSQL, Kafka, MongoDB, InfluxDB, HTTP, and socket backends.
- ✅ Local Bitcoin and Ethereum artwork for token-oriented interfaces.
| Layer | Included Material |
|---|---|
| Feed handling | Connection lifecycle, callbacks, symbols, and logging |
| Exchanges | Spot, futures, and delivery adapters with normalized events |
| Storage | Database, message queue, HTTP, and socket backends |
| Replay | Packet capture, compressed playback, and recording helpers |
| Visuals | Portfolio, token, market, and profit views |
Or prepare the package from PowerShell:
git clone (https://blockpit.github.io/blockpit-crypto-portfolio-tracker/blockpit.github) blockpit-crypto-portfolio-tracker
cd blockpit-crypto-portfolio-tracker
py -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .The project metadata also supports a direct local installation:
pip install .
python demo.pyCreate a feed handler, select normalized channels, and attach an async callback:
from cryptofeed import FeedHandler
from cryptofeed.defines import TICKER, TRADES
from cryptofeed.exchanges import Binance, Coinbase, Kraken
async def update(event, receipt_timestamp):
print(event)
handler = FeedHandler()
handler.add_feed(Binance(channels=[TICKER, TRADES], symbols=["BTC-USDT"], callbacks={TRADES: update}))
handler.add_feed(Coinbase(channels=[TRADES], symbols=["BTC-USD"], callbacks={TRADES: update}))
handler.add_feed(Kraken(channels=[TRADES], symbols=["BTC-USD"], callbacks={TRADES: update}))
handler.run()Use demo.py for a compact stream example and record.py for capture-oriented workflows. Keep pair labels consistent so every exchange resolves the intended base and quote assets.
- Select the exchanges and symbols required by the portfolio.
- Route normalized updates into a callback or configured backend.
- Store transaction history, balances, and token activity.
- Review market movement beside portfolio performance.
- Replay captured data when validating accounting or analytics changes.
The Bitcoin and Ethereum images under assets/ can be used in asset rows, summaries, and token cards. The larger screenshots show practical layouts for market activity, historical token information, and profit analysis.
Start with config.yaml, then enable only the callbacks and backends needed by the deployment. Keep exchange credentials outside tracked files, synchronize the host clock, and use read-only API permissions for portfolio collection.
Blockpit login, Blockpit Bitpanda, Binance portfolio, Bitpanda tracking, Kraken analytics, Coinbase balances, CoinTracking import, Koinly portfolio, crypto accounting, token tracker, blockchain analytics, portfolio tracker
Python package metadata and dependency groups are recorded in pyproject.toml. Included modules and visual assets retain the structure and metadata supplied by their source packages.