Skip to content

vdo/bags

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bags ⚉

CI Release

A crypto price and portfolio tracker for the terminal.

demo

Features

  • Three tabs -- Markets (top 50), Favourites, Portfolio
  • Encrypted storage -- SQLCipher-encrypted local database, password unlock on launch
  • Privacy lock -- Auto-locks UI and DB after configurable minutes of inactivity (off/1/5/10/15/30)
  • Price charts -- Sparkline graphs with 1D/7D/30D views, supply info, active alerts
  • Portfolio tracking -- Add holdings, see total value, P&L and % gain per coin
  • Profit & loss -- Auto-records buy price on first add; override with b
  • Price alerts -- Set target price above/below; terminal bell + row flash on trigger
  • Global market stats -- Total market cap, BTC dominance, Fear & Greed index in the top bar
  • Sort columns -- Press s then a column key to sort by price, 24h%, mcap, etc.
  • Filter -- Press / to fuzzy-filter coins by name or ticker in real time
  • Mouse support -- Click rows, scroll wheel, click tabs
  • 24h range -- High/low columns in the table
  • Currency in headers -- Price column shows active currency, e.g. Price(USD)
  • Notifications -- Desktop (notify-rust) and/or push (ntfy.sh), configurable in settings
  • Custom coins -- Search and add any coin from CoinGecko
  • API key support -- Optional CoinGecko Pro / CoinMarketCap keys
  • Multi-currency -- USD, EUR, GBP, JPY, AUD, CAD, CHF, CNY, KRW, INR, BRL, BTC, ETH
  • 11 color themes -- Dark, dark-blue, dark-green, light, bubblegum, no-color, ...
  • Configurable refresh -- Default 60s, minimum 30s
  • Error logging -- Errors logged to ~/.config/bags/errors.log with timestamps
  • All data stays local -- Nothing leaves your machine

Install

cargo install --path .

Requires Rust toolchain. SQLCipher is bundled automatically.

Usage

bags

First run prompts you to set a password. Subsequent runs unlock with that password.

Keybindings

Key Action
j / k Scroll up/down
PgUp / PgDn Page up/down
g / G Jump to top/bottom
Tab / 1 2 3 Switch tabs
Enter Coin detail + chart
h / l Cycle chart view (1D/7D/30D)
f Toggle favourite
a Add/edit holding amount
d Remove holding
b Edit buy-in price (Portfolio)
A Set price alert on selected coin
/ Filter coins by name/ticker
s Sort by column (then r/n/p/1/2/7/v/m)
c Search & add custom coin
r Force refresh
S Settings
Esc Clear filter / close popup / quit
q Quit
Mouse Click rows, scroll wheel, click tabs

Config

~/.config/bags/config.yaml

refresh_interval_secs: 60
currency: usd
theme: dark
privacy_lock_minutes: 0   # 0 = off, or 1/5/10/15/30

Data

  • Database: ~/.local/share/bags/bags.db (SQLCipher encrypted)
  • Config: ~/.config/bags/config.yaml
  • Error log: ~/.config/bags/errors.log

Settings

Press S to open settings. Use j/k to navigate, h/l to cycle options, Enter to edit text fields, s to save.

  • Currency -- Cycle through 13 currencies
  • Theme -- Live preview while cycling through 11 themes
  • CoinGecko API Key -- Optional, for higher rate limits
  • CoinMarketCap API Key -- Optional
  • Notifications -- none / desktop / ntfy / both
  • Ntfy Topic -- Your ntfy.sh topic for push alerts
  • Privacy Lock -- Auto-lock after inactivity: off / 1 / 5 / 10 / 15 / 30 minutes

Acknowledgments

Inspired by cointop.


About

A crypto price and portfolio tracker for the terminal.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages