Servidor MCP

whale-insights

com.cryptowhaleinsights/whale-insights

Qué hace este 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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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)
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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?'
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 7, 'maximum': 180, 'minimum': 1, 'description': 'Number of days to look back (default 7, max 180).'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–90, default 30).'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–180, default 30).'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'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).'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'symbol': {'type': 'string', 'description': 'Token symbol to filter by (e.g. BTC, ETH). Omit to return all top-10 tokens.'}}}
Esquema de salida
{'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).
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–90, default 30).'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of recent days to return (1–180, default 30).'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–90, default 30).'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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).
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'window': {'enum': ['1h', '4h', '12h'], 'type': 'string', 'default': '4h', 'description': 'Trading window: 1h (scalp), 4h (swing, default), 12h (position).'}}}
Esquema de salida
{'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).
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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).
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–90, default 30).'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'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."}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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).
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'symbol': {'type': 'string', 'description': 'Token symbol to filter by (e.g. BTC, ETH). Omit to return all 35 tokens.'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of recent days to return (1–180, default 30).'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of recent days to return (1–180, default 30).'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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. ?
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'period': {'enum': ['7d', '30d', '90d'], 'type': 'string', 'default': '7d', 'description': 'Time window: 7d | 30d | 90d (default 7d).'}}}
Esquema de salida
{'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.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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'}}}
Añadido
fear_greed_history
17 de September de 2026 a las 12:34
Añadido
whale_score_history
17 de September de 2026 a las 12:34
Añadido
bridge_flow_history
17 de September de 2026 a las 12:34
Añadido
narrative_history
17 de September de 2026 a las 12:34
Añadido
gas_price_history
17 de September de 2026 a las 12:34
Añadido
market_pulse_history
17 de September de 2026 a las 12:34
Añadido
leverage_radar
17 de September de 2026 a las 12:34
Añadido
leverage_picks_summary
17 de September de 2026 a las 12:34
Añadido
leverage_history
17 de September de 2026 a las 12:34
Añadido
arbitrage_monthly
17 de September de 2026 a las 12:34
Añadido
market_context
17 de September de 2026 a las 12:34
Añadido
analyst_summary_history
17 de September de 2026 a las 12:34
Añadido
analyst_daily_summary
17 de September de 2026 a las 12:34
Añadido
arbitrage_history
17 de September de 2026 a las 12:34
Añadido
analyst_top_tokens
17 de September de 2026 a las 12:34
Añadido
signal_history_monthly
17 de September de 2026 a las 12:34
Añadido
funding_rate_monthly
17 de September de 2026 a las 12:34
Añadido
stablecoin_monthly
17 de September de 2026 a las 12:34
Añadido
sentiment_monthly
17 de September de 2026 a las 12:34
Añadido
fear_greed_monthly
17 de September de 2026 a las 12:34
Añadido
whale_monthly_archive
17 de September de 2026 a las 12:34
Añadido
golden_alerts_monthly
17 de September de 2026 a las 12:34
Añadido
golden_alerts_history
17 de September de 2026 a las 12:34
Añadido
analyst_monthly_performance
17 de September de 2026 a las 12:34
Añadido
golden_alerts_snapshot
17 de September de 2026 a las 12:34
Añadido
reports_index
17 de September de 2026 a las 12:34
Añadido
feed_archive
17 de September de 2026 a las 12:34
Añadido
whale_movements_summary
17 de September de 2026 a las 12:34
Añadido
whale_movements
17 de September de 2026 a las 12:34
Añadido
analyst_archive
17 de September de 2026 a las 12:34