Skip to main content

Build a volume spike scanner with the Cryptohopper MCP

Learn how to build a crypto volume spike scanner with the Cryptohopper MCP — detect abnormal volume across your watchlist, tune thresholds, and deliver instant alerts.

Written by Isaac

Prerequisites

  • Cryptohopper MCP configured in an MCP client — see the setup overview.

  • The free Pioneer tier is sufficient for basic scanning on Binance, Coinbase, or Kraken — see subscription tiers.

  • A place to store a baseline: a local JSON file, a Google Sheet, or letting the agent recompute it each run.


Setup steps

  1. Decide on your universe

    Top-N by volume (top 100–200 pairs on one exchange) catches everything broadly. A watchlist of 20–50 specific pairs misses nothing on the pairs you actually care about.

  2. Issue the core scan prompt

    Using the Cryptohopper MCP, pull tickers for the top 100 pairs on Binance by 24h volume. For each pair, compare the current 24h volume to a baseline level (use the median 24h volume across the set as a rough proxy if I haven't given you a per-pair baseline).

    Flagging criteria:

    - Flag any pair where current volume is at least 3× its baseline.
    - Exclude pairs where current 24h volume is under $5m equivalent — these are too small to produce a useful signal.

    Output: Present as a markdown table, sorted by volume ratio descending. Include:

    - symbol
    - current 24h volume
    - baseline
    - ratio
    - last price
    - 24h price change %

  3. Review the first run

    The median-of-universe proxy works as a rough start but gives false positives on naturally-higher-volume pairs. Introduce a per-pair baseline for anything automated.

  4. Set up a per-pair baseline
    Maintain a rolling JSON file with the 7-day average volume per pair. The agent reads it before scanning and updates it after. For small watchlists (under ~20 pairs), pasting typical volumes directly into the prompt also works.

    {
    "BTC/USDT@binance": { "avg_volume_7d": 850000000, "last_updated": "2026-04-24T08:00:00Z" },
    "ETH/USDT@binance": { "avg_volume_7d": 420000000, "last_updated": "2026-04-24T08:00:00Z" },
    "SOL/USDT@binance": { "avg_volume_7d": 95000000, "last_updated": "2026-04-24T08:00:00Z" }
    }

  5. Tune the thresholds

    In calm markets, 2× baseline catches meaningful moves. In volatile markets, 3–4× reduces noise. Good starting combination: volume ratio ≥ 3×, minimum current volume ≥ $5m equivalent, exclude stablecoin-stablecoin pairs.

  6. Automate on a schedule

    Hourly or every four hours is typical. See how to schedule Cryptohopper MCP workflows.

  7. Wire output to an alerting channel

    The scanner's value depends on catching spikes soon after they start. See how to send MCP reports to Telegram, Discord, or email. Only send a message when at least one pair flags — silent runs should produce no alert.


Cost profile

Action

Call units

Top-100 ticker sweep

100

Hourly, 16 hours/day × 5 weekdays

8,000/week

Every 4 hours, 6 runs/day × 5 weekdays

3,000/week

The every-4-hours cadence fits within Pioneer's 6,000 calls/week. Hourly scans push into Explorer territory. See rate limits explained.


Troubleshooting

The scanner flags dozens of pairs every run

The threshold is too loose, the universe is too wide, or the baseline is wrong. Tighten one at a time — raise the ratio first, then reduce the universe, then check if the baseline reflects actual recent activity. A good volume scanner should go multiple runs in a row with zero flags; silence is the correct output on most days.

The same pair flags every single run

Its baseline is wrong — probably stale from a quiet period. Refresh the rolling file or recompute the baseline from more recent data.

Small-cap pairs produce misleading signals

Their volume is inherently volatile. Either exclude everything under your volume threshold (the $5m filter), or keep a separate scanner for them with different thresholds.

You miss real spikes during fast-moving sessions

A volume spike that lasts 30 minutes is invisible to an hourly scanner running at the wrong time. During active market windows, 15–30 minute cadence is reasonable — throttle back outside those windows.

RATE_LIMIT_EXCEEDED during the scan

You're firing too many ticker calls in too short a window. Break the scan into batches or add to the prompt: "fetch in batches of 50 with a brief pause between batches."

The alerts are too noisy

Only send a message when the scan flags something. Silent runs should produce no output — otherwise alerts become noise and you'll start ignoring them.

Did this answer your question?