Crypto Market

Cryptocurrency market data and price alert monitoring tool based on CCXT. Supports multiple exchanges, real-time price tracking, and configurable price/volatility alerts. Use when the user needs to monitor crypto prices or set up trading alerts. Default exchange is Binance.

Audits

Pass

Install

openclaw skills install crypto

Cryptocurrency Market & Price Alerts

A cryptocurrency market data fetching and price monitoring tool based on the CCXT library. It supports multiple exchanges, real-time monitoring, and smart alerts.

Features

  • 🏢 Multi-Exchange Support - Defaults to Binance. Also supports OKX, Bybit, Gate.io, KuCoin, etc.
  • 📊 Real-time Market Data - Get the latest prices, price changes, volumes, and more.
  • 📈 OHLCV Data (Candlesticks) - Fetch historical price trends.
  • 📖 Order Book - View market depth (bids and asks).
  • 🔔 Price Alerts - Supports price thresholds and percentage change alerts.
  • 👁️ Live Monitoring - Continuously monitor price movements.

Prerequisites

Install Dependencies

pip3 install ccxt --user

Usage

Check Real-Time Prices

# Default (Binance)
python3 scripts/crypto.py ticker BTC/USDT

# Use other exchanges
python3 scripts/crypto.py -e okx ticker ETH/USDT
python3 scripts/crypto.py -e bybit ticker BTC/USDT

Supported Exchanges:

  • binance - Binance (Default)
  • okx - OKX
  • bybit - Bybit
  • gateio - Gate.io
  • kucoin - KuCoin
  • huobi - Huobi
  • coinbase - Coinbase
  • kraken - Kraken
  • bitfinex - Bitfinex

Get OHLCV (Candlestick) Data

# Get 1-hour candles, last 24 periods
python3 scripts/crypto.py ohlcv BTC/USDT --timeframe 1h --limit 24

# Get daily candles, last 30 periods
python3 scripts/crypto.py ohlcv ETH/USDT --timeframe 1d --limit 30

Timeframes:

  • 1m - 1 minute
  • 5m - 5 minutes
  • 15m - 15 minutes
  • 1h - 1 hour
  • 4h - 4 hours
  • 1d - 1 day
  • 1w - 1 week
  • 1M - 1 month

View Order Book

python3 scripts/crypto.py orderbook BTC/USDT --limit 10

Live Price Monitoring

# Refresh every 10 seconds (default)
python3 scripts/crypto.py watch BTC/USDT

# Refresh every 5 seconds
python3 scripts/crypto.py watch ETH/USDT --interval 5

Price Alerts

Add Alerts

Price Threshold Alerts:

# Alert when BTC price breaks above 70000 USDT
python3 scripts/crypto.py alert-add BTC/USDT above 70000

# Alert when ETH price drops below 3000 USDT
python3 scripts/crypto.py alert-add ETH/USDT below 3000

Percentage Change Alerts:

# Alert when BTC rises more than 5%
python3 scripts/crypto.py alert-add BTC/USDT up_percent 5

# Alert when ETH drops more than 3%
python3 scripts/crypto.py alert-add ETH/USDT down_percent 3

View Alert List

python3 scripts/crypto.py alert-list

Example Output:

🔔 Price Alerts (3):

ID                        Pair            Exchange     Condition                 Status
------------------------------------------------------------------------------------------
BTC/USDT_1706941200       BTC/USDT        binance      Price > 70000             ⏳Monitoring
ETH/USDT_1706941300       ETH/USDT        okx          Price < 3000              ⏳Monitoring
BTC/USDT_1706941400       BTC/USDT        binance      Rise > 5%                 ⏳Monitoring

Check Alerts

# Manually check all alert conditions
python3 scripts/crypto.py alert-check

When a condition is triggered, it shows:

⚠️  Triggered 1 alert:

  🚀 BTC/USDT rose by 5.23%, current price: 71234.56
  Alert ID: BTC/USDT_1706941400

Remove Alerts

python3 scripts/crypto.py alert-remove BTC/USDT_1706941200

Command Reference

CommandFunctionExample
tickerReal-time pricesticker BTC/USDT
ohlcvCandlestick dataohlcv BTC/USDT --timeframe 1h
orderbookOrder bookorderbook BTC/USDT
watchLive monitoringwatch BTC/USDT --interval 5
alert-addAdd an alertalert-add BTC/USDT above 70000
alert-removeRemove an alertalert-remove ID
alert-listList alertsalert-list
alert-checkCheck alertsalert-check

Global Arguments

ArgumentShortDescriptionDefault
--exchange-eExchange namebinance
--timeframe-tCandlestick timeframe1h
--limit-lData limit (count)24
--interval-iRefresh interval (sec)10

Alert Conditions

ConditionDescriptionExample
abovePrice goes above thresholdabove 70000
belowPrice drops below thresholdbelow 3000
up_percentPrice rises by %up_percent 5
down_percentPrice drops by %down_percent 3

Use Cases

Scenario 1: Tracking specific price targets

# Alert when BTC breaks previous high
python3 scripts/crypto.py alert-add BTC/USDT above 69000

# Regularly check
python3 scripts/crypto.py alert-check

Scenario 2: Monitoring support/resistance levels

# ETH drops below key support
python3 scripts/crypto.py alert-add ETH/USDT below 2800

# BTC breaks resistance
python3 scripts/crypto.py alert-add BTC/USDT above 72000

Scenario 3: Volatility monitoring

# Monitor massive volatility
python3 scripts/crypto.py alert-add BTC/USDT up_percent 8
python3 scripts/crypto.py alert-add BTC/USDT down_percent 8

Scenario 4: Cross-exchange price comparison

# Check prices across different exchanges
python3 scripts/crypto.py -e binance ticker BTC/USDT
python3 scripts/crypto.py -e okx ticker BTC/USDT
python3 scripts/crypto.py -e bybit ticker BTC/USDT

Troubleshooting

Error: ccxt library not installed → Run: pip3 install ccxt --user

Error: Unsupported exchange → Check exchange spelling. Refer to the supported exchanges list.

Error: Trading pair does not exist → Check trading pair format, e.g., BTC/USDT, ETH/USDT.

Alert not triggering → Confirm alert conditions are correct. Run alert-check to check manually.

API Limits → Some exchanges have strict rate limits. Use --interval to adjust the refresh frequency.

Configuration File

Alert configurations are stored at: ~/.config/crypto/alerts.json

You can manually edit this file to batch manage your alerts.

References