com.cryptowhaleinsights/whale-insights
REMOTE · CRYPTOWHALEINSIGHTS.COM · SCANNED SEP 21
Free read-only crypto whale-tracking & market-data MCP tools across 14 chains. No auth.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability67
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 11148 tokens (~199/item across 56 items; 56 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 56 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 57 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
How do I install the com.cryptowhaleinsights/whale-insights MCP server?
com.cryptowhaleinsights/whale-insights is a hosted endpoint at https://cryptowhaleinsights.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · cryptowhaleinsights.com
claude mcp add --transport http com-cryptowhaleinsights-whale-insights 'https://cryptowhaleinsights.com/mcp'
{
"mcpServers": {
"com-cryptowhaleinsights-whale-insights": {
"url": "https://cryptowhaleinsights.com/mcp"
}
}
} {
"servers": {
"com-cryptowhaleinsights-whale-insights": {
"type": "http",
"url": "https://cryptowhaleinsights.com/mcp"
}
}
} [mcp_servers.com-cryptowhaleinsights-whale-insights] url = "https://cryptowhaleinsights.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-cryptowhaleinsights-whale-insights": {
"type": "remote",
"url": "https://cryptowhaleinsights.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-cryptowhaleinsights-whale-insights --url 'https://cryptowhaleinsights.com/mcp' --transport streamable-http
mcp_servers:
com-cryptowhaleinsights-whale-insights:
url: "https://cryptowhaleinsights.com/mcp" {
"McpServers": {
"com-cryptowhaleinsights-whale-insights": {
"Transport": "http",
"Url": "https://cryptowhaleinsights.com/mcp"
}
}
} assistant mcp add com-cryptowhaleinsights-whale-insights -t streamable-http -u 'https://cryptowhaleinsights.com/mcp'
{
"mcpServers": {
"com-cryptowhaleinsights-whale-insights": {
"type": "http",
"url": "https://cryptowhaleinsights.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Sept 26 +7
- Authorization: unverified → partial ▲ security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “analyst_summary_history” rewrote its description, which is the text the model reads security
- Tool “analysts_signals_all” rewrote its description, which is the text the model reads security
- Tool “arbitrage_history” rewrote its description, which is the text the model reads security
- Tool “arbitrage_monthly” rewrote its description, which is the text the model reads security
- Tool “bridge_flow_history” rewrote its description, which is the text the model reads security
- Tool “fear_greed_history” rewrote its description, which is the text the model reads security
- Tool “fear_greed_monthly” rewrote its description, which is the text the model reads security
- Tool “funding_rate_monthly” rewrote its description, which is the text the model reads security
- Tool “funding_rates_history” rewrote its description, which is the text the model reads security
- Tool “gas_price_history” rewrote its description, which is the text the model reads security
- Tool “golden_alerts_history” rewrote its description, which is the text the model reads security
- Tool “golden_alerts_monthly” rewrote its description, which is the text the model reads security
- Tool “leverage_history” rewrote its description, which is the text the model reads security
- Tool “market_pulse_history” rewrote its description, which is the text the model reads security
- Tool “narrative_history” rewrote its description, which is the text the model reads security
- Tool “sentiment_history” rewrote its description, which is the text the model reads security
- Tool “sentiment_monthly” rewrote its description, which is the text the model reads security
- Tool “signal_history_monthly” rewrote its description, which is the text the model reads security
- Tool “stablecoin_history” rewrote its description, which is the text the model reads security
- Tool “stablecoin_monthly” rewrote its description, which is the text the model reads security
- Tool “whale_activity” rewrote its description, which is the text the model reads security
- Tool “whale_daily_summary” rewrote its description, which is the text the model reads security
- Tool “whale_score_history” rewrote its description, which is the text the model reads security
- Tool “airdrops” now declares an output schema ▲ functional
- Tool “analyst_archive” now declares an output schema ▲ functional
- Tool “analyst_daily_summary” now declares an output schema ▲ functional
- Tool “analyst_monthly_performance” now declares an output schema ▲ functional
- Tool “analyst_summary_history” now declares an output schema ▲ functional
- Tool “analyst_top_tokens” now declares an output schema ▲ functional
- Tool “analysts” now declares an output schema ▲ functional
- Tool “analysts_signals” now declares an output schema ▲ functional
- Tool “analysts_signals_all” now declares an output schema ▲ functional
- Tool “analysts_top” now declares an output schema ▲ functional
- Tool “arbitrage_history” now declares an output schema ▲ functional
- Tool “arbitrage_monthly” now declares an output schema ▲ functional
- Tool “bridge_flow_history” now declares an output schema ▲ functional
- Tool “bridge_flows” now declares an output schema ▲ functional
- Tool “burn_tracker” now declares an output schema ▲ functional
- Tool “fear_greed” now declares an output schema ▲ functional
- Tool “fear_greed_history” now declares an output schema ▲ functional
- Tool “fear_greed_monthly” now declares an output schema ▲ functional
- Tool “feed_archive” now declares an output schema ▲ functional
- Tool “funding_rate_monthly” now declares an output schema ▲ functional
- Tool “funding_rates” now declares an output schema ▲ functional
- Tool “funding_rates_history” now declares an output schema ▲ functional
- Tool “gas” now declares an output schema ▲ functional
- Tool “gas_price_history” now declares an output schema ▲ functional
- Tool “golden_alerts_history” now declares an output schema ▲ functional
- Tool “golden_alerts_monthly” now declares an output schema ▲ functional
- Tool “golden_alerts_snapshot” now declares an output schema ▲ functional
- Tool “leverage_history” now declares an output schema ▲ functional
- Tool “leverage_picks_summary” now declares an output schema ▲ functional
- Tool “leverage_radar” now declares an output schema ▲ functional
- Tool “liquidations” now declares an output schema ▲ functional
- Tool “live_stats” now declares an output schema ▲ functional
- Tool “market_context” now declares an output schema ▲ functional
- Tool “market_heatmap” now declares an output schema ▲ functional
- Tool “market_pulse_history” now declares an output schema ▲ functional
- Tool “narrative_history” now declares an output schema ▲ functional
- Tool “narratives” now declares an output schema ▲ functional
- Tool “platform_stats” now declares an output schema ▲ functional
- Tool “recent_whales” now declares an output schema ▲ functional
- Tool “reports_index” now declares an output schema ▲ functional
- Tool “sentiment_history” now declares an output schema ▲ functional
- Tool “sentiment_monthly” now declares an output schema ▲ functional
- Tool “signal_history_monthly” now declares an output schema ▲ functional
- Tool “social_summary” now declares an output schema ▲ functional
- Tool “stablecoin_flows” now declares an output schema ▲ functional
- Tool “stablecoin_history” now declares an output schema ▲ functional
- Tool “stablecoin_monthly” now declares an output schema ▲ functional
- Tool “status” now declares an output schema ▲ functional
- Tool “tax_rates” now declares an output schema ▲ functional
- Tool “trending” now declares an output schema ▲ functional
- Tool “whale_activity” now declares an output schema ▲ functional
- Tool “whale_daily_summary” now declares an output schema ▲ functional
- Tool “whale_monthly_archive” now declares an output schema ▲ functional
- Tool “whale_movements” now declares an output schema ▲ functional
- Tool “whale_movements_summary” now declares an output schema ▲ functional
- Tool “whale_score_history” now declares an output schema ▲ functional
- First check of Tool coverage: 100 functional
- 26 Aug 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 +1
- Stability: 0.97 → pass security
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 31 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 0
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Probed https://cryptowhaleinsights.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=cryptowhaleinsights.com | CN=WE1,O=Google Trust Services,C=US | 9 Aug 2026 | 7 Nov 2026 | ECDSA 256 | ECDSA-SHA256 | 6e6a4fb2bdd892720e909666c2ca135b |
| SANs: cryptowhaleinsights.com, *.cryptowhaleinsights.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of cryptowhaleinsights.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| cryptowhaleinsights.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://cryptowhaleinsights.com/mcp | Verified | 200 | |
| http (plaintext) | http://cryptowhaleinsights.com/mcp | HTTPS enforced | 301 | https://cryptowhaleinsights.com:443/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
tax_rates ~84
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| attribution | – | – | – |
| rates | object | – | – |
| updatedAt | string | – | – |
No examples provided.
trending ~94
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| attribution | – | – | – |
| meta | object | – | Response freshness metadata. 5-min cache; check `meta.cacheAgeSeconds` for exact age. |
| tokens | array | – | – |
| updatedAt | string | – | – |
No examples provided.
whale_activity ~235
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.
| Name | Type | Req | Description |
|---|---|---|---|
| window | integer | – | Look-back window in days (1–30, default 7). Values outside the range are clamped. |
| Name | Type | Req | Description |
|---|---|---|---|
| attribution | – | – | – |
| byChain | array | – | – |
| byDay | array | – | – |
| byDirection | object | – | – |
| dataSource | string | – | – |
| firstSeenAt | string | – | – |
| lastSeenAt | string | – | – |
| total | number | – | – |
| updatedAt | string | – | – |
| windowDays | number | – | – |
No examples provided.
whale_daily_summary ~251
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.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | Number of recent days to return (1–180, default 30). |
| Name | Type | Req | Description |
|---|---|---|---|
| attribution | – | – | – |
| days | number | – | – |
| history | array | – | – |
| total | number | – | – |
| updatedAt | string | – | – |
No examples provided.
whale_monthly_archive ~159
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| attribution | – | – | – |
| dataSource | string | – | – |
| months | array | – | – |
| total | number | – | – |
| updatedAt | string | – | – |
No examples provided.
whale_movements ~460
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. ?
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string | – | Filter by chain. Valid values: BTC, ETH, SOL, BSC, BASE, ARB, POLYGON, TON, SUI, HYPE, TRX, SEI, INJ, APT. Default: all chains. |
| direction | string | – | Filter by flow direction: inflow | outflow | transfer. Default: all directions. |
| page | integer | – | Page number (1-indexed, default 1). |
| period | string | – | Time window: 7d | 30d | 90d | 365d (default 90d). Use 365d to retrieve up to 1 year of history. |
| q | string | – | 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 wa… |
| Name | Type | Req | Description |
|---|---|---|---|
| attribution | – | – | – |
| dataSource | string | – | – |
| hasMore | boolean | – | Whether more pages are available |
| items | array | – | Whale movement records in reverse-chronological order. |
| page | number | – | Current page (1-indexed) |
| pageSize | number | – | Fixed at 20 records per page |
| sinceDays | number | – | Number of days of history returned |
| total | number | – | Total matching records in the window |
| updatedAt | string | – | – |
No examples provided.
whale_movements_summary ~276
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
| Name | Type | Req | Description |
|---|---|---|---|
| period | string | – | Time window: 7d | 30d | 90d (default 7d). |
| Name | Type | Req | Description |
|---|---|---|---|
| attribution | – | – | – |
| byDirection | object | – | Movement counts by flow direction. |
| dataSource | string | – | – |
| firstSeenAt | string | – | – |
| lastSeenAt | string | – | – |
| movementCount | number | – | Total whale movements recorded in the window. |
| movementsWithResolvedUsd | number | – | Subset of movementCount that had a resolvable USD value. |
| sinceDays | number | – | Number of days covered by this summary. |
| topChainsByUsd | array | – | Up to 10 chains ranked by total resolved USD volume in the window. |
| totalUsd | number | – | Sum of usd_value across all resolved movements in the window (whole dollars). |
| unresolvedUsdCount | number | – | Movements with no resolvable USD value — excluded from every USD sum below. |
| updatedAt | string | – | – |
| usdByDirection | object | – | Real USD totals by flow direction (resolved rows only). |
No examples provided.
whale_score_history ~214
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.
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string | – | Optional chain filter (ETH, BTC, SOL, BSC, ARB, etc.). Returns all chains when omitted. |
| days | integer | – | Number of days of history to return (1–90, default 30). |
| Name | Type | Req | Description |
|---|---|---|---|
| attribution | – | – | – |
| chain | string | – | Chain filter applied (null = all chains). |
| days | number | – | – |
| history | array | – | – |
| total | number | – | – |
| updatedAt | string | – | – |
No examples provided.
What is the com.cryptowhaleinsights/whale-insights MCP server?
com.cryptowhaleinsights/whale-insights is an MCP server listed in the public MCP registry as com.cryptowhaleinsights/whale-insights. Free read-only crypto whale-tracking & market-data MCP tools across 14 chains. No auth. This page covers its hosted endpoint (https://cryptowhaleinsights.com/mcp).
Is the com.cryptowhaleinsights/whale-insights MCP server safe to use?
com.cryptowhaleinsights/whale-insights scores 83 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the com.cryptowhaleinsights/whale-insights MCP server expose?
com.cryptowhaleinsights/whale-insights exposes 56 tools: platform_stats, status, live_stats, recent_whales, trending, and 51 more. Their descriptions and schemas cost roughly 10,761 tokens of context every time the server is loaded.
Does the com.cryptowhaleinsights/whale-insights MCP server require authentication?
No. We connected to com.cryptowhaleinsights/whale-insights without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the com.cryptowhaleinsights/whale-insights MCP server still maintained?
com.cryptowhaleinsights/whale-insights is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.