Help us improve
Share bugs, ideas, or general feedback.
From alchemy-skills
Generates long-form crypto research reports via Messari AI. Starts an async job, polls for completion, and returns structured analysis on any crypto topic, asset, or protocol.
npx claudepluginhub moonpay/skills --plugin moonpay-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/alchemy-skills:messari-deep-researchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate a comprehensive, long-form research report on any crypto topic, asset, sector, or question. Uses Messari's async AI deep-research engine which crawls their knowledge graph, on-chain data, and news to produce institutional-quality reports.
Runs a 5-step token research workflow via the Messari x402 API: fetches asset fundamentals, price history, sentiment signals, news, then synthesizes a research brief using Messari AI. Costs ~$1-$1.50 USDC per run.
Conducts deep research via parallel web searches, multi-source validation, and confidence tracking across 11 types like market, competitive, technical; outputs cited Markdown reports.
Performs deep, exhaustive research on a topic via parallel-cli, with multi-turn context support. Use only for explicit deep research requests; for normal lookups use parallel-web-search instead.
Share bugs, ideas, or general feedback.
Generate a comprehensive, long-form research report on any crypto topic, asset, sector, or question. Uses Messari's async AI deep-research engine which crawls their knowledge graph, on-chain data, and news to produce institutional-quality reports.
Cost per run: ~$0.50–$2.00 USDC on Base (async, takes 5–15 minutes)
mp token balance list --wallet main --chain base --json
Ensure at least $3.00 USDC on Base.
mp x402 request \
--method POST \
--url "https://api.messari.io/ai/v1/deep-research" \
--body '{
"query": "<your research question or topic>"
}' \
--wallet main \
--chain base
Example queries:
"What is the investment thesis for Ethereum restaking protocols in 2025?""Analyze the competitive landscape of L2 rollups""What are the key risks in the RWA tokenization sector?""Deep dive on Solana's DeFi ecosystem"Response: Returns a job id (e.g. dr_abc123) and status pending.
{
"id": "dr_abc123",
"status": "pending",
"created_at": "2025-..."
}
mp x402 request \
--method GET \
--url "https://api.messari.io/ai/v1/deep-research/<JOB_ID>" \
--wallet main \
--chain base
Status values:
pending — job queued, try again in 60sprocessing — actively generating, try again in 60scompleted — report ready, extract resultfailed — job failed, check error fieldPolling is free (no payment required). Poll every 30–60 seconds.
Once status is completed, the response contains the full report:
{
"id": "dr_abc123",
"status": "completed",
"result": {
"title": "...",
"summary": "...",
"sections": [...],
"sources": [...]
}
}
#!/bin/bash
# messari-deep-research.sh "<research query>"
# Usage: ./messari-deep-research.sh "Analyze the Solana DeFi ecosystem"
QUERY="${1:-What are the top crypto narratives for 2025?}"
WALLET="main"
CHAIN="base"
BASE="https://api.messari.io"
OUT="$HOME/.config/moonpay/research/deep-$(date -u +%Y%m%d-%H%M%S)"
mkdir -p "$(dirname "$OUT")"
echo "Starting deep research: \"$QUERY\""
echo ""
# Step 1: Start job
RESPONSE=$(mp x402 request --method POST \
--url "${BASE}/ai/v1/deep-research" \
--body "{\"query\": \"${QUERY}\"}" \
--wallet "$WALLET" --chain "$CHAIN")
echo "$RESPONSE" > "${OUT}-job.json"
JOB_ID=$(echo "$RESPONSE" | python3 -c "import sys,json; print(json.load(sys.stdin)['id'])" 2>/dev/null)
if [ -z "$JOB_ID" ]; then
echo "ERROR: Could not extract job ID. Response:"
echo "$RESPONSE"
exit 1
fi
echo "Job started: $JOB_ID"
echo "Polling for completion (this takes 5–15 minutes)..."
# Step 2: Poll loop
while true; do
sleep 30
STATUS_RESPONSE=$(mp x402 request --method GET \
--url "${BASE}/ai/v1/deep-research/${JOB_ID}" \
--wallet "$WALLET" --chain "$CHAIN")
STATUS=$(echo "$STATUS_RESPONSE" | python3 -c "import sys,json; print(json.load(sys.stdin).get('status','unknown'))" 2>/dev/null)
echo " Status: $STATUS ($(date +%H:%M:%S))"
if [ "$STATUS" = "completed" ]; then
echo "$STATUS_RESPONSE" > "${OUT}-report.json"
echo ""
echo "Report complete! Saved to ${OUT}-report.json"
break
elif [ "$STATUS" = "failed" ]; then
echo "ERROR: Research job failed."
echo "$STATUS_RESPONSE"
exit 1
fi
done
mp x402 request \
--method POST \
--url "https://api.messari.io/ai/v1/deep-research/<JOB_ID>/cancel" \
--wallet main \
--chain base
mp x402 request \
--method GET \
--url "https://api.messari.io/ai/v1/deep-research" \
--wallet main \
--chain base
Present the completed report as:
## Deep Research: [Report Title]
**Job ID:** dr_abc123
**Generated:** [timestamp]
**Cost:** ~$X.XX USDC
### Executive Summary
[2-3 paragraph summary]
### [Section 1 Title]
[content]
### [Section 2 Title]
[content]
...
### Sources
- [source 1]
- [source 2]
Asset deep dives:
"Investment thesis for [TOKEN]: fundamentals, competition, risks, and outlook""On-chain health of [TOKEN]: activity, retention, revenue"Sector analysis:
"Competitive landscape of Ethereum L2 rollups in 2025""State of RWA tokenization: market size, key players, regulatory risks""DeFi lending protocols: risk comparison across Aave, Compound, and Morpho"Narrative research:
"What is the AI x crypto narrative and which projects are best positioned?""Is the memecoin supercycle over? Evidence and counterarguments"Macro:
"How does the current macro environment affect crypto market structure?"processing status, the job may be stuck — cancel and retry--chain base)/ai/v2/chat/completions)