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 #
| Verdict | Meaning |
|---|---|
| SETUPS_FOUND | At least one mover passed the check. |
| NOTHING_CLEAN | Things are moving, but none passed. |
Input #
POST
/v1/agents/opportunity-scoutBody
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:
| Field | Contents |
|---|---|
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. |
scanned | How 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_…