whale-insights
이 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.
도구
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'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.'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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).'}}}}}}}
입력 스키마
{'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.'}}}
출력 스키마
{'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'}}}
입력 스키마
{'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.'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'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.'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 7, 'maximum': 180, 'minimum': 1, 'description': 'Number of days to look back (default 7, max 180).'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–90, default 30).'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–180, default 30).'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'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).'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {'symbol': {'type': 'string', 'description': 'Token symbol to filter by (e.g. BTC, ETH). Omit to return all top-10 tokens.'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'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.'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–90, default 30).'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of recent days to return (1–180, default 30).'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–90, default 30).'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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%).'}}}
입력 스키마
{'type': 'object', 'properties': {'window': {'enum': ['1h', '4h', '12h'], 'type': 'string', 'default': '4h', 'description': 'Trading window: 1h (scalp), 4h (swing, default), 12h (position).'}}}
출력 스키마
{'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'}}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'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.'}}}
출력 스키마
{'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)."}}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of days of history to return (1–90, default 30).'}}}
출력 스키마
{'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'}}}
입력 스키마
{'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."}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'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.'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {'symbol': {'type': 'string', 'description': 'Token symbol to filter by (e.g. BTC, ETH). Omit to return all 35 tokens.'}}}
출력 스키마
{'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'}}}
입력 스키마
{'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.'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of recent days to return (1–180, default 30).'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'type': 'object', 'properties': {'rates': {'type': 'object'}, 'updatedAt': {'type': 'string', 'format': 'date-time'}, 'attribution': {'$ref': '#/components/schemas/Attribution'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'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.'}}}
출력 스키마
{'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}}}
입력 스키마
{'type': 'object', 'properties': {'days': {'type': 'integer', 'default': 30, 'maximum': 90, 'minimum': 1, 'description': 'Number of recent days to return (1–180, default 30).'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {}}
출력 스키마
{'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'}}}
입력 스키마
{'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.'}}}
출력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'properties': {'period': {'enum': ['7d', '30d', '90d'], 'type': 'string', 'default': '7d', 'description': 'Time window: 7d | 30d | 90d (default 7d).'}}}
출력 스키마
{'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.'}}}
입력 스키마
{'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.'}}}
출력 스키마
{'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'}}}
최근 도구 변경
유사한 MCP 서버
DeltaSignal ATLAS-7
Analyzes SEC and XBRL data for crypto-related public companies, including fundamentals, issuer signals, peer comparisons, stress …
intel
Provides multi-chain market intelligence, blockchain activity metrics, trading and portfolio planning, sanctions clearance, agent…
Market Intelligence API
Analyzes crypto and tokenized-asset markets using DEX flows, perpetual positioning, smart-money activity, token risk, market news…
Gate MCP
Provides public Gate exchange market data for spot, futures, delivery, margin, options, Alpha, Earn products, order books, candle…
AgentFeed
Provides crypto market data on liquidations, funding, open interest, order books, spreads, liquidation forecasts, and tokenized-a…
Okx
Provides public OKX market data for crypto instruments, including candles, prices, order books, funding rates, open interest, pos…
mcp
Provides crypto derivatives and market-structure data including funding, open interest, liquidations, options, ETF flows, leverag…
Cryptocompare
Provides cryptocurrency prices, exchange metadata, historical OHLC data, market news, coin lists, and related market research too…