Skip to content

About

Real-time cryptocurrency price monitoring and alert system with CLI & web dashboard

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

Crypto Price Alert System

A cryptocurrency price monitoring tool that sends you alerts when prices hit your target levels. Built this to track my portfolio without constantly checking exchanges.

What it does

Monitors crypto prices in real-time and notifies you when conditions are met. You can set alerts like "tell me when Bitcoin drops below $50k" or "notify me if Ethereum increases 10% in an hour".

Features

  • Real-time price tracking from CoinGecko API
  • Threshold alerts (above/below specific prices)
  • Percentage change alerts (track % movements)
  • Desktop notifications, email, and webhooks
  • Command-line interface and web dashboard
  • Alert history to see what triggered
  • JSON file storage (no database needed)

Setup

Requirements

  • Node.js 18 or higher
  • npm (comes with Node.js)

Installation

npm install
npm run build

Quick Start

Create an alert via CLI:

npm run cli create-alert -- --crypto bitcoin --condition below --threshold 50000 --channel desktop

List your alerts:

npm run cli list-alerts

Start monitoring:

npm run cli start-monitor

Or use the web interface:

npm run dev
# Open http://localhost:3000

Usage Examples

Alert when Bitcoin drops below $50k:

npm run cli create-alert -- --crypto bitcoin --condition below --threshold 50000 --channel desktop

Alert when Ethereum rises above $3k:

npm run cli create-alert -- --crypto ethereum --condition above --threshold 3000 --channel desktop

Alert on 10% increase in last hour:

npm run cli create-alert -- --crypto cardano --condition increase --threshold 10 --time-window 3600 --channel desktop

Configuration

Optional: Create data/config.json to customize settings:

{
  "monitoringIntervalSeconds": 60,
  "supportedCryptocurrencies": ["bitcoin", "ethereum", "cardano", "solana"],
  "smtpConfig": {
    "host": "smtp.gmail.com",
    "port": 587,
    "username": "your-email@gmail.com",
    "password": "your-app-password"
  }
}

Project Structure

src/
├── cache/          # Price caching
├── config/         # Configuration
├── evaluator/      # Alert logic
├── fetcher/        # API calls
├── manager/        # Alert CRUD
├── monitor/        # Main monitoring loop
├── notification/   # Notification handlers
├── storage/        # Data persistence
├── cli.ts          # CLI interface
└── server.ts       # Web server

Tech Stack

  • TypeScript
  • Node.js
  • Express (web server)
  • CoinGecko API (price data)
  • Commander.js (CLI)

Testing

npm test

Known Issues

  • Desktop notifications might not work on some Linux distros (need libnotify-bin)
  • Email requires SMTP configuration
  • Rate limited to CoinGecko's free tier (50 calls/minute)

Future Ideas

  • Add more exchanges
  • Mobile app
  • Price charts
  • Portfolio tracking
  • Telegram bot integration

License

MIT

About

Real-time cryptocurrency price monitoring and alert system with CLI & web dashboard

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages