Serveur MCP

whale-insights

com.cryptowhaleinsights/whale-insights

Ce que fait ce MCP

Provides read-only crypto market and on-chain intelligence, including whale activity, analyst signals, prices, funding rates, gas costs, arbitrage, sentiment, bridges, and token events.

airdrops
Get curated active and upcoming crypto airdrops — 35 hand-verified entries with chain, status, eligibility info — Curated list of active airdrop opportunities. `updatedAt` reflects the last manual content revision, not request time. Cached ~1hr.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'airdrops': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'chain': {'type': 'string'}, 'token': {'type': 'string'}, 'status': {'type': 'string'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
analyst_archive
Analyst signal archive — paginated 1-year history (public, MCP-compatible) — Returns a paginated archive of signals attributed to a single analyst, covering up to 1 year (365 days). This is the MCP-tool-compatible variant of the analyst archive — it uses query params instead of path params so AI agents can call it directly without resolving a URL template. Analyst IDs: chain_hawk (ChainHawk, BTC & macro on-chain), whale_watch (WhaleWatch, multi-chain whale moves), alpha_scout (AlphaScout, emerging tokens), defi_pulse (DeFiPulse, DeFi/stables/bridges), quant_edge (QuantEdge, signal risk/convergence), rate_hawk (RateHawk, funding rates & derivatives), flow_tracer (FlowTracer, stablecoin & capital flows), unlock_guard (UnlockGuard, token unlock risk), sentiment_edge (SentimentEdge, social sentiment extremes), narrative_pulse (NarrativePulse, sector rotation & narratives). Filters: period (7d | 30d | 90d | 365d, default 90d), outcome (all | win | loss | neutral | pending, default all), page (1-indexed, default 1)
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['analystId'], 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': 'Page number (1-indexed, default 1).'}, 'limit': {'type': 'integer', 'default': 100, 'maximum': 100, 'minimum': 10, 'description': 'Results per page (10–100, default 100).'}, 'period': {'enum': ['7d', '30d', '90d', '365d'], 'type': 'string', 'default': '90d', 'description': 'Time window: 7d | 30d | 90d | 365d (default 90d). Use 365d to access up to 1 year of history.'}, 'outcome': {'enum': ['all', 'win', 'loss', 'neutral', 'pending'], 'type': 'string', 'default': 'all', 'description': 'Filter by outcome: all | win | loss | neutral | pending (default all).'}, 'analystId': {'enum': ['chain_hawk', 'whale_watch', 'alpha_scout', 'defi_pulse', 'quant_edge', 'rate_hawk', 'flow_tracer', 'unlock_guard', 'sentiment_edge', 'narrative_pulse'], 'type': 'string', 'description': 'Analyst slug. Valid values: chain_hawk, whale_watch, alpha_scout, defi_pulse, quant_edge, rate_hawk, flow_tracer, unlock_guard, sentiment_edge, narrative_pulse.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'page': {'type': 'number', 'description': 'Current page number (1-indexed)'}, 'tier': {'type': 'string', 'description': "Always 'starter' (up to 365-day depth) for this public endpoint"}, 'pages': {'type': 'number', 'description': 'Total number of pages'}, 'total': {'type': 'number', 'description': 'Total number of matching signals in the window'}, 'signals': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'number', 'description': 'Unique signal row ID'}, 'tokens': {'type': 'array', 'items': {'type': 'string'}, 'description': "Symbols involved, e.g. ['BTC']"}, 'outcome': {'type': 'string', 'nullable': True, 'description': "'win' | 'loss' | 'neutral' | null (pending)"}, 'analystId': {'type': 'string', 'description': 'Analyst slug'}, 'createdAt': {'type': 'string', 'format': 'date-time'}, 'returnPct': {'type': 'number', 'nullable': True, 'description': 'Percentage-point return, e.g. 8.4 = +8.4%. Null if unresolved.'}, 'typeLabel': {'type': 'string', 'description': "Human-readable signal type, e.g. 'Whale Move', 'Volume Breakout'"}}}, 'description': 'Signals attributed to the requested analyst in reverse-chronological order.'}, 'analystId': {'type': 'string', 'description': 'Echoed analyst slug'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
analyst_daily_summary
Get today's AI-generated commentary for all 10 analysts — 2-sentence summaries with signal count, confluence score, BTC trend (generated 9:00 UTC) — Returns today's AI-generated daily commentary for all 10 analyst personas. Summaries are generated each morning at 9:00 UTC using gpt-4o-mini based on the previous 24h of signals, Fear & Greed score, BTC trend, and cross-analyst confluence. Public endpoint — no authentication required. Only shortSummary is returned (2 sentences). Full commentary is available via the authenticated Pro endpoint /api/analysts/:id/daily-summary. Fields per analyst: analystId, analystName, summaryDate (YYYY-MM-DD), shortSummary, signalCount (signals in the past 24h), confluenceScore (0-100: % of other analysts with overlapping tokens in last 2h), fearGreedScore (0-100), btcTrend ('up'|'down'|'sideways'|null). Cached 30 minutes. Returns empty summaries array before 9:00 UTC on any given day. 60 req/min rate limit.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number'}, 'summaries': {'type': 'array', 'items': {'type': 'object', 'properties': {'btcTrend': {'enum': ['up', 'down', 'sideways'], 'type': 'string', 'nullable': True, 'description': 'BTC 24h trend at generation time'}, 'analystId': {'type': 'string', 'description': 'Analyst slug, e.g. chain_hawk'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'analystName': {'type': 'string', 'description': 'Display name, e.g. ChainHawk'}, 'signalCount': {'type': 'integer', 'description': 'Number of signals this analyst generated in the past 24h'}, 'summaryDate': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD date of this summary'}, 'shortSummary': {'type': 'string', 'description': "2-sentence AI commentary on the analyst's day (public)"}, 'fearGreedScore': {'type': 'number', 'nullable': True, 'description': 'Market Fear & Greed score at time of generation (0=Extreme Fear, 100=Extreme Greed)'}, 'confluenceScore': {'type': 'number', 'nullable': True, 'description': '0-100: % of other analysts with overlapping tokens in the last 2h — higher = more cross-analyst agreement'}}, 'description': 'One daily summary per analyst.'}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
analyst_monthly_performance
Monthly performance summary for all analysts (last 6 months) — Returns win_rate, avg_return, and total_signals per analyst per calendar month for exactly the last 6 calendar months (current month + 5 prior full months, enforced with DATE_TRUNC('month') boundaries — never more than 6 month buckets). All 10 canonical analysts (chain_hawk, whale_watch, alpha_scout, defi_pulse, quant_edge, rate_hawk, flow_tracer, unlock_guard, sentiment_edge, narrative_pulse) are always present in the response with an empty array [] when they have no signals in the window. Data is computed directly from the signal_history PostgreSQL table — no separate snapshot table required. winRate is a fraction (0–1, e.g. 0.71 = 71%) and is null when fewer than 5 resolved signals exist for that month. avgReturn is in percentage points (e.g. 12.3 = +12.3% average return) and is null when no resolved+priced signals exist for that month. Useful for AI agents answering 'How did WhaleWatch perform in May?' or 'Who was the best analyst last month?'
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'months': {'type': 'integer', 'description': 'Look-back window in months (always 6).'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'performance': {'type': 'object', 'description': 'Keys are analyst slugs (chain_hawk, whale_watch, …); values are arrays of monthly performance objects ordered newest-first.', 'additionalProperties': {'type': 'array', 'items': {'type': 'object', 'properties': {'wins': {'type': 'integer'}, 'month': {'type': 'string', 'description': "Calendar month in YYYY-MM format, e.g. '2026-05'."}, 'losses': {'type': 'integer'}, 'winRate': {'type': 'number', 'nullable': True, 'description': 'Fraction 0–1. Null when resolved < 5.'}, 'resolved': {'type': 'integer', 'description': 'Signals with a win or loss outcome in this month (neutral excluded from denominator, consistent with analyst stats logic).'}, 'avgReturn': {'type': 'number', 'nullable': True, 'description': 'Average return in pct-points. Null when no resolved+priced signals.'}, 'totalSignals': {'type': 'integer', 'description': 'All signals attributed to this analyst in this month (resolved + unresolved).'}}}}}}}
analysts
Analyst personas with live performance stats — Returns all 10 pseudonymous CryptoWhaleInsights analyst personas — ChainHawk (BTC & Macro On-Chain), WhaleWatch (Multi-Chain Whale Tracking), AlphaScout (Emerging Tokens & Narratives), DeFiPulse (DeFi, Stablecoins & Bridges), QuantEdge (Signal Performance & Risk), RateHawk (Funding Rates & Derivatives), FlowTracer (Stablecoin & Capital Flows), UnlockGuard (Token Unlock Risk & Recovery), SentimentEdge (Social Sentiment Extremes), NarrativePulse (Sector Rotation & Narratives). These are algorithmic signal-attribution identities, not human analysts: every signal generated by the platform's on-chain monitoring engine is automatically attributed to the analyst whose domain matches the alert type and chain. Stats are 100% real — computed from the live signalHistory PostgreSQL table using the same resolved-signal logic as the Signal Performance Proof page. winRate is a fraction (0.71 = 71% win rate); avgReturn is a percentage (12.3 = +12.3% average return per signal). B
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'analyst': {'enum': ['chain_hawk', 'whale_watch', 'alpha_scout', 'defi_pulse', 'quant_edge'], 'type': 'string', 'description': 'Optional analyst slug filter. When provided, only the matching analyst is returned. One of: chain_hawk, whale_watch, alpha_scout, defi_pulse, quant_edge.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'analysts': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Unique analyst slug. One of: chain_hawk, whale_watch, alpha_scout, defi_pulse, quant_edge, rate_hawk, flow_tracer, unlock_guard, sentiment_edge, narrative_pulse'}, 'bio': {'type': 'string', 'description': "Short description of the analyst's focus"}, 'icon': {'type': 'string'}, 'name': {'type': 'string', 'description': 'Display name, e.g. ChainHawk'}, 'color': {'type': 'string'}, 'stats': {'type': 'object', 'properties': {'wins': {'type': 'number'}, 'losses': {'type': 'number'}, 'winRate': {'type': 'number', 'nullable': True, 'description': 'Fraction (0–1). Multiply by 100 for %. Null if < 5 resolved signals.'}, 'avgReturn': {'type': 'number', 'nullable': True, 'description': 'Average return in percentage points (e.g. 12.3 = +12.3%). Null if < 5 resolved signals.'}, 'lastSignalAt': {'type': 'string', 'format': 'date-time', 'nullable': True}, 'totalSignals': {'type': 'number', 'description': 'Total signals ever attributed to this analyst'}, 'resolvedSignals': {'type': 'number', 'description': 'Signals with a win/loss outcome determined'}}, 'description': 'Live performance stats computed from signalHistory DB. Null values mean < 5 resolved signals.'}, 'alertTypes': {'type': 'array', 'items': {'type': 'string', 'description': 'Signal alert types routed to this analyst (whale_move, volume_breakout, accumulation, smart_money_loading, fear_buy, whale_convergence)'}}, 'specialization': {'type': 'string', 'description': 'Domain covered, e.g. BTC & Macro On-Chain'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
analysts_signals
Analyst signal history — single or multi-analyst (public, free-tier, MCP-compatible) — Returns the last 7 days of signals for one or more analysts in a single request. Pass a single id (e.g. ?id=chain_hawk) for one analyst or a comma-separated list (e.g. ?id=chain_hawk,whale_watch) to compare multiple analysts without extra round-trips. Analyst ids: chain_hawk (ChainHawk, BTC & macro), whale_watch (WhaleWatch, multi-chain whales), alpha_scout (AlphaScout, emerging tokens), defi_pulse (DeFiPulse, DeFi/stables/bridges), quant_edge (QuantEdge, signal risk/convergence). Always free-tier depth (last 7 days, up to 200 signals per analyst). No authentication required. Single-id response: { analystId, tier, signals[], updatedAt }. Multi-id response (comma-separated): { results: { [analystId]: signals[] }, tier, updatedAt }. To fetch all 10 analysts at once, use GET /api/public/analysts/signals/all. Each signal: id (number), tokens (array), typeLabel, outcome ('win'|'loss'|null), returnPct (null if unresolved), create
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Analyst slug(s). Single: chain_hawk. Comma-separated for multi: chain_hawk,whale_watch. Valid values: chain_hawk, whale_watch, alpha_scout, defi_pulse, quant_edge.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'tier': {'type': 'string', 'description': "Always 'free' for this public endpoint"}, 'results': {'type': 'object', 'description': 'Present in multi-id mode. Keys are analyst slugs; values are arrays of signal objects.', 'additionalProperties': {'type': 'array', 'items': {'type': 'object'}}}, 'signals': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'number', 'description': 'Unique signal row ID'}, 'tokens': {'type': 'array', 'items': {'type': 'string'}, 'description': "Symbols involved, e.g. ['BTC']"}, 'outcome': {'type': 'string', 'nullable': True, 'description': "'win' | 'loss' | null if unresolved"}, 'analystId': {'type': 'string', 'description': 'Analyst slug'}, 'createdAt': {'type': 'string', 'format': 'date-time'}, 'returnPct': {'type': 'number', 'nullable': True, 'description': 'Pct-point return, e.g. 8.4 = +8.4%. Null if unresolved.'}, 'typeLabel': {'type': 'string', 'description': "Human-readable signal type, e.g. 'Whale Move', 'Volume Breakout'"}}}, 'description': 'Present in single-id mode. Array of signal objects for the requested analyst.'}, 'analystId': {'type': 'string', 'description': 'Echoed analyst slug (single-id mode only), e.g. chain_hawk'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
analysts_signals_all
All analysts' signal history in one request (public, free-tier, MCP-compatible) — Returns the last 7 days of signals for all 10 analysts grouped by analystId in a single response — ideal for AI agents that need a cross-analyst comparison without 10 round-trips. Analyst ids in the response: chain_hawk (ChainHawk, BTC & macro), whale_watch (WhaleWatch, multi-chain whales), alpha_scout (AlphaScout, emerging tokens), defi_pulse (DeFiPulse, DeFi/stables/bridges), quant_edge (QuantEdge, signal risk/convergence). Always free-tier depth (last 7 days, up to 200 signals per analyst). No authentication required. No query parameters needed. Response: { results: { [analystId]: signals[] }, tier: 'free', updatedAt }. Each signal: id (number), tokens (array), typeLabel, outcome ('win'|'loss'|null), returnPct (null if unresolved), createdAt (ISO-8601), analystId. To fetch a subset of analysts, use GET /api/public/analysts/signals?id=chain_hawk,whale_watch. — Use this for all analyst signals in one response; use analysts_sign
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'tier': {'type': 'string', 'description': "Always 'free' for this public endpoint"}, 'results': {'type': 'object', 'properties': {'chain_hawk': {'type': 'array', 'items': {'type': 'object'}}, 'defi_pulse': {'type': 'array', 'items': {'type': 'object'}}, 'quant_edge': {'type': 'array', 'items': {'type': 'object'}}, 'alpha_scout': {'type': 'array', 'items': {'type': 'object'}}, 'whale_watch': {'type': 'array', 'items': {'type': 'object'}}}, 'description': 'Keys are analyst slugs (chain_hawk, whale_watch, alpha_scout, defi_pulse, quant_edge); values are arrays of signal objects.'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
analysts_top
Get the highest win-rate analyst right now — one analyst with win rate, avg return, last 3 signals (min 5 resolved trades required) — Returns the single analyst with the highest win rate among those with at least 5 resolved signals, plus their last 3 recent signals (using the free 7-day window). Useful for AI agents that want to surface the best-performing signal source without iterating over all 10 analysts. Returns { analyst: null } when no analyst yet has 5+ resolved signals. Analyst IDs map to: chain_hawk=ChainHawk (BTC), whale_watch=WhaleWatch (multi-chain), alpha_scout=AlphaScout (emerging tokens), defi_pulse=DeFiPulse (DeFi/stables), quant_edge=QuantEdge (risk/convergence). winRate is a fraction (0.71 = 71%); avgReturn is percentage points (12.3 = +12.3%). Cached ~10min.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'analyst': {'type': 'object', 'nullable': True, 'properties': {'id': {'type': 'string'}, 'bio': {'type': 'string'}, 'name': {'type': 'string'}, 'winRate': {'type': 'number', 'description': 'Fraction (0–1). Multiply by 100 for %.'}, 'avgReturn': {'type': 'number', 'description': 'Average return in percentage points.'}, 'lastSignalAt': {'type': 'string', 'format': 'date-time', 'nullable': True}, 'totalSignals': {'type': 'number'}, 'recentSignals': {'type': 'array', 'items': {'type': 'object', 'properties': {'tokens': {'type': 'array', 'items': {'type': 'string'}}, 'outcome': {'type': 'string', 'nullable': True}, 'createdAt': {'type': 'string', 'format': 'date-time'}, 'returnPct': {'type': 'number', 'nullable': True}, 'typeLabel': {'type': 'string'}}, 'description': 'Last 3 signals attributed to this analyst (free 7-day window)'}}, 'specialization': {'type': 'string'}, 'resolvedSignals': {'type': 'number'}}, 'description': 'The analyst with the highest win rate (min 5 resolved signals). Null if no analyst qualifies yet.'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
analyst_summary_history
Get historical daily AI analyst summaries — query by date or by analyst+days (max 90 days; use analyst_daily_summary for today's data) — Returns a paginated history of daily AI analyst summaries. Query by specific date (?date=YYYY-MM-DD) to see all analyst summaries for one day, or by analystId (?analystId=chain_hawk&days=30) to get the last N days for one analyst. Maximum 90 days. Only shortSummary is returned (full commentary is Pro-only). Fields per record: analystId, analystName, summaryDate (YYYY-MM-DD), shortSummary, summaryAr, summaryHi, summaryZh, summaryRu, signalCount, confluenceScore, fearGreedScore, btcTrend. No auth required. 60 req/min. — Use this for daily historical data; use the corresponding live snapshot tool for current conditions and the monthly tool for long-term trends.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'date': {'type': 'string', 'nullable': True}, 'days': {'type': 'number'}, 'total': {'type': 'number'}, 'analystId': {'type': 'string', 'nullable': True}, 'summaries': {'type': 'array', 'items': {'type': 'object', 'properties': {'btcTrend': {'enum': ['up', 'down', 'sideways'], 'type': 'string', 'nullable': True}, 'analystId': {'type': 'string', 'description': 'Analyst ID, e.g. chain_hawk'}, 'summaryAr': {'type': 'string', 'nullable': True, 'description': 'Arabic translation'}, 'summaryHi': {'type': 'string', 'nullable': True, 'description': 'Hindi translation'}, 'summaryRu': {'type': 'string', 'nullable': True, 'description': 'Russian translation'}, 'summaryZh': {'type': 'string', 'nullable': True, 'description': 'Chinese translation'}, 'analystName': {'type': 'string', 'description': 'Display name, e.g. ChainHawk'}, 'signalCount': {'type': 'integer', 'description': 'Signals generated that day'}, 'summaryDate': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD'}, 'shortSummary': {'type': 'string', 'description': '2-sentence AI commentary (English)'}, 'fearGreedScore': {'type': 'number', 'nullable': True, 'description': 'Fear & Greed at generation time'}, 'confluenceScore': {'type': 'number', 'nullable': True, 'description': 'Cross-analyst agreement 0-100'}}, 'description': 'One daily summary record.'}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
analyst_top_tokens
Top predicted tokens per analyst — win-rate aggregates over last 90 days (MCP-compatible) — Returns the top 5 tokens (by win rate) attributed to a single analyst over the last 90 days. Only tokens with ≥ 3 resolved (win/loss) signals are included — this ensures the win-rate figures are statistically meaningful and not based on a single lucky trade. Use ?analystId= with one of: chain_hawk (ChainHawk, BTC & macro on-chain), whale_watch (WhaleWatch, multi-chain whale moves), alpha_scout (AlphaScout, emerging tokens), defi_pulse (DeFiPulse, DeFi/stables/bridges), quant_edge (QuantEdge, signal risk/convergence), rate_hawk (RateHawk, funding rates & derivatives), flow_tracer (FlowTracer, stablecoin & capital flows), unlock_guard (UnlockGuard, token unlock risk), sentiment_edge (SentimentEdge, social sentiment extremes), narrative_pulse (NarrativePulse, sector rotation & narratives). Each token entry returns: token (symbol string), total (all signals in window including pending), resolved (signals with a win/loss ou
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'analystId': {'enum': ['chain_hawk', 'whale_watch', 'alpha_scout', 'defi_pulse', 'quant_edge', 'rate_hawk', 'flow_tracer', 'unlock_guard', 'sentiment_edge', 'narrative_pulse'], 'type': 'string', 'description': 'Analyst slug. Valid values: chain_hawk, whale_watch, alpha_scout, defi_pulse, quant_edge, rate_hawk, flow_tracer, unlock_guard, sentiment_edge, narrative_pulse.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'hint': {'type': 'string', 'nullable': True, 'description': 'Guidance string returned when analystId was omitted; null otherwise.'}, 'tokens': {'type': 'array', 'items': {'type': 'object', 'properties': {'wins': {'type': 'integer', 'description': 'Number of winning resolved signals.'}, 'token': {'type': 'string', 'description': 'Token symbol, e.g. BTC, ETH, SOL.'}, 'total': {'type': 'integer', 'description': 'Total signals in the last 90 days (including pending/unresolved).'}, 'winRate': {'type': 'integer', 'nullable': True, 'description': 'Win rate as an integer percentage (0–100). Null when resolved=0.'}, 'resolved': {'type': 'integer', 'description': 'Number of signals with a win or loss outcome determined.'}}}, 'description': 'Top 5 tokens by win rate for this analyst (last 90 days, min 3 resolved signals each). Empty when no qualifying tokens exist or analystId was omitted.'}, 'analystId': {'type': 'string', 'nullable': True, 'description': 'Echoed analyst slug, e.g. chain_hawk. Null when analystId param was omitted.'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
arbitrage_history
Historical arbitrage opportunities — top 5 per day (MCP-compatible) — Returns a daily history of the top 5 cross-exchange arbitrage opportunities detected by the platform. Each day entry lists the 5 highest-spread opportunities saved by the cron job, including token symbol, spread percentage, buy/sell exchanges, and average USD volume. Useful for AI agents answering questions like 'which tokens appear most frequently in arbitrage?' or 'what is the average daily spread?'. Data is accumulated daily; older than 180 days is automatically purged. Response: { days, history: [{date, opportunities: [{symbol, spreadPct, buyExchange, sellExchange, usdVolume}]}], total, updatedAt }. Query parameter: ?days=7 (default 7, max 180). No authentication required. 60 requests/min rate limit. 5-min in-process cache. — Use this for daily historical data; use the corresponding live snapshot tool for current conditions and the monthly tool for long-term trends.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 7, 'maximum': 180, 'minimum': 1, 'description': 'Number of days to look back (default 7, max 180).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'days': {'type': 'number'}, 'total': {'type': 'number', 'description': 'Total number of individual opportunity rows returned.'}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'description': 'Snapshot date (YYYY-MM-DD).'}, 'opportunities': {'type': 'array', 'items': {'type': 'object', 'properties': {'symbol': {'type': 'string', 'description': "Token symbol, e.g. 'ETH'."}, 'spreadPct': {'type': 'number', 'description': 'Price spread between exchanges as a percentage, e.g. 1.23 = 1.23%.'}, 'usdVolume': {'type': 'number', 'description': 'Average 24h USD volume across the buy and sell pairs.'}, 'buyExchange': {'type': 'string', 'description': 'DEX/chain where the token is cheapest (buy here).'}, 'sellExchange': {'type': 'string', 'description': 'DEX/chain where the token is most expensive (sell here).'}}}, 'description': 'Top arbitrage opportunities for this day (up to 5), sorted by spread descending.'}}}, 'description': 'Per-day list of top arbitrage opportunities, newest first.'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
arbitrage_monthly
Cross-exchange arbitrage permanent monthly archive — Returns the permanent monthly archive of cross-exchange arbitrage opportunities — one row per symbol per calendar month, aggregated from daily snapshots before they are purged after 180 days. This archive is never deleted and grows indefinitely, enabling AI agents to answer historical questions like 'which token consistently had the highest arbitrage spread?' across months of data. Each row includes: month (YYYY-MM-01), symbol, avgSpreadPct (average % spread that cycle), occurrenceCount (how many daily snapshots contributed), buyExchange, sellExchange, avgUsdVolume, daysInMonth. Months with fewer than 5 daily records are excluded. Data source: CryptoWhaleInsights arbitrage scanner (DexScreener allPairs, 158 tokens). No authentication required. 60 req/min. 1-hr cache. — Use this for long-term monthly archive data; use the corresponding live or daily-history tool for current or finer-grained data.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number'}, 'months': {'type': 'array', 'items': {'type': 'object', 'properties': {'month': {'type': 'string', 'format': 'date', 'description': 'First day of the month (YYYY-MM-01, UTC).'}, 'symbol': {'type': 'string'}, 'buyExchange': {'type': 'string'}, 'daysInMonth': {'type': 'integer'}, 'avgSpreadPct': {'type': 'number', 'description': 'Average % spread between buy and sell exchange that month.'}, 'avgUsdVolume': {'type': 'number'}, 'sellExchange': {'type': 'string'}, 'occurrenceCount': {'type': 'integer', 'description': 'Number of daily snapshots where this symbol appeared.'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
bridge_flow_history
Get daily cross-chain bridge flow history — total volume USD, transaction count, protocol count, and top protocol over up to 90 days — Daily historical cross-chain bridge activity aggregated from LI.FI API (covering 9+ protocols). One row per day: total bridged volume in USD, transaction count, number of active protocols, and the dominant protocol by volume. Useful for tracking cross-chain capital flow trends. DB-backed, 5-min cache. Powered by bridge_flow_daily table (365d retention, permanent monthly archive). — Use this for daily historical data; use the corresponding live snapshot tool for current conditions and the monthly tool for long-term trends.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–90, default 30).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'days': {'type': 'number'}, 'total': {'type': 'number'}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD snapshot date.'}, 'topProtocol': {'type': 'string', 'nullable': True, 'description': "Protocol with the highest volume (e.g. 'Stargate', 'Hop')."}, 'totalTxCount': {'type': 'integer', 'description': 'Total number of bridge transactions.'}, 'protocolCount': {'type': 'integer', 'description': 'Number of distinct bridge protocols active.'}, 'totalVolumeUsd': {'type': 'number', 'description': 'Total bridged volume in USD across all protocols.'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
bridge_flows
Get recent large cross-chain bridge transfers — Stargate Finance, Socket/Bungee via LI.FI (top 3 free; capital-rotation signal) — Recent large cross-chain bridge transfers and per-bridge volume summaries sourced from LI.FI. Free preview: top 3 flows + 2 bridge summaries; the full flow history requires a Weekly Alpha subscription. Cached ~10min.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'flows': {'type': 'array', 'items': {'type': 'object', 'properties': {'bridge': {'type': 'string'}, 'amountUsd': {'type': 'number'}, 'destChain': {'type': 'string'}, 'direction': {'type': 'string'}, 'explorerUrl': {'type': 'string', 'format': 'uri'}, 'sourceChain': {'type': 'string'}, 'tokenSymbol': {'type': 'string'}}}}, 'total': {'type': 'number'}, 'summaries': {'type': 'array', 'items': {'type': 'object', 'properties': {'bridge': {'type': 'string'}, 'totalVolume24h': {'type': 'number'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'requiredTierForFull': {'type': 'string'}}}
burn_tracker
Get token burn events and 14-day burn history — ETH, SOL, BNB burns from Etherscan + Blockchair + Solana RPC (top 3 free) — Recent on-chain token burn events (with explorer-verifiable tx) plus a 14-day daily burn-volume history, sourced from Etherscan, Blockchair, and Solana RPC. Free preview: top 3 events; the full list requires a Weekly Alpha subscription. Served from cache (no per-request AI cost). Cached ~5min.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number'}, 'events': {'type': 'array', 'items': {'type': 'object', 'properties': {'chain': {'type': 'string'}, 'burnedAt': {'type': 'string', 'format': 'date-time'}, 'explorerUrl': {'type': 'string', 'format': 'uri'}, 'tokenSymbol': {'type': 'string'}, 'burnAmountUsd': {'type': 'number'}, 'burnPercentage': {'type': 'number'}}}}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string'}, 'eventCount': {'type': 'number'}, 'totalBurnUsd': {'type': 'number'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'requiredTierForFull': {'type': 'string'}}}
fear_greed
Get the Crypto Fear & Greed index — composite 0-100 score, label, 7-factor breakdown, recent history (use fear_greed_monthly for long-term trends) — 7-factor crypto Fear & Greed sentiment index with the current score, label, contributing factors, and recent history. Cached ~5min.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'label': {'type': 'string'}, 'score': {'type': 'number'}, 'factors': {'type': 'array', 'items': {'type': 'object'}}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string'}, 'score': {'type': 'number'}}}}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
fear_greed_history
Get daily Fear & Greed score history — 0-100 score + Extreme Fear/Greed label per day over up to 180 days (use fear_greed_monthly for 2-year trends) — Daily historical Fear & Greed score and classification for the last N days (default 30, max 180). One row per day saved from the platform's 7-factor composite index. Useful for trend analysis and AI agent context. DB-backed, 5-min cache. — Use this for daily historical data; use the corresponding live snapshot tool for current conditions and the monthly tool for long-term trends.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–180, default 30).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'days': {'type': 'number'}, 'total': {'type': 'number'}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD snapshot date.'}, 'score': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Composite Fear & Greed score (0=Extreme Fear, 100=Extreme Greed).'}, 'classification': {'enum': ['Extreme Fear', 'Fear', 'Neutral', 'Greed', 'Extreme Greed'], 'type': 'string', 'description': 'Text label for the score.'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
fear_greed_monthly
Fear & Greed permanent monthly archive — Returns the permanent monthly archive of the Fear & Greed index — one row per calendar month, aggregated from daily snapshots before they are purged. Never deleted; grows indefinitely providing AI agents with macro sentiment context across months and years. Each month includes: avgScore (0–100 average), minScore, maxScore, dominantClassification (Extreme Fear / Fear / Neutral / Greed / Extreme Greed), fearDays (days with score<40), greedDays (score>60), neutralDays, daysInMonth. Months with fewer than 20 daily records are excluded. No authentication required. 60 req/min. 5-min cache. — Use this for long-term monthly archive data; use the corresponding live or daily-history tool for current or finer-grained data.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number'}, 'months': {'type': 'array', 'items': {'type': 'object', 'properties': {'month': {'type': 'string', 'format': 'date'}, 'avgScore': {'type': 'number'}, 'fearDays': {'type': 'integer'}, 'maxScore': {'type': 'integer'}, 'minScore': {'type': 'integer'}, 'greedDays': {'type': 'integer'}, 'daysInMonth': {'type': 'integer'}, 'neutralDays': {'type': 'integer'}, 'dominantClassification': {'type': 'string'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
feed_archive
News feed archive — paginated 30-day history (public, MCP-compatible) — Returns a paginated archive of crypto news articles, analysis, and AI-generated summaries from the CryptoWhaleInsights feed, covering the last 30 days. Whale movement events are excluded — use /api/public/whale-movements for on-chain flow data. AI agents can use this to read the latest crypto news, market analysis, and AI-generated summaries without any credentials. Optional type filter: news (RSS articles), ai (AI-generated summaries), manual (analyst notes). Default: all non-whale-move items. Optional keyword search: q (max 100 chars) filters by token name or keyword — case-insensitive match on title and summary (e.g. q=ETH returns only ETH-related items). Pagination: page (1-indexed, default 1), pageSize fixed at 20. period filter: 7d | 30d (default 30d — maximum public window). Response: { items[], total, page, pageSize, hasMore, updatedAt }. Each item: id (number), title (string), summary (string), source (string — feed source name e
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 100, 'description': 'Keyword or token name search (max 100 chars). Case-insensitive match on title and summary. Example: q=ETH returns only items mentioning ETH.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': 'Page number (1-indexed, default 1).'}, 'type': {'enum': ['news', 'ai', 'manual', 'all'], 'type': 'string', 'description': 'Filter by article type: news (RSS), ai (AI-generated), manual (analyst notes). Default: all types.'}, 'period': {'enum': ['7d', '30d'], 'type': 'string', 'default': '30d', 'description': 'Time window: 7d | 30d (default 30d — the maximum public window).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'page': {'type': 'number', 'description': 'Current page (1-indexed)'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'number', 'description': 'Unique feed item row ID'}, 'url': {'type': 'string', 'nullable': True, 'description': 'Original article URL, if available'}, 'type': {'type': 'string', 'description': "'news_summary' | 'ai_insights' | 'analysis'"}, 'title': {'type': 'string', 'description': 'Article or summary title'}, 'source': {'type': 'string', 'description': "Feed source name, e.g. 'CoinDesk', 'CoinTelegraph'"}, 'summary': {'type': 'string', 'description': 'Article summary or AI-generated digest'}, 'publishedAt': {'type': 'string', 'format': 'date-time', 'nullable': True, 'description': 'Publication timestamp'}}}, 'description': 'News articles and analysis items in reverse-chronological order.'}, 'total': {'type': 'number', 'description': 'Total matching articles in the window'}, 'hasMore': {'type': 'boolean', 'description': 'Whether more pages are available'}, 'pageSize': {'type': 'number', 'description': 'Fixed at 20 records per page'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
funding_rate_monthly
Funding rate permanent monthly archive — Returns the permanent monthly archive of perpetual funding rates per token — one row per token per calendar month, aggregated from daily snapshots before purge. Never deleted; covers the top 10 tokens by volume. Optional ?symbol=BTC to filter. Each row includes: month, symbol, avgRate, minRate, maxRate, dominantSentiment (bullish/neutral/bearish based on avg rate), daysInMonth. Months with fewer than 20 daily records are excluded. No authentication required. 60 req/min. 5-min cache. — Use this for long-term monthly archive data; use the corresponding live or daily-history tool for current or finer-grained data.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'symbol': {'type': 'string', 'description': 'Token symbol to filter by (e.g. BTC, ETH). Omit to return all top-10 tokens.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number'}, 'months': {'type': 'array', 'items': {'type': 'object', 'properties': {'month': {'type': 'string', 'format': 'date'}, 'symbol': {'type': 'string'}, 'avgRate': {'type': 'number'}, 'maxRate': {'type': 'number'}, 'minRate': {'type': 'number'}, 'daysInMonth': {'type': 'integer'}, 'dominantSentiment': {'type': 'string'}}}}, 'symbol': {'type': 'string', 'nullable': True}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
funding_rates
Get live perpetual futures funding rates — top tokens across Gate.io, MEXC, Kraken with bullish/bearish sentiment — Perpetual futures funding rates aggregated from Gate.io, MEXC, and Kraken, with a derived sentiment label. 3-min cache; check `meta.cacheAgeSeconds` for exact age. `meta.exchangeCount` tells how many exchanges contributed data this cycle (up to 3).
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'meta': {'type': 'object', 'properties': {'updatedAt': {'type': 'string', 'format': 'date-time', 'description': 'ISO timestamp when this cache entry was populated.'}, 'exchangeCount': {'type': 'integer', 'description': 'Number of exchanges that contributed data this cycle (Gate.io, MEXC, Kraken — max 3).'}, 'cacheAgeSeconds': {'type': 'integer', 'description': 'Seconds since the cache was last refreshed.'}}, 'description': 'Response freshness metadata. 3-min cache; check `meta.cacheAgeSeconds` for exact age.'}, 'tokens': {'type': 'array', 'items': {'type': 'object', 'properties': {'avg': {'type': 'number'}, 'mexc': {'type': 'number'}, 'gateio': {'type': 'number'}, 'kraken': {'type': 'number'}, 'symbol': {'type': 'string'}, 'sentiment': {'type': 'string'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
funding_rates_history
Funding rates history (daily snapshots) — Returns the daily historical perpetual futures funding rate for a single token over the last N days (default 30, max 180). Rates are sourced from Gate.io, MEXC, and Kraken, recorded once per day from the live 5-min funding-rate cycle. Top 10 tokens by volume are snapshotted: BTC, ETH, SOL, BNB, XRP, DOGE, ADA, AVAX, LINK, DOT. Each day includes per-exchange rates (gateio/mexc/kraken) plus a derived avg and sentiment label. Sentiment: avg > 0.05% = bearish (leveraged longs paying shorts → market top signal); avg < -0.01% = bullish (shorts paying longs → market bottom signal); otherwise neutral. Use ?symbol=BTC&days=30 (symbol defaults to BTC; days is 1–180). Cold-start days with no data are omitted. Cached 5min. — Use this for daily historical data; use the corresponding live snapshot tool for current conditions and the monthly tool for long-term trends.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of recent days to return (1–180, default 30).'}, 'symbol': {'type': 'string', 'default': 'BTC', 'description': 'Token symbol to look up (BTC, ETH, SOL, BNB, XRP, DOGE, ADA, AVAX, LINK, DOT). Case-insensitive. Defaults to BTC.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'days': {'type': 'number'}, 'total': {'type': 'number'}, 'symbol': {'type': 'string'}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'avg': {'type': 'number', 'description': 'Average across available exchanges.'}, 'date': {'type': 'string', 'format': 'date', 'description': 'Snapshot date (YYYY-MM-DD, UTC).'}, 'mexc': {'type': 'number', 'nullable': True, 'description': 'MEXC funding rate in %. Null when unavailable.'}, 'gateio': {'type': 'number', 'nullable': True, 'description': 'Gate.io funding rate in % (e.g. 0.01 = 0.01% per 8h). Null when unavailable.'}, 'kraken': {'type': 'number', 'nullable': True, 'description': 'Kraken funding rate in %. Null when unavailable.'}, 'sentiment': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string', 'description': 'Market sentiment derived from avg: >0.05% bearish (top signal), <-0.01% bullish (bottom signal).'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
gas
Get real-time gas prices across 7 chains — ETH, SOL, BNB, Base, ARB, Polygon, AVAX with USD fee estimates — Current gas/transaction fees across ETH, SOL, BNB, Base, ARB, Polygon, and AVAX, with USD estimates per speed tier. 30s cache; check `meta.cacheAgeSeconds` for exact age. `meta.chainCount` tells how many networks are in the current response.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'meta': {'type': 'object', 'properties': {'updatedAt': {'type': 'string', 'format': 'date-time', 'description': 'ISO timestamp when this cache entry was populated.'}, 'chainCount': {'type': 'integer', 'description': 'Number of chains/networks in this response.'}, 'cacheAgeSeconds': {'type': 'integer', 'description': 'Seconds since the cache was last refreshed.'}}, 'description': 'Response freshness metadata. 30s cache; check `meta.cacheAgeSeconds` for exact age.'}, 'networks': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'chain': {'type': 'string'}, 'level': {'type': 'string'}, 'standard': {'type': 'object'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
gas_price_history
Get daily gas price history — ETH/BNB/ARB/POLY/BASE fast gwei + SOL lamports over up to 90 days — Daily historical gas prices across 7 blockchain networks. One row per day: ETH fast gwei, ETH standard gwei, BNB fast gwei, ARB fast gwei, POLYGON fast gwei, BASE fast gwei, and SOL priority fee in lamports. Useful for tracking gas fee trends and identifying high/low gas periods. DB-backed, 5-min cache. Powered by gas_price_daily table (365d retention, permanent monthly archive). — Use this for daily historical data; use the corresponding live snapshot tool for current conditions and the monthly tool for long-term trends.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–90, default 30).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'days': {'type': 'number'}, 'total': {'type': 'number'}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD snapshot date.'}, 'arbFastGwei': {'type': 'number', 'nullable': True, 'description': 'Arbitrum fast gas price in gwei.'}, 'bnbFastGwei': {'type': 'number', 'nullable': True, 'description': 'BNB Smart Chain fast gas price in gwei.'}, 'ethFastGwei': {'type': 'number', 'nullable': True, 'description': 'ETH fast gas price in gwei.'}, 'solLamports': {'type': 'number', 'nullable': True, 'description': 'Solana priority fee in lamports.'}, 'baseFastGwei': {'type': 'number', 'nullable': True, 'description': 'Base (Coinbase L2) fast gas price in gwei.'}, 'polyFastGwei': {'type': 'number', 'nullable': True, 'description': 'Polygon fast gas price in gwei.'}, 'ethStandardGwei': {'type': 'number', 'nullable': True, 'description': 'ETH standard (safe) gas price in gwei.'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
golden_alerts_history
Golden Alerts history (daily summaries) — Returns a daily summary of Golden Alerts for the last N days (default 30, max 180). Each day's entry includes the total alert count plus a breakdown by severity (high/medium/low) derived from alert confidence scores (≥75 = high, ≥50 = medium, <50 = low), and the top tokens that appeared most frequently in alerts that day. Backfilled from 17 days of real signal_history data (confidence scores from 49,000+ on-chain signals). Data is persisted once per 5-min alert cycle via ON CONFLICT DO UPDATE so each day's entry reflects the latest alert state at last refresh. Days with no data are omitted from the history array. Use ?days=N to control the look-back window (1–180, default 30). Cached 5min. — Use this for daily historical data; use the corresponding live snapshot tool for current conditions and the monthly tool for long-term trends.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of recent days to return (1–180, default 30).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'days': {'type': 'number'}, 'total': {'type': 'number'}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'Snapshot date (YYYY-MM-DD, UTC).'}, 'lowCount': {'type': 'integer', 'description': 'Alerts with confidence <50 (low severity).'}, 'highCount': {'type': 'integer', 'description': 'Alerts with confidence ≥75 (high severity).'}, 'topTokens': {'type': 'array', 'items': {'type': 'string'}}, 'totalCount': {'type': 'integer', 'description': 'Total number of Golden Alerts generated that day.'}, 'mediumCount': {'type': 'integer', 'description': 'Alerts with confidence 50–74 (medium severity).'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
golden_alerts_monthly
Golden Alerts permanent monthly archive — Returns the permanent monthly archive of Golden Alert activity — one row per calendar month, aggregated from daily snapshots before they are purged. This archive is never deleted and grows indefinitely, providing AI agents with long-term trend data on alert severity and top tokens across months and years. Each month includes: totalCount (total alerts that month), highCount/mediumCount/lowCount (severity breakdown), topTokens (5 most-active tokens), daysInMonth (days with data), avgPerDay (daily average). Months with fewer than 20 daily records are excluded to ensure statistical accuracy. Data source: CryptoWhaleInsights own signal_history database (49,000+ on-chain signals). No authentication required. 60 req/min. 5-min cache. — Use this for long-term monthly archive data; use the corresponding live or daily-history tool for current or finer-grained data.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number'}, 'months': {'type': 'array', 'items': {'type': 'object', 'properties': {'month': {'type': 'string', 'format': 'date', 'description': 'First day of the month (YYYY-MM-01, UTC).'}, 'lowCount': {'type': 'integer'}, 'avgPerDay': {'type': 'number'}, 'highCount': {'type': 'integer'}, 'topTokens': {'type': 'array', 'items': {'type': 'string'}}, 'totalCount': {'type': 'integer'}, 'daysInMonth': {'type': 'integer'}, 'mediumCount': {'type': 'integer'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
golden_alerts_snapshot
Golden Alerts snapshot — latest market intelligence alerts (public, MCP-compatible) — Returns the latest snapshot of CryptoWhaleInsights Golden Alerts — up to 27 high-signal market alerts refreshed every 5 minutes by the platform's cron job. Each alert represents a confluence of whale on-chain activity, volume momentum, and Fear & Greed context. This endpoint reads directly from the in-process cache (no new AI query triggered per request). Pro-only fields (raw confidence score, internal factors, price targets, exit signals) are intentionally omitted; severity is mapped to low/medium/high for public consumption. Alert types: accumulation | fear_buy | smart_money_loading | volume_breakout | whale_convergence. Severity mapping: high (confidence ≥70%), medium (45–69%), low (<45%). Response: { alerts[], total, refreshedAt (ISO-8601 or null if cache empty), updatedAt }. Each alert: id, title, type, severity, tokens (string[]), chains (string[]), summary, aiInsight, analystId (string | null), createdAt. No authentic
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number', 'description': 'Number of alerts in the snapshot'}, 'alerts': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': "Unique alert identifier, e.g. 'ga-1719220800000-abc123'"}, 'type': {'type': 'string', 'description': 'Alert classification: accumulation | fear_buy | smart_money_loading | volume_breakout | whale_convergence'}, 'title': {'type': 'string', 'description': "Human-readable alert title, e.g. 'Fear Buy Opportunity'"}, 'chains': {'type': 'array', 'items': {'type': 'string'}, 'description': "Blockchain networks, e.g. ['bitcoin', 'ethereum']"}, 'tokens': {'type': 'array', 'items': {'type': 'string'}, 'description': "Token symbols involved, e.g. ['BTC', 'ETH']"}, 'summary': {'type': 'string', 'description': 'Signal summary combining whale moves, volume, and Fear & Greed context'}, 'severity': {'type': 'string', 'description': "'high' (confidence ≥70%) | 'medium' (45–69%) | 'low' (<45%)"}, 'aiInsight': {'type': 'string', 'description': 'One-sentence AI-generated actionable insight'}, 'analystId': {'type': 'string', 'nullable': True, 'description': 'Attributed analyst slug: chain_hawk | whale_watch | alpha_scout | defi_pulse | quant_edge | rate_hawk | flow_tracer | unlock_guard | sentiment_edge | narrative_pulse | null'}, 'createdAt': {'type': 'string', 'format': 'date-time', 'description': 'When this alert was generated'}}}, 'description': 'Golden Alerts sorted by severity (highest first), up to 27 entries.'}, 'updatedAt': {'type': 'string', 'format': 'date-time', 'description': 'Response generation timestamp'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'refreshedAt': {'type': 'string', 'format': 'date-time', 'nullable': True, 'description': 'When the cron job last populated the cache; null if cache is empty'}}}
leverage_history
Get daily Leverage Radar market-level history — avg/max pressure score, setup score, assets in critical zone, dominant regime, Fear & Greed over up to 90 days — Daily historical Leverage Radar market aggregates. One row per day: average pressure score across 30 tracked assets, maximum single-asset pressure, average setup score, count of assets in critical zone (≥76), dominant market regime, Fear & Greed index, and top-pressure asset symbol. DB-backed, 30-min cache. Pro-only per-asset detail excluded — market-level only. — Use this for daily historical data; use the corresponding live snapshot tool for current conditions and the monthly tool for long-term trends.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–90, default 30).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'days': {'type': 'number'}, 'total': {'type': 'number'}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD snapshot date.'}, 'fearGreed': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'nullable': True, 'description': 'Platform Fear & Greed index for the day.'}, 'avgSetupScore': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Average setup score across tracked assets.'}, 'whaleBuyCount': {'type': 'integer', 'description': 'Whale buy signals that day.'}, 'dominantRegime': {'enum': ['Bull', 'Bear', 'Sideways', 'Accumulation', 'Unknown'], 'type': 'string', 'description': 'Market regime detected for the day.'}, 'whaleSellCount': {'type': 'integer', 'description': 'Whale sell signals that day.'}, 'assetsInCritical': {'type': 'integer', 'description': 'Count of assets with pressureScore ≥ 76 (critical/danger zone).'}, 'avgPressureScore': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Average pressure score across all tracked assets (0-100).'}, 'maxPressureScore': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Highest single-asset pressure score of the day.'}, 'topPressureSymbol': {'type': 'string', 'nullable': True, 'description': 'Ticker symbol of the highest-pressure asset.'}, 'assetsInDangerZone': {'type': 'integer', 'description': 'Count of assets with Danger Zone setup label.'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
leverage_picks_summary
Get Leverage Radar pick accuracy summary — historical win rate, avg return, and total pick counts across all recorded Best Trade Now picks — Aggregate accuracy statistics for all 'Best Trade Now' picks recorded by the Leverage Radar tool. Picks are saved automatically every 5 minutes when a high-confidence setup (score ≥ 60) is detected across 1h/4h/12h windows. Outcome is resolved after the close window elapses using live price data: win = +1.5% return for buy / −1.5% for sell. Records are permanent (never deleted) — this is a live data-provider proof-of-accuracy archive. Full pick list with entry/exit prices is Pro-only. 30-min cache.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string'}, 'wins': {'type': 'integer', 'description': 'Picks classified as win.'}, 'losses': {'type': 'integer', 'description': 'Picks classified as loss.'}, 'windows': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Trading windows tracked: 1h (scalp), 4h (swing), 12h (position).'}, 'neutrals': {'type': 'integer', 'description': 'Picks within ±1.5% (neutral).'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'totalPicks': {'type': 'integer', 'description': 'Total picks ever recorded (pending + resolved).'}, 'winRatePct': {'type': 'number', 'nullable': True, 'description': 'Win rate as a percentage (0–100). Null until first resolved picks exist.'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'avgReturnPct': {'type': 'number', 'nullable': True, 'description': 'Average return % across all resolved picks (positive = profitable on avg).'}, 'pendingPicks': {'type': 'integer', 'description': 'Picks still awaiting resolution (close window not yet elapsed).'}, 'resolvedPicks': {'type': 'integer', 'description': 'Picks with outcome resolved (close window elapsed).'}, 'avgWinReturnPct': {'type': 'number', 'nullable': True, 'description': 'Average return % for winning picks only.'}, 'winThresholdPct': {'type': 'number', 'description': 'Return threshold used to classify a pick as win/loss (currently 1.5%).'}}}
leverage_radar
Get current Leverage Radar snapshot — pressure scores, setup scores, top long/short setups, and market summary for 50 tracked assets — Public real-time snapshot of the Leverage Radar tool. Returns pressure score (0-100, how overleveraged each asset is) and setup score (0-100, how good a leveraged trade opportunity looks) for 50 tracked assets across majors, L2s, DeFi, and meme tokens. Includes market summary (overall bias, avg scores, Fear & Greed, market regime, whale buy/sell counts), top 5 long setups, top 5 short setups, and top 5 pressure alerts. Pro-only fields stripped: whale X multiplier, exact whale USD volumes, detailed setup factors, and Best Trade Now recommendation. 5-min cache. Supports ?window=1h|4h|12h (default 4h).
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'window': {'enum': ['1h', '4h', '12h'], 'type': 'string', 'default': '4h', 'description': 'Trading window: 1h (scalp), 4h (swing, default), 12h (position).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'note': {'type': 'string'}, 'window': {'enum': ['1h', '4h', '12h'], 'type': 'string', 'description': 'Trading window used for computation.'}, 'assetCount': {'type': 'integer', 'description': 'Total assets tracked (50).'}, 'computedAt': {'type': 'string', 'format': 'date-time'}, 'disclaimer': {'type': 'string'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'windowHours': {'enum': [1, 4, 12], 'type': 'integer', 'description': 'Window in hours.'}, 'marketSummary': {'type': 'object', 'properties': {'regime': {'type': 'string', 'nullable': True, 'description': 'Current market regime (Bull/Bear/Sideways/Accumulation).'}, 'fearGreed': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'nullable': True, 'description': 'Platform Fear & Greed index (0=Extreme Fear, 100=Extreme Greed).'}, 'overallBias': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string', 'description': 'Aggregated market bias derived from all scores.'}, 'avgSetupScore': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Average setup quality score across all tracked assets.'}, 'whaleBuyCount': {'type': 'integer', 'description': 'Whale buy signals in the selected window.'}, 'fearGreedLabel': {'type': 'string', 'nullable': True, 'description': 'Human-readable F&G classification.'}, 'whaleSellCount': {'type': 'integer', 'description': 'Whale sell signals in the selected window.'}, 'avgPressureScore': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Average pressure score across all 50 tracked assets.'}}}, 'topLongSetups': {'type': 'array', 'items': {'type': 'object', 'properties': {'symbol': {'type': 'string', 'description': 'Ticker symbol.'}, 'riskLevel': {'enum': ['low', 'medium', 'high', 'extreme'], 'type': 'string', 'description': 'Risk classification.'}, 'setupLabel': {'type': 'string', 'description': 'Decision label: Strong Long Setup, Weak Long Setup, Strong Short Setup, etc.'}, 'setupScore': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Setup quality score — higher = better trade opportunity.'}, 'fundingRate': {'type': 'number', 'nullable': True, 'description': 'Current funding rate % (negative=shorts pay longs).'}, 'pressureScore': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Leverage pressure score — higher = more overleveraged (dangerous).'}, 'priceChange24h': {'type': 'number', 'nullable': True, 'description': '24h price change %.'}}}}, 'pressureAlerts': {'type': 'array', 'items': {'type': 'object'}}, 'topShortSetups': {'type': 'array', 'items': {'type': 'object'}}}}
liquidations
Get leveraged-position liquidation estimates — long and short liquidation amounts in USD per token (5-min cache) — Estimated leveraged-position liquidations by token — how much USD in long positions and short positions were force-liquidated recently. Useful for identifying tokens with high leverage risk and likely volatility triggers. Derived from market price action and open interest data. Cached ~5min. Note: these are estimates, not exact exchange data (Binance Futures and Bybit are geo-restricted from the server).
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'tokens': {'type': 'array', 'items': {'type': 'object', 'properties': {'symbol': {'type': 'string'}, 'longLiquidations': {'type': 'number'}, 'shortLiquidations': {'type': 'number'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'binanceSources': {'type': 'boolean'}}}
live_stats
Get live activity counters — whale moves today, smart-money wallets active, golden alerts (10s cache) — Live activity snapshot for the platform (real recent counts, no fabricated floors). Cached ~10s. Response includes `meta.updatedAt` and `meta.cacheAgeSeconds` (derived from the underlying whale-copy-signals cache timestamp; 0 when the cache is cold).
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'meta': {'type': 'object', 'properties': {'updatedAt': {'type': 'string', 'format': 'date-time', 'description': 'ISO timestamp of the underlying whale-signals cache.'}, 'cacheAgeSeconds': {'type': 'integer', 'description': 'Seconds since the cache was last populated. 0 means just refreshed.'}}, 'description': 'Response freshness metadata. 10s cache; check `meta.cacheAgeSeconds` for exact age.'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'activeAlerts': {'type': 'number'}, 'whaleMovesToday': {'type': 'number'}, 'smartMoneyWallets': {'type': 'number'}}}
market_context
Get aggregated market context for a date in one call — Fear & Greed, whale summary, sentiment, stablecoin flows, funding rates, golden alerts, analyst summaries (8 sources parallel) — Single-call aggregated market snapshot for a given date. Queries 8 data sources in parallel — Fear & Greed, whale daily summary, social sentiment (BTC/ETH/SOL), stablecoin flows, BTC funding rates, Golden Alerts daily count, analyst daily summaries (shortSummary only), and top arbitrage opportunities. No authentication required. Use ?date=YYYY-MM-DD (default = today; max 730 days back / 2 years). For dates older than 365 days where daily snapshots have been purged, the endpoint automatically falls back to the permanent monthly archive tables, returning monthly averages instead of daily values. metadata.resolution indicates 'daily' (exact day data) or 'monthly' (monthly averages from archive). metadata.dataCompleteness is the percentage of the 8 sources that have data for the requested date (0-100%). Today is cached 5 minutes; hi
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'Date to retrieve (YYYY-MM-DD). Defaults to today. Max 730 days back (2 years). Dates older than 365d automatically use monthly archive.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'Requested date (YYYY-MM-DD)'}, 'metadata': {'type': 'object', 'properties': {'date': {'type': 'string'}, 'isToday': {'type': 'boolean'}, 'resolution': {'enum': ['daily', 'monthly'], 'type': 'string', 'description': "'daily' = exact day data from snapshots; 'monthly' = monthly averages from permanent archive (triggered for dates >180 days old with <50% daily completeness)"}, 'generatedAt': {'type': 'string', 'format': 'date-time'}, 'sourcesTotal': {'type': 'number'}, 'dataCompleteness': {'type': 'number', 'description': 'Percentage of 8 sources with data for this date (0-100)'}, 'sourcesAvailable': {'type': 'number'}}}, 'arbitrage': {'type': 'array', 'items': {'type': 'object', 'properties': {'symbol': {'type': 'string'}, 'spreadPct': {'type': 'number'}, 'usdVolume': {'type': 'number'}, 'buyExchange': {'type': 'string'}, 'sellExchange': {'type': 'string'}}, 'description': 'Top arbitrage opportunity (only available for daily resolution ≤180 days).'}}, 'fearGreed': {'type': 'object', 'nullable': True, 'properties': {'score': {'type': 'number'}, 'classification': {'type': 'string'}}, 'description': 'Fear & Greed index for the date (daily score or monthly avg when resolution=monthly).'}, 'sentiment': {'type': 'array', 'items': {'type': 'object', 'properties': {'score': {'type': 'number', 'nullable': True}, 'symbol': {'type': 'string'}, 'sentiment': {'type': 'string', 'nullable': True}}, 'description': 'Social sentiment score for one token.'}, 'description': 'Social sentiment for BTC, ETH, SOL (daily score or monthly avg when resolution=monthly).'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'stablecoin': {'type': 'object', 'nullable': True, 'properties': {'signal': {'type': 'string', 'nullable': True}, 'totalNow': {'type': 'number'}, 'totalFlow24h': {'type': 'number'}}, 'description': 'Stablecoin flow snapshot for the date.'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'fundingRates': {'type': 'object', 'properties': {'avg': {'type': 'number', 'nullable': True}, 'symbol': {'type': 'string'}, 'sentiment': {'type': 'string', 'nullable': True}, 'byExchange': {'type': 'object'}}, 'description': 'BTC perpetual funding rate summary for the date (daily or monthly avg).'}, 'goldenAlerts': {'type': 'object', 'nullable': True, 'properties': {'lowCount': {'type': 'number'}, 'highCount': {'type': 'number'}, 'topTokens': {'type': 'array', 'items': {'type': 'string'}}, 'totalCount': {'type': 'number'}, 'mediumCount': {'type': 'number'}}, 'description': 'Golden Alerts daily summary for the date.'}, 'whaleSummary': {'type': 'object', 'nullable': True, 'properties': {'totalMoves': {'type': 'number'}, 'inflowCount': {'type': 'number'}, 'outflowCount': {'type': 'number'}, 'totalUsdValue': {'type': 'number'}}, 'description': 'Aggregated whale movement counts for the date.'}, 'analystSummaries': {'type': 'array', 'items': {'type': 'object', 'properties': {'btcTrend': {'type': 'string', 'nullable': True}, 'analystId': {'type': 'string'}, 'signalCount': {'type': 'number'}, 'shortSummary': {'type': 'string'}, 'confluenceScore': {'type': 'number', 'nullable': True}}, 'description': "One analyst's public daily summary (only available for daily resolution)."}}}}
market_heatmap
Get token market heatmap — top tokens ranked by 24h performance with volume, market cap, chain (5-min cache) — Market-wide token heatmap: top tokens by 24h volume with price change, volume, market cap, and chain, blended from CoinGecko top markets plus emerging/hidden-gem tokens. Non-gated. Cached ~5min.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number'}, 'chains': {'type': 'array', 'items': {'type': 'string'}}, 'tokens': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'chain': {'type': 'string'}, 'symbol': {'type': 'string'}, 'priceUsd': {'type': 'string'}, 'marketCap': {'type': 'number'}, 'volume24h': {'type': 'number'}, 'priceChange24h': {'type': 'number'}}}}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'lastUpdated': {'type': 'string', 'format': 'date-time'}}}
market_pulse_history
Get daily Market Pulse history — BUY/SELL/NEUTRAL verdict, confidence %, Fear & Greed, regime, whale buy ratio, leverage suggestion over up to 90 days — Daily historical Market Pulse verdict and confidence. One row per day: BUY/SELL/NEUTRAL verdict, confidence percentage, Fear & Greed score, market regime (Bull/Bear/Sideways/Accumulation), whale buy ratio (0-1), average leverage pressure score (0-100), and leverage suggestion. DB-backed, 5-min cache. Powered by market_pulse_daily table (365d retention, permanent monthly archive). — Use this for daily historical data; use the corresponding live snapshot tool for current conditions and the monthly tool for long-term trends.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–90, default 30).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'days': {'type': 'number'}, 'total': {'type': 'number'}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD snapshot date.'}, 'regime': {'enum': ['Bull', 'Bear', 'Sideways', 'Accumulation'], 'type': 'string', 'nullable': True, 'description': 'Market regime detected for the day.'}, 'verdict': {'enum': ['BUY', 'SELL', 'NEUTRAL'], 'type': 'string', 'description': 'Aggregated market verdict for the day.'}, 'confidence': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Confidence percentage for the verdict (0-100).'}, 'whaleBuyRatio': {'type': 'number', 'maximum': 1, 'minimum': 0, 'nullable': True, 'description': 'Ratio of whale buy signals vs total signals (0=all sell, 1=all buy).'}, 'fearGreedScore': {'type': 'number', 'maximum': 100, 'minimum': 0, 'nullable': True, 'description': 'Platform Fear & Greed index for the day.'}, 'avgPressureScore': {'type': 'number', 'maximum': 100, 'minimum': 0, 'nullable': True, 'description': 'Average leverage pressure score across tracked assets.'}, 'leverageSuggestion': {'enum': ['none', 'low', 'moderate', 'high'], 'type': 'string', 'nullable': True, 'description': 'Derived leverage level suggestion.'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
narrative_history
Get daily narrative/sector history — top crypto market sectors ranked by market cap change %, strength, and token count over up to 90 days — Daily historical narrative strength per market sector (e.g. DeFi, Layer 2, AI, Meme Coins) from CoinGecko Categories. One row per day per sector: market cap change %, strength score (0-100), token count in sector, daily rank, and top tokens. Filter by ?sector= for a single sector trend. Useful for identifying which narratives are accelerating or fading. DB-backed, 5-min cache. Powered by narrative_daily table (365d retention, permanent monthly archive). — Use this for daily historical data; use the corresponding live snapshot tool for current conditions and the monthly tool for long-term trends.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–90, default 30).'}, 'sector': {'type': 'string', 'description': "Optional sector name filter (e.g. 'Artificial Intelligence'). Returns all sectors when omitted."}}}
Schéma de sortie
{'type': 'object', 'properties': {'days': {'type': 'number'}, 'total': {'type': 'number'}, 'sector': {'type': 'string', 'nullable': True, 'description': 'Sector filter applied (null = all sectors).'}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD snapshot date.'}, 'rank': {'type': 'integer', 'description': 'Sector rank for the day (1 = strongest).'}, 'sector': {'type': 'string', 'description': "Market sector / narrative name (e.g. 'Artificial Intelligence', 'Layer 2', 'DeFi')."}, 'strength': {'type': 'number', 'maximum': 100, 'minimum': 0, 'nullable': True, 'description': 'Composite narrative strength score (0-100).'}, 'topTokens': {'type': 'array', 'items': {'type': 'string'}, 'nullable': True, 'description': 'Top token symbols in this sector.'}, 'tokenCount': {'type': 'integer', 'description': 'Number of tokens in this sector.'}, 'marketCapChangePct': {'type': 'number', 'nullable': True, 'description': '24h market cap change % for the sector.'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
narratives
Get top trending market narrative sectors — AI, RWA, DePIN, memecoins with momentum and top tokens (top 3 free) — Trending market narratives (e.g. AI, RWA, memecoins, DePIN) derived from CoinGecko Categories with their leading tokens. Free preview: top 3 narratives (3 tokens each); the full set requires a Weekly Alpha subscription. Cached ~30min.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'narratives': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'tokens': {'type': 'array', 'items': {'type': 'object'}}, 'change24h': {'type': 'number'}, 'marketCap': {'type': 'number'}}}}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'requiredTierForFull': {'type': 'string'}}}
platform_stats
Get canonical platform metrics — tracked wallets, chains, win rate, BTC benchmark — Canonical platform metrics: tracked wallets, chains, tokens, tools, languages, supported chain list, plus a safe aggregate performance subset (win rate, average return, BTC benchmark). Cached ~60s. Response includes `meta.updatedAt` (ISO timestamp of when the response was generated).
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'live': {'type': 'object'}, 'meta': {'type': 'object', 'properties': {'updatedAt': {'type': 'string', 'format': 'date-time', 'description': 'ISO timestamp of when the response was generated.'}}, 'description': 'Response freshness metadata.'}, 'chains': {'type': 'number'}, 'chainList': {'type': 'array', 'items': {'type': 'string'}}, 'freeTools': {'type': 'number'}, 'languages': {'type': 'number'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'dataSources': {'type': 'number'}, 'performance': {'type': 'object', 'properties': {'wins': {'type': 'number', 'description': 'Number of winning resolved signals.'}, 'losses': {'type': 'number', 'description': 'Number of losing resolved signals.'}, 'winRate': {'type': 'number', 'description': 'Percentage of resolved signals that were profitable (0–100).'}, 'avgReturn': {'type': 'number', 'description': 'Average return across all resolved signals (%).'}, 'dataStartedAt': {'type': 'string', 'format': 'date-time', 'nullable': True, 'description': 'ISO timestamp of the oldest resolved signal.'}, 'totalResolved': {'type': 'number', 'description': 'Total number of signals with a resolved outcome.'}, 'avgBtcBenchmark': {'type': 'number', 'nullable': True, 'description': 'Average BTC price change over the same holding windows as the resolved signals (%). Null when not enough data.'}, 'totalSignalCount': {'type': 'number', 'description': 'All-time signal count (including unresolved).'}}, 'description': 'Aggregate signal performance metrics.'}, 'tokensTracked': {'type': 'number'}, 'trackedWallets': {'type': 'number'}}}
recent_whales
Get the latest 3 whale transfers right now — live snapshot across 14 chains (use whale_activity for counts, whale_movements for paginated archive) — The most recent on-chain whale movements detected across supported chains, each with an explorer-verifiable reference. 10-min cache; check `meta.cacheAgeSeconds` for exact age. `meta.chainCount` is the number of unique chains represented in the cache; `meta.signalCount` is the total cached signal count before the top-3 slice.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'meta': {'type': 'object', 'properties': {'updatedAt': {'type': 'string', 'format': 'date-time', 'description': 'ISO timestamp of the underlying whale-signals cache.'}, 'chainCount': {'type': 'integer', 'description': 'Number of unique chains in the current cache.'}, 'signalCount': {'type': 'integer', 'description': 'Total cached whale signals (before top-3 slice).'}, 'cacheAgeSeconds': {'type': 'integer', 'description': 'Seconds since the whale-signals cache was last refreshed.'}}, 'description': 'Response freshness metadata. 10-min cache; check `meta.cacheAgeSeconds` for exact age.'}, 'whales': {'type': 'array', 'items': {'type': 'object', 'properties': {'chain': {'type': 'string'}, 'token': {'type': 'string'}, 'amountUsd': {'type': 'number'}, 'direction': {'type': 'string'}, 'explorerUrl': {'type': 'string', 'format': 'uri'}}}}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
reports_index
Weekly reports index — titles, summaries and dates (public, MCP-compatible) — Returns a public index of the last 12 weekly Alpha reports: title, a short plain-text summary (≤300 characters), the publish date, and the week covered. Full report content (HTML in 5 languages) remains Pro-only on GET /api/content/weekly-reports. AI agents can use this endpoint to inform users about recent report topics and dates without any authentication. Response: { reports[], total, updatedAt }. Each report: id (string), title (string), summary (string, ≤300 chars), publishedAt (ISO-8601), weekOf (YYYY-MM-DD). No authentication required. Cached 1 hour (reports are generated weekly). 60 requests/min rate limit.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number', 'description': 'Number of reports returned (≤12).'}, 'reports': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': "Unique report ID, e.g. 'report-2026-W25'"}, 'title': {'type': 'string', 'description': "English report title, e.g. 'Weekly Alpha Report — BTC breakout & ETH accumulation signals'"}, 'weekOf': {'type': 'string', 'description': "Start date of the covered week (YYYY-MM-DD), e.g. '2026-06-16'."}, 'summary': {'type': 'string', 'description': 'Plain-text summary extracted from the English report, truncated to 300 characters.'}, 'publishedAt': {'type': 'string', 'format': 'date-time', 'description': 'When the report was generated (ISO-8601).'}}}, 'description': 'Weekly report metadata in reverse-chronological order (newest first). Maximum 12 entries.'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
sentiment_history
Social sentiment history (daily snapshots) — Returns the daily historical social-sentiment score for a single token over the last N days (default 30, max 180). Data is sourced from CryptoWhaleInsights' own in-house Social Sentiment engine (Stocktwits + CoinGecko + price-momentum — no Twitter API). Each day is recorded once per day from the live 5-min sentiment cycle. Cold-start days with no data are omitted. Use ?symbol=BTC&days=30 (symbol is required; days is optional 1–180). Supported symbols: BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, MATIC, DOT, LINK, UNI, ATOM, ARB, OP, SUI, SEI, NEAR, APT, PEPE, WIF, BONK, FET, RENDER, TAO, AAVE, MKR, LDO, INJ, TON, STX, TIA, PYTH, BLUR, MINA, and more. Score is 0–100 (≥60 bullish, ≤40 bearish). Cached 5min. — Use this for daily historical data; use the corresponding live snapshot tool for current conditions and the monthly tool for long-term trends.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['symbol'], 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of recent days to return (1–180, default 30).'}, 'symbol': {'type': 'string', 'description': 'Token symbol to look up (e.g. BTC, ETH, SOL). Case-insensitive.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'days': {'type': 'number'}, 'total': {'type': 'number'}, 'symbol': {'type': 'string'}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'Snapshot date (YYYY-MM-DD, UTC).'}, 'score': {'type': 'integer', 'description': 'Sentiment score 0–100 (≥60 bullish, ≤40 bearish).'}, 'sentiment': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
sentiment_monthly
Social sentiment permanent monthly archive — Returns the permanent monthly archive of social sentiment per token — one row per token per calendar month, aggregated from daily snapshots before purge. Never deleted; covers 35 tracked tokens. Optional ?symbol=BTC to filter by token. Each row includes: month, symbol, avgScore (0–100), dominantSentiment (bullish/neutral/bearish), daysInMonth. Months with fewer than 20 daily records are excluded. No authentication required. 60 req/min. 5-min cache. — Use this for long-term monthly archive data; use the corresponding live or daily-history tool for current or finer-grained data.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'symbol': {'type': 'string', 'description': 'Token symbol to filter by (e.g. BTC, ETH). Omit to return all 35 tokens.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number'}, 'months': {'type': 'array', 'items': {'type': 'object', 'properties': {'month': {'type': 'string', 'format': 'date'}, 'symbol': {'type': 'string'}, 'avgScore': {'type': 'number'}, 'daysInMonth': {'type': 'integer'}, 'dominantSentiment': {'type': 'string'}}}}, 'symbol': {'type': 'string', 'nullable': True}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
signal_history_monthly
Analyst signal performance permanent monthly archive — Returns the permanent monthly archive of analyst signal performance — one row per analyst per calendar month, aggregated from signal_history before months age out. Never deleted; covers all 10 CryptoWhaleInsights analysts (chain_hawk, whale_watch, alpha_scout, defi_pulse, quant_edge, rate_hawk, flow_tracer, unlock_guard, sentiment_edge, narrative_pulse). Optional ?analystId=chain_hawk to filter by a single analyst. Each row includes: month, analystId, totalSignals, winCount, lossCount, neutralCount, winRate (0–1 fraction), avgReturn (%, wins only), topSignalType, daysInMonth. Months with fewer than 5 signals are excluded. No authentication required. 60 req/min. 5-min cache. — Use this for long-term monthly archive data; use the corresponding live or daily-history tool for current or finer-grained data.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'analystId': {'type': 'string', 'description': 'Analyst ID to filter by (e.g. chain_hawk, whale_watch, alpha_scout, defi_pulse, quant_edge, rate_hawk, flow_tracer, unlock_guard, sentiment_edge, narrative_pulse). Omit for all analysts.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number'}, 'months': {'type': 'array', 'items': {'type': 'object', 'properties': {'month': {'type': 'string', 'format': 'date'}, 'winRate': {'type': 'number', 'description': 'Win rate as a fraction 0–1 (multiply by 100 for %).'}, 'winCount': {'type': 'integer'}, 'analystId': {'type': 'string'}, 'avgReturn': {'type': 'number', 'description': 'Average return % on winning signals.'}, 'lossCount': {'type': 'integer'}, 'daysInMonth': {'type': 'integer'}, 'neutralCount': {'type': 'integer'}, 'totalSignals': {'type': 'integer'}, 'topSignalType': {'type': 'string'}}}}, 'analystId': {'type': 'string', 'nullable': True}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
social_summary
Get aggregate market mood — overall sentiment score/label + top 5 tokens (no auth; use sentiment_history for per-token time-series) — Non-gated social sentiment summary: the aggregate market-mood score/label plus the top 5 tokens by sentiment (AI insight text excluded). Served from cache (no per-request AI cost). Full per-token AI insights require a Max Alpha subscription. Cached ~5min.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number'}, 'market': {'type': 'object', 'properties': {'label': {'type': 'string'}, 'score': {'type': 'number'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'bearishCount': {'type': 'number'}, 'bullishCount': {'type': 'number'}, 'neutralCount': {'type': 'number'}, 'topMentioned': {'type': 'array', 'items': {'type': 'string'}}}}, 'tokens': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'symbol': {'type': 'string'}, 'sentiment': {'type': 'string'}, 'overallScore': {'type': 'number'}, 'priceChange24h': {'type': 'number'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'requiredTierForFull': {'type': 'string'}}}
stablecoin_flows
Get current stablecoin supply & 24h net flows — USDT, USDC, DAI from DefiLlama (use stablecoin_history for daily time-series) — Current stablecoin circulating supply plus 24h net change (positive = expansion/inflow, negative = contraction/outflow) for USDT, USDC, DAI, and other major stablecoins, sourced from DefiLlama stablecoins.llama.fi. Use this endpoint for the current snapshot; use /api/public/stablecoin-history for daily time-series data (up to 180 days); use /api/public/stablecoin-monthly for long-term monthly trends. Cached ~30min.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'stables': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'symbol': {'type': 'string'}, 'change24h': {'type': 'number'}, 'circulating': {'type': 'number'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
stablecoin_history
Get daily historical stablecoin supply changes — net inflow/outflow per day over up to 180 days (use stablecoin_flows for the current snapshot) — Returns the daily historical stablecoin net-flow and total supply over the last N days (default 30, max 180). Each day is recorded once from the live DefiLlama stablecoin cycle. Cold-start days with no data are omitted. totalFlow24h is the net USD change in stablecoin supply that day (positive = expansion / inflow, negative = contraction / outflow). totalNow is the aggregate stablecoin market cap in USD at snapshot time. signal is bullish | bearish | neutral based on the 7-day net flow. Use ?days=30 to control the window. Cached 5min. — Use this for daily historical data; use the corresponding live snapshot tool for current conditions and the monthly tool for long-term trends.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of recent days to return (1–180, default 30).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'days': {'type': 'number'}, 'total': {'type': 'number'}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'Snapshot date (YYYY-MM-DD, UTC).'}, 'signal': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string'}, 'totalNow': {'type': 'number', 'description': 'Aggregate stablecoin market cap in USD at snapshot time.'}, 'totalFlow24h': {'type': 'number', 'description': 'Net USD change in stablecoin supply for that day. Positive = expansion.'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
stablecoin_monthly
Stablecoin flow permanent monthly archive — Returns the permanent monthly archive of stablecoin flow data — one row per calendar month, aggregated from daily snapshots before purge. Never deleted; provides AI agents with long-term macro liquidity context. Each month includes: totalNetFlow (sum of daily 24h flows), avgTotalSupply, dominantSignal (bullish/neutral/bearish), bullishDays, bearishDays, neutralDays, daysInMonth. No authentication required. 60 req/min. 5-min cache. — Use this for long-term monthly archive data; use the corresponding live or daily-history tool for current or finer-grained data.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number'}, 'months': {'type': 'array', 'items': {'type': 'object', 'properties': {'month': {'type': 'string', 'format': 'date'}, 'bearishDays': {'type': 'integer'}, 'bullishDays': {'type': 'integer'}, 'daysInMonth': {'type': 'integer'}, 'neutralDays': {'type': 'integer'}, 'totalNetFlow': {'type': 'number'}, 'avgTotalSupply': {'type': 'number'}, 'dominantSignal': {'type': 'string'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
status
Check live API & system health — operational/degraded verdict, per-source freshness, MCP tool count — Public health status of all CryptoWhaleInsights data sources, MCP server, and OpenAPI spec. Returns overall verdict (operational/degraded/outage), per-source health with age in seconds, recent 24-hour error count, MCP tool count, and OpenAPI path count. Useful for AI agents and developers to verify the platform is live before making requests. Cached ~30s.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'overall': {'enum': ['operational', 'degraded', 'outage'], 'type': 'string'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'status': {'enum': ['healthy', 'stale', 'failing', 'unknown'], 'type': 'string'}, 'ageSeconds': {'type': 'number', 'nullable': True}, 'lastSuccess': {'type': 'string', 'format': 'date-time', 'nullable': True}}}}, 'checkedAt': {'type': 'string', 'format': 'date-time'}, 'freshness': {'type': 'array', 'items': {'type': 'object', 'properties': {'label': {'type': 'string', 'description': "Human-readable name for the endpoint (e.g. 'Platform Stats')."}, 'status': {'enum': ['fresh', 'stale', 'cold'], 'type': 'string', 'description': "'fresh' = within the normal refresh window; 'stale' = older than the expected interval; 'cold' = cache has never been populated."}, 'endpoint': {'type': 'string', 'description': "The API path this freshness entry applies to (e.g. '/api/public/platform-stats')."}, 'cacheAgeSeconds': {'type': 'number', 'nullable': True, 'description': 'How many seconds have elapsed since the cache was last populated. Null when the cache has never been populated (cold start).'}, 'cacheIntervalSeconds': {'type': 'number', 'description': "How often this endpoint's data is refreshed, in seconds."}}}, 'description': 'Per-endpoint cache freshness data. Each entry describes how stale a cached API response is, so AI agents can decide whether to trust the data without making an extra request.'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'mcpToolCount': {'type': 'number'}, 'openApiPaths': {'type': 'number'}, 'errorCount24h': {'type': 'number'}}}
tax_rates
Get crypto capital-gains tax rate brackets by jurisdiction — US, UK, DE, AU, CA, IN, AE, SG (educational reference) — Reference crypto tax-rate brackets across supported jurisdictions (US, UK, DE, AU, CA, IN, AE, SG, OTHER) for the tax calculator. Educational only — not tax advice. Cached ~1hr.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'rates': {'type': 'object'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
trending
Get currently trending crypto tokens — top gainers by 24h volume from DexScreener + CoinGecko merged (5-min cache) — Currently trending tokens sourced from DexScreener + CoinGecko top-50, merged and ranked by 24h volume. 5-min cache; check `meta.cacheAgeSeconds` for exact age. `meta.tokenCount` reflects the number of tokens in the current response.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'meta': {'type': 'object', 'properties': {'updatedAt': {'type': 'string', 'format': 'date-time', 'description': 'ISO timestamp when this cache entry was populated.'}, 'tokenCount': {'type': 'integer', 'description': 'Number of tokens in this response.'}, 'cacheAgeSeconds': {'type': 'integer', 'description': 'Seconds since the cache was last refreshed.'}}, 'description': 'Response freshness metadata. 5-min cache; check `meta.cacheAgeSeconds` for exact age.'}, 'tokens': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'symbol': {'type': 'string'}, 'priceUsd': {'type': 'number'}, 'volume24h': {'type': 'number'}, 'priceChange24h': {'type': 'number'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
whale_activity
Get whale activity aggregated by chain and direction — movement COUNTS by day over 1-30 days (not individual transfers; use whale_movements for individual records with amounts) — Aggregated, bounded time-series of recorded whale movements across all 14 supported chains, sourced from our internal signal-history archive. Returns honest movement COUNTS grouped by chain, by money-flow direction (inflow/outflow/transfer/unknown), and by day over a recent window — no per-transaction detail, wallet addresses or explorer links (those stay subscriber-gated at /api/whale-history). Use ?window=N to set the look-back in days (1–30, default 7). Counts only; no USD volume is reported because the archive carries no structured per-move USD figure. Served from cache (no per-request cost). Cached ~5min. — Use this for the current aggregated whale-activity snapshot; use whale_movements for individual transfers or whale_daily_summary for stored daily totals.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'window': {'type': 'integer', 'default': 7, 'maximum': 30, 'minimum': 1, 'description': 'Look-back window in days (1–30, default 7). Values outside the range are clamped.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'byDay': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string'}, 'count': {'type': 'number'}}}}, 'total': {'type': 'number'}, 'byChain': {'type': 'array', 'items': {'type': 'object', 'properties': {'chain': {'type': 'string'}, 'count': {'type': 'number'}, 'inflow': {'type': 'number'}, 'outflow': {'type': 'number'}, 'unknown': {'type': 'number'}, 'transfer': {'type': 'number'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'lastSeenAt': {'type': 'string', 'format': 'date-time', 'nullable': True}, 'windowDays': {'type': 'number'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'byDirection': {'type': 'object', 'properties': {'inflow': {'type': 'number'}, 'outflow': {'type': 'number'}, 'unknown': {'type': 'number'}, 'transfer': {'type': 'number'}}}, 'firstSeenAt': {'type': 'string', 'format': 'date-time', 'nullable': True}}}
whale_daily_summary
Get daily whale movement counts from the DB — per-chain inflow/outflow totals over N days (use for trend analysis, not individual transfers) — Returns daily aggregated whale movement counts over the last N days (default 30, max 180). Each row covers one UTC day and includes: total_moves (total whale signals recorded), total_usd_value (estimated USD volume from on-chain whale transactions), inflow_count (accumulation / buy-side moves), outflow_count (distribution / sell-side moves), and chains_breakdown (object mapping each chain to its move count for that day). Data is written once per 5-minute cron cycle via an upsert, so today's row is always current. Rows older than 365 days are automatically purged. Use ?days=30 to control the look-back window (1–180). Cached 5min. Answers questions like: 'How many whale moves happened in June?' or 'Which network was most active this week?' — Use this for stored daily whale totals; use whale_activity for the current snapshot or whale_movements for individual transfers.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of recent days to return (1–180, default 30).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'days': {'type': 'number'}, 'total': {'type': 'number'}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'Snapshot date (YYYY-MM-DD, UTC).'}, 'totalMoves': {'type': 'integer', 'description': 'Total whale move signals recorded on this day.'}, 'inflowCount': {'type': 'integer', 'description': 'Number of inflow (accumulation/buy-side) whale moves.'}, 'outflowCount': {'type': 'integer', 'description': 'Number of outflow (distribution/sell-side) whale moves.'}, 'totalUsdValue': {'type': 'number', 'description': 'Estimated total USD value of whale transactions on this day.'}, 'chainsBreakdown': {'type': 'object', 'description': "Object mapping chain name to move count for this day, e.g. { 'ETH': 12, 'BTC': 5, 'SOL': 8 }.", 'additionalProperties': {'type': 'integer'}}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
whale_monthly_archive
Whale movements permanent monthly archive — Returns the permanent monthly archive of whale movement activity — one row per calendar month, aggregated from daily whale summaries before they are purged. This archive is never deleted and grows indefinitely, enabling AI agents to answer historical questions like 'in which month were whale movements highest?' across years of data. Each month includes: totalMoves (total whale signals), totalUsdValue (cumulative USD value), inflowCount/outflowCount (directional breakdown), daysInMonth, avgMovesPerDay. Months with fewer than 20 daily records are excluded. Data source: CryptoWhaleInsights own signal_history database (80+ wallets, 14 chains). No authentication required. 60 req/min. 5-min cache.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'properties': {'total': {'type': 'number'}, 'months': {'type': 'array', 'items': {'type': 'object', 'properties': {'month': {'type': 'string', 'format': 'date', 'description': 'First day of the month (YYYY-MM-01, UTC).'}, 'totalMoves': {'type': 'integer'}, 'daysInMonth': {'type': 'integer'}, 'inflowCount': {'type': 'integer'}, 'outflowCount': {'type': 'integer'}, 'totalUsdValue': {'type': 'number'}, 'avgMovesPerDay': {'type': 'number'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
whale_movements
Public whale movements archive — paginated 1-year history (no auth, MCP-compatible) — Returns a paginated archive of large whale on-chain movements recorded in the CryptoWhaleInsights signal-history database, covering up to 1 year (365 days). This is the public, unauthenticated counterpart to the authenticated /api/whale-history endpoint: it omits the explorerUrl field (Pro-only). AI agents can use this to analyse historical on-chain flow direction (inflow/outflow/transfer) across 14 chains without any credentials. Supported chains (chain filter values): BTC, ETH, SOL, BSC, BASE, ARB, POLYGON, TON, SUI, HYPE, TRX, SEI, INJ, APT. Supported directions (direction filter values): inflow, outflow, transfer. Keyword search: use ?q= to filter by token name, signal summary, or wallet label (case-insensitive, max 100 chars). Example: ?q=USDT returns only moves mentioning USDT; ?q=ETH+Whale+%237 returns moves by that wallet label. USD filter: use ?minUsd= to only return movements at or above that real USD value, e.g. ?
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'q': {'type': 'string', 'maxLength': 100, 'description': 'Keyword search (case-insensitive, max 100 chars). Matches against token name, signal summary, or wallet label. Example: q=USDT returns moves mentioning USDT; q=ETH+Whale+%237 returns moves by that wallet label.'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': 'Page number (1-indexed, default 1).'}, 'chain': {'enum': ['BTC', 'ETH', 'SOL', 'BSC', 'BASE', 'ARB', 'POLYGON', 'TON', 'SUI', 'HYPE', 'TRX', 'SEI', 'INJ', 'APT'], 'type': 'string', 'description': 'Filter by chain. Valid values: BTC, ETH, SOL, BSC, BASE, ARB, POLYGON, TON, SUI, HYPE, TRX, SEI, INJ, APT. Default: all chains.'}, 'period': {'enum': ['7d', '30d', '90d', '365d'], 'type': 'string', 'default': '90d', 'description': 'Time window: 7d | 30d | 90d | 365d (default 90d). Use 365d to retrieve up to 1 year of history.'}, 'direction': {'enum': ['inflow', 'outflow', 'transfer'], 'type': 'string', 'description': 'Filter by flow direction: inflow | outflow | transfer. Default: all directions.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'page': {'type': 'number', 'description': 'Current page (1-indexed)'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'number', 'description': 'Unique signal row ID'}, 'chain': {'type': 'string', 'nullable': True, 'description': "Chain identifier, e.g. 'ETH', 'BTC', 'SOL'. Convenience alias for tokens[0]."}, 'amount': {'type': 'string', 'nullable': True, 'description': "Transfer amount in native token units, e.g. '1200 ETH'. Parsed from signal summary; null if not available."}, 'tokens': {'type': 'array', 'items': {'type': 'string'}, 'description': "Chain identifier in tokens[0], e.g. ['ETH']"}, 'outcome': {'type': 'string', 'nullable': True, 'description': "'win' | 'loss' | 'neutral' | null"}, 'usdValue': {'type': 'string', 'nullable': True, 'description': "Real USD value of the transfer, e.g. '$2.15M', computed from the resolved token price at signal time. Null if no price was resolvable."}, 'createdAt': {'type': 'string', 'format': 'date-time'}, 'direction': {'type': 'string', 'nullable': True, 'description': "'inflow' | 'outflow' | 'transfer' | null (unknown)"}, 'returnPct': {'type': 'number', 'nullable': True, 'description': 'Return in pct-points if resolved; null otherwise.'}, 'timestamp': {'type': 'string', 'format': 'date-time', 'description': 'ISO-8601 timestamp when the movement was recorded. Alias for createdAt.'}, 'typeLabel': {'type': 'string', 'description': "Always 'Whale Move' for this endpoint"}, 'walletLabel': {'type': 'string', 'nullable': True, 'description': "Human-readable wallet label, e.g. 'ETH Whale #3'"}}}, 'description': 'Whale movement records in reverse-chronological order.'}, 'total': {'type': 'number', 'description': 'Total matching records in the window'}, 'hasMore': {'type': 'boolean', 'description': 'Whether more pages are available'}, 'pageSize': {'type': 'number', 'description': 'Fixed at 20 records per page'}, 'sinceDays': {'type': 'number', 'description': 'Number of days of history returned'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
whale_movements_summary
Whale movements summary — aggregated stats rollup (no auth, MCP-compatible) — Returns an aggregated statistics rollup of whale on-chain movements over a period, so AI agents don't have to page through raw /api/public/whale-movements rows to compute totals themselves. Breaks down movement counts and REAL USD totals (from the same usd_value column as /api/public/whale-movements) by chain and by flow direction (inflow/outflow/transfer). USD totals only ever include rows with a resolvable price — `unresolvedUsdCount` reports how many movements in the window had no resolvable USD value, so totals are never silently inflated or fabricated. period filter: 7d | 30d | 90d (default 7d — a shorter default than the raw archive's 90d, since a rollup is most useful over a recent window). Response: { sinceDays, movementCount, movementsWithResolvedUsd, unresolvedUsdCount, totalUsd, byDirection, usdByDirection, topChainsByUsd[], firstSeenAt, lastSeenAt, dataSource, updatedAt }. No authentication required. 60 requests/min rate
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'period': {'enum': ['7d', '30d', '90d'], 'type': 'string', 'default': '7d', 'description': 'Time window: 7d | 30d | 90d (default 7d).'}}}
Schéma de sortie
{'type': 'object', 'properties': {'totalUsd': {'type': 'number', 'description': 'Sum of usd_value across all resolved movements in the window (whole dollars).'}, 'sinceDays': {'type': 'number', 'description': 'Number of days covered by this summary.'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'dataSource': {'type': 'string'}, 'lastSeenAt': {'type': 'string', 'format': 'date-time', 'nullable': True}, 'attribution': {'$ref': '#/components/schemas/Attribution'}, 'byDirection': {'type': 'object', 'properties': {'inflow': {'type': 'number'}, 'outflow': {'type': 'number'}, 'unknown': {'type': 'number'}, 'transfer': {'type': 'number'}}, 'description': 'Movement counts by flow direction.'}, 'firstSeenAt': {'type': 'string', 'format': 'date-time', 'nullable': True}, 'movementCount': {'type': 'number', 'description': 'Total whale movements recorded in the window.'}, 'topChainsByUsd': {'type': 'array', 'items': {'type': 'object', 'properties': {'chain': {'type': 'string'}, 'inflow': {'type': 'number'}, 'outflow': {'type': 'number'}, 'totalUsd': {'type': 'number'}, 'transfer': {'type': 'number'}, 'movementCount': {'type': 'number'}}}, 'description': 'Up to 10 chains ranked by total resolved USD volume in the window.'}, 'usdByDirection': {'type': 'object', 'properties': {'inflow': {'type': 'number'}, 'outflow': {'type': 'number'}, 'transfer': {'type': 'number'}}, 'description': 'Real USD totals by flow direction (resolved rows only).'}, 'unresolvedUsdCount': {'type': 'number', 'description': 'Movements with no resolvable USD value — excluded from every USD sum below.'}, 'movementsWithResolvedUsd': {'type': 'number', 'description': 'Subset of movementCount that had a resolvable USD value.'}}}
whale_score_history
Get daily whale score history — top tracked whale wallets ranked by composite score (win rate + avg return) over up to 90 days — Daily historical composite scores for tracked whale wallets. One row per wallet per day: wallet address, chain, label, composite score (0-100), win rate, average return %, and sample count. Only wallets with ≥5 resolved signals receive a score (honest, never fabricated). Filter by ?chain= for a single chain. Useful for tracking smart-money wallet performance trends. DB-backed, 5-min cache. Powered by whale_score_daily table (365d retention, permanent monthly archive). — Use this for daily historical data; use the corresponding live snapshot tool for current conditions and the monthly tool for long-term trends.
Lecture seule Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–90, default 30).'}, 'chain': {'type': 'string', 'description': 'Optional chain filter (ETH, BTC, SOL, BSC, ARB, etc.). Returns all chains when omitted.'}}}
Schéma de sortie
{'type': 'object', 'properties': {'days': {'type': 'number'}, 'chain': {'type': 'string', 'nullable': True, 'description': 'Chain filter applied (null = all chains).'}, 'total': {'type': 'number'}, 'history': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'YYYY-MM-DD snapshot date.'}, 'chain': {'type': 'string', 'nullable': True, 'description': 'Blockchain chain (ETH, BTC, SOL, BSC, etc.).'}, 'score': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Composite whale score (0-100, requires ≥5 resolved signals).'}, 'winRate': {'type': 'number', 'maximum': 1, 'minimum': 0, 'nullable': True, 'description': 'Win rate as a fraction (0.71 = 71%). Null when < 5 samples.'}, 'avgReturn': {'type': 'number', 'nullable': True, 'description': 'Average return % across resolved signals. Null when < 5 samples.'}, 'sampleCount': {'type': 'integer', 'description': 'Number of resolved signals used for score calculation.'}, 'walletLabel': {'type': 'string', 'nullable': True, 'description': 'Human-readable wallet label.'}, 'walletAddress': {'type': 'string', 'description': 'Blockchain wallet address.'}}}}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
Ajouté
fear_greed_history
17 September 2026 12:34
Ajouté
whale_score_history
17 September 2026 12:34
Ajouté
bridge_flow_history
17 September 2026 12:34
Ajouté
narrative_history
17 September 2026 12:34
Ajouté
gas_price_history
17 September 2026 12:34
Ajouté
market_pulse_history
17 September 2026 12:34
Ajouté
leverage_radar
17 September 2026 12:34
Ajouté
leverage_picks_summary
17 September 2026 12:34
Ajouté
leverage_history
17 September 2026 12:34
Ajouté
arbitrage_monthly
17 September 2026 12:34
Ajouté
market_context
17 September 2026 12:34
Ajouté
analyst_summary_history
17 September 2026 12:34
Ajouté
analyst_daily_summary
17 September 2026 12:34
Ajouté
arbitrage_history
17 September 2026 12:34
Ajouté
analyst_top_tokens
17 September 2026 12:34
Ajouté
signal_history_monthly
17 September 2026 12:34
Ajouté
funding_rate_monthly
17 September 2026 12:34
Ajouté
stablecoin_monthly
17 September 2026 12:34
Ajouté
sentiment_monthly
17 September 2026 12:34
Ajouté
fear_greed_monthly
17 September 2026 12:34
Ajouté
whale_monthly_archive
17 September 2026 12:34
Ajouté
golden_alerts_monthly
17 September 2026 12:34
Ajouté
golden_alerts_history
17 September 2026 12:34
Ajouté
analyst_monthly_performance
17 September 2026 12:34
Ajouté
golden_alerts_snapshot
17 September 2026 12:34
Ajouté
reports_index
17 September 2026 12:34
Ajouté
feed_archive
17 September 2026 12:34
Ajouté
whale_movements_summary
17 September 2026 12:34
Ajouté
whale_movements
17 September 2026 12:34
Ajouté
analyst_archive
17 September 2026 12:34