shieldstack
v0.1.4
Published
CLI tool for ZEC/BTC portfolio tracking with goal-based scenario analysis
Maintainers
Readme
Shieldstack
A CLI tool for ZEC/BTC portfolio tracking with goal-based scenario analysis. Built by and for the Zcash community. Track your holdings, visualize progress toward goals (in BTC, ZEC, and/or USD), analyze the ZEC/BTC ratio against historical averages, and run "what if" scenarios.
Installation
npm install -g shieldstackRequires Node.js 18 or later.
Quick Start
# Set up your holdings
shieldstack update
# View your dashboard
shieldstack
# Set goals interactively
shieldstack goal
# Or set goals directly:
# Holdings goals: "I want to own X units"
shieldstack goal holdings zec 10
# Value goals: "I want portfolio worth X"
shieldstack goal value btc 0.1
# Shorthand (defaults to value goal)
shieldstack goal btc 0.1
# List and manage goals
shieldstack goal list
shieldstack goal clear 1Commands
shieldstack (default)
Displays the main dashboard with:
- Current holdings and values
- Total portfolio in BTC terms
- Progress bar to goal
- Allocation breakdown (% in ZEC/BTC/USD)
- ZEC/BTC ratio vs 30-day average
- Scenario projections
- Breakeven calculation
shieldstack update
Interactive prompts to update your ZEC, BTC, and USD amounts.
shieldstack goal
Manage your goals. Two types of goals are supported:
- Holdings goals: "I want to own X units" - tracks actual asset holdings
- Value goals: "I want portfolio worth X" - tracks total portfolio value
shieldstack goal # Interactive wizard (or list if non-TTY)
shieldstack goal list # List all goals with IDs
shieldstack goal holdings zec 10 # Set holdings goal: own 10 ZEC
shieldstack goal value btc 0.1 # Set value goal: portfolio ≥ 0.1 BTC
shieldstack goal btc 0.1 # Shorthand for value goal
shieldstack goal clear <id> # Remove goal by IDPrivacy & Security
- No telemetry. Only external call is to CoinGecko for price data (they see your IP, not your holdings).
- Local storage. Holdings stored in plaintext at
~/.shieldstack/. No private keys stored, but amounts are visible to anyone with file access. - Exclude from cloud backup if concerned about privacy.
Technical Decisions
Decimal precision: Uses decimal.js for all financial calculations to avoid JavaScript float precision issues.
Single API source: Uses CoinGecko for price data. Offline caching handles short outages.
Storage format: Plain JSON files for easy inspection and backup.
Data Attribution
Price data provided by CoinGecko. See their API terms.
Uses CoinGecko public API. Rate limits vary (5-30 calls/min). Prices are cached for 5 minutes.
Disclaimer
This tool is for informational purposes only and does not constitute financial advice. Cryptocurrency investments carry risk. Always do your own research. Prices sourced from CoinGecko - actual exchange rates may vary.
License
MIT
