Agents

Opportunity Scout

Finds what's moving, keeps only what's safe to act on.

Scans the 100 tracked tokens for momentum, volume spikes, coins leaving exchanges and fresh signals, runs the full CoinGraph check on each candidate and drops anything rated avoid. Returns a ranked shortlist; each setup has why it is interesting, what could go wrong, an invalidation price and a time horizon. Every setup is recorded and graded later.

When to use it #

  • A trader wants ideas that already passed a risk check.
  • A newsletter or app wants a daily shortlist with reasons and invalidation levels.

Built for: Trading-agent developers · Active traders

How it decides #

  • Collects today's movers: price, volume spikes, open interest and exchange outflows.
  • Runs the full check on each and drops anything rated avoid.
  • Ranks the rest, preferring proceed over caution, and gives the price that would prove each idea wrong.

Verdicts #

VerdictMeaning
SETUPS_FOUNDAt least one mover passed the check.
NOTHING_CLEANThings are moving, but none passed.

Input #

POST/v1/agents/opportunity-scout

Body

  • limitinteger (1–10)optionaldefault 5

Examples #

Real runs, captured from the live service.

Top 3 setups

Request
curl -X POST "https://coingraph.ai/api/v1/agents/opportunity-scout" \
  -H "content-type: application/json" \
  -d '{"limit":3}'
Response · real, captured 2026-10-06 23:24 UTC · long lists trimmed
{
  "object": "agent_run",
  "id": "run_60c1541c59cf048db8ab",
  "as_of": "2026-10-06T23:22:51.080Z",
  "data": {
    "run_id": "run_60c1541c59cf048db8ab",
    "agent": "opportunity-scout",
    "agent_version": "1.0.0",
    "as_of": "2026-10-06T23:22:51.080Z",
    "verdict": "SETUPS_FOUND",
    "summary": "3 setups passed the check: INJ, BCH, UNI. 1 mover dropped for failing it.",
    "result": {
      "setups": [
        {
          "token": {
            "id": "injective-protocol",
            "symbol": "INJ"
          },
          "price_usd": 8.1,
          "why": [
            "volume spike",
            "price move",
            "oi change"
          ],
          "check": "caution",
          "evaluation_id": "eval_b994a5e00048bcc1f949",
          "risks": [
            "supply: Top 10 holders own 71.2% of supply (incl. exchange and contract wallets)"
          ],
          "invalidation_usd": 7.81,
          "horizon": "4–24 hours",
          "direction": "long"
        },
        {
          "token": {
            "id": "bitcoin-cash",
            "symbol": "BCH"
          },
          "price_usd": 311.86,
          "why": [
            "volume spike"
          ],
          "check": "proceed",
          "evaluation_id": "eval_e7318817c79dc7db69cd",
          "risks": [
            "momentum: 1h +0.59%, 24h -1.35%: nothing stretched",
            "liquidity: $17M available within 2% of the price across exchanges (CoinGecko)",
            "leverage: Funding 0.01% per 8h: leverage not crowded"
          ],
          "invalidation_usd": 302.504,
          "horizon": "4–24 hours",
          "direction": "long"
        },
        {
          "token": {
            "id": "uniswap",
            "symbol": "UNI"
          },
          "price_usd": 8.59,
          "why": [
            "up +0.7% in 1h",
            "coins leaving exchanges"
          ],
          "check": "proceed",
          "evaluation_id": "eval_254eba64553fa28788e0",
          "risks": [
            "momentum: 1h +0.7%, 24h -5.34%: nothing stretched",
            "liquidity: $2.3M available within 2% of the price on tracked order books",
            "leverage: Funding 0.01% per 8h: leverage not crowded"
          ],
          "invalidation_usd": 8.3323,
          "horizon": "4–24 hours",
          "direction": "long"
        }
      ],
      "dropped": [
        {
          "token": "NIGHT",
          "why": "supply: Top 10 holders own 89.3% of supply (incl. exchange and contract wallets)"
        }
      ],
      "scanned": 10
    },
    "reasons": [
      {
        "text": "INJ: volume spike, price move, oi change",
        "source": "coingecko+ccxt+nownodes signals, coingraph:evaluate"
      },
      {
        "text": "BCH: volume spike",
        "source": "coingecko+ccxt+nownodes signals, coingraph:evaluate"
      },
      {
        "text": "UNI: up +0.7% in 1h, coins leaving exchanges",
        "source": "coingecko+ccxt+nownodes signals, coingraph:evaluate"
      }
    ],
    "warnings": [],
    "links": {
      "proof_INJ": "/api/v1/verify/eval_b994a5e00048bcc1f949",
      "proof_BCH": "/api/v1/verify/eval_e7318817c79dc7db69cd",
      "proof_UNI": "/api/v1/verify/eval_254eba64553fa28788e0"
    },
    "disclaimer": "CoinGraph never trades, holds funds or gives financial advice. The caller decides.",
    "hash": "2994dc7a90ba10d457c2243d1c250eb87f52f22293b4d320a095fca64beb6194",
    "verify_url": "https://coingraph.ai/api/v1/verify/run_60c1541c59cf048db8ab"
  },
  "sources": []
}

Result fields #

Inside data.result:

FieldContents
setups[]token, price_usd, why (what is moving), check, risks, invalidation_usd, horizon, direction and evaluation_id.
dropped[]Movers that failed the check, and why.
scannedHow many movers were checked.

Use it from Claude #

With CoinGraph connected (how), ask in plain words, or call the tool directly:

MCP tools/call
{
  "name": "run_opportunity_scout",
  "arguments": {
    "limit": 5
  }
}

The proof for any run: https://coingraph.ai/proof/run_…