# com.coinlobster/whale-data (remote · coinlobster.com)

Real-time whale trades, Smart Money Radar, market snapshots, news sentiment, signal outcomes.

- Trust score: 72/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-16

## Components

- remote · `coinlobster.com`: 72/100 (this document), [markdown](https://verifymcp.io/servers/com-coinlobster-whale-data/coinlobster.md), [page](https://verifymcp.io/servers/com-coinlobster-whale-data/coinlobster)
- npm · `coinlobster-mcp`: 38/100, [markdown](https://verifymcp.io/servers/com-coinlobster-whale-data/coinlobster-mcp.md), [page](https://verifymcp.io/servers/com-coinlobster-whale-data/coinlobster-mcp)

## Channel facts

- Endpoint: `https://coinlobster.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.3.0`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-16.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 68/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 6440 tokens (~230/item across 28 items; 28 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 10/100
  - Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http com-coinlobster-whale-data https://coinlobster.com/mcp
```

### Codex

```toml
[mcp_servers.com-coinlobster-whale-data]
url = "https://coinlobster.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-coinlobster-whale-data": {
      "type": "remote",
      "url": "https://coinlobster.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-coinlobster-whale-data --url https://coinlobster.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-coinlobster-whale-data:
    url: "https://coinlobster.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-coinlobster-whale-data": {
      "type": "http",
      "url": "https://coinlobster.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-15 (score 72, +1)

- [security] Tool “my_access” rewrote its description, which is the text the model reads

### 2026-08-14 (score 71, +3)

- [security] Tool “crypto_news” rewrote its description, which is the text the model reads
- [security] Tool “defi_liquidations” rewrote its description, which is the text the model reads
- [security] Tool “defi_summary” rewrote its description, which is the text the model reads
- [security] Tool “dex_wallet” rewrote its description, which is the text the model reads
- [security] Tool “flag_outcomes” rewrote its description, which is the text the model reads
- [security] Tool “funding_matrix” rewrote its description, which is the text the model reads
- [security] Tool “hl_board” rewrote its description, which is the text the model reads
- [security] Tool “hl_wallet” rewrote its description, which is the text the model reads
- [security] Tool “whale_context” rewrote its description, which is the text the model reads
- [security] Tool “hl_whales” rewrote its description, which is the text the model reads
- [security] Tool “liq_zones” rewrote its description, which is the text the model reads
- [security] Tool “liquidations” rewrote its description, which is the text the model reads
- [security] Tool “market_extremes” rewrote its description, which is the text the model reads
- [security] Tool “market_history” rewrote its description, which is the text the model reads
- [security] Tool “market_liquidations” rewrote its description, which is the text the model reads
- [security] Tool “market_overview” rewrote its description, which is the text the model reads
- [security] Tool “market_screener” rewrote its description, which is the text the model reads
- [security] Tool “market_snapshot” rewrote its description, which is the text the model reads
- [security] Tool “onchain_whales” rewrote its description, which is the text the model reads
- [security] Tool “smart_money” rewrote its description, which is the text the model reads
- [security] Tool “squeeze_score” rewrote its description, which is the text the model reads
- [security] Tool “trade_context” rewrote its description, which is the text the model reads
- [security] Tool “whale_flow” rewrote its description, which is the text the model reads
- [security] Tool “whale_profile” rewrote its description, which is the text the model reads
- [security] Tool “whale_radar” rewrote its description, which is the text the model reads
- [security] Tool “whale_tape” rewrote its description, which is the text the model reads
- [security] Tool “whale_trades” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 177 → 229
- [functional improvement] Tool coverage: 37% → 100%
- [functional improvement] Stability: unverified → 0.03
- [functional improvement] Tool “crypto_news” now declares an output schema
- [functional improvement] Tool “defi_liquidations” now declares an output schema
- [functional improvement] Tool “defi_summary” now declares an output schema
- [functional improvement] Tool “dex_wallet” now declares an output schema
- [functional improvement] Tool “flag_outcomes” now declares an output schema
- [functional improvement] Tool “funding_matrix” now declares an output schema
- [functional improvement] Tool “hl_board” now declares an output schema
- [functional improvement] Tool “hl_wallet” now declares an output schema
- [functional improvement] Tool “hl_whales” now declares an output schema
- [functional improvement] Tool “liq_zones” now declares an output schema
- [functional improvement] Tool “liquidations” now declares an output schema
- [functional improvement] Tool “market_extremes” now declares an output schema
- [functional improvement] Tool “market_history” now declares an output schema
- [functional improvement] Tool “market_liquidations” now declares an output schema
- [functional improvement] Tool “market_overview” now declares an output schema
- [functional improvement] Tool “market_screener” now declares an output schema
- [functional improvement] Tool “market_snapshot” now declares an output schema
- [functional improvement] Tool “my_access” now declares an output schema
- [functional improvement] Tool “onchain_whales” now declares an output schema
- [functional improvement] Tool “smart_money” now declares an output schema
- [functional improvement] Tool “squeeze_score” now declares an output schema
- [functional improvement] Tool “trade_context” now declares an output schema
- [functional improvement] Tool “whale_context” now declares an output schema
- [functional improvement] Tool “whale_flow” now declares an output schema
- [functional improvement] Tool “whale_profile” now declares an output schema
- [functional improvement] Tool “whale_radar” now declares an output schema
- [functional improvement] Tool “whale_tape” now declares an output schema
- [functional improvement] Tool “whale_trades” now declares an output schema
- [functional] First check of Tool coverage: 100
- [functional] Schema quality: good → excellent
- [cosmetic] “crypto_news” reworded the description of “coin”
- [cosmetic] “defi_liquidations” reworded the description of “chain”
- [cosmetic] “defi_liquidations” reworded the description of “limit”
- [cosmetic] “dex_wallet” reworded the description of “address”
- [cosmetic] “dex_wallet” reworded the description of “limit”
- [cosmetic] “flag_outcomes” reworded the description of “coin”
- [cosmetic] “flag_outcomes” reworded the description of “hours”
- [cosmetic] “flag_outcomes” reworded the description of “type”
- [cosmetic] “funding_matrix” reworded the description of “pair”
- [cosmetic] “hl_wallet” reworded the description of “address”
- [cosmetic] “hl_wallet” reworded the description of “limit”
- [cosmetic] “hl_whales” reworded the description of “coin”
- [cosmetic] “hl_whales” reworded the description of “limit”
- [cosmetic] “liq_zones” reworded the description of “pair”
- [cosmetic] “market_history” reworded the description of “coin”
- [cosmetic] “market_history” reworded the description of “days”
- [cosmetic] “market_history” reworded the description of “pair”
- [cosmetic] “market_overview” reworded the description of “coin”
- [cosmetic] “market_overview” reworded the description of “limit”
- [cosmetic] “market_screener” reworded the description of “compact”
- [cosmetic] “market_screener” reworded the description of “limit”
- [cosmetic] “market_screener” reworded the description of “unusual_only”
- [cosmetic] “market_screener” reworded the description of “whale_mult_min”
- [cosmetic] “market_snapshot” reworded the description of “pair”
- [cosmetic] “onchain_whales” reworded the description of “chain”
- [cosmetic] “onchain_whales” reworded the description of “coin”
- [cosmetic] “onchain_whales” reworded the description of “limit”
- [cosmetic] “onchain_whales” reworded the description of “min_usd”
- [cosmetic] “smart_money” reworded the description of “window”
- [cosmetic] “squeeze_score” reworded the description of “pair”
- [cosmetic] “trade_context” reworded the description of “compact”
- [cosmetic] “trade_context” reworded the description of “pair”
- [cosmetic] “trade_context” reworded the description of “position_usd”
- [cosmetic] “whale_context” reworded the description of “coin”
- [cosmetic] “whale_flow” reworded the description of “coin”
- [cosmetic] “whale_flow” reworded the description of “hours”
- [cosmetic] “whale_profile” reworded the description of “coin”
- [cosmetic] “whale_tape” reworded the description of “coin”
- [cosmetic] “whale_tape” reworded the description of “min_usd”
- [cosmetic] “whale_tape” reworded the description of “source”
- [cosmetic] “whale_trades” reworded the description of “coin”
- [cosmetic] “whale_trades” reworded the description of “min_usd”
- [cosmetic] “whale_trades” reworded the description of “source”

### 2026-08-13 (score 68)

First indexed and scored.

## MCP tools (28)

### `whale_trades` (~338 tokens)

Whale trades feed

Live whale trades merged across 15 CEX venues plus on-chain DEX swaps (Ethereum, Base, Arbitrum), newest first. Keyless calls get the free shape (BTC/USD + $1M+ CEX trades live, other pairs delayed 15 min, DEX swaps $250K+) and up to 50 rows; a paid developer plan lifts the shape to every pair with no delay and up to 500 rows here (deeper pages on the REST API). Descriptive market data only.

Input parameters:

- `coin` (string): Filter to one coin, for example BTC. A pair like ETH/USD works too, the quote leg is dropped. One symbol, not a list. Omit for every coin.
- `limit` (integer): Max rows returned. Capped at 50 keyless and 500 on a developer plan; asking for more returns the cap, and the payload says so in `capped`.
- `min_usd` (number): Smallest trade to return, in US dollars, for example 5000000 for $5M and up. Omit for everything already large enough to count as whale-sized. Keyless calls hold on-chain swaps to $250K and up regard…
- `pair` (string): Alias for coin.
- `source` (string): Which markets to read: cex for the 15 streamed exchanges, dex for on-chain swaps on Ethereum, Base and Arbitrum, all for both merged. Defaults to all.

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `capped`: Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
- `coin`: The coin filter that was applied, or null for every coin.
- `count`: How many rows this reply carries.
- `covered`: False when the coin asked for is not one this feed streams, so nothing was searched. That is different from a quiet market.
- `depth_note`: How far back the data behind this answer reaches.
- `matched`: How many trades matched the filters before the row cap was applied.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `scan_capped`: True when the search hit its own depth ceiling, so older matches may exist that were never looked at.
- `scan_note`: Says the search stopped at its ceiling, so this is not the complete set for the window.
- `scanned_rows`: How deep the search went before filtering. Present only when a coin or size filter ran.
- `source`: Which markets were read: cex, dex or all.
- `trades`: The matching trades, newest first. A CEX row carries pair, exchange, price, size and side; an on-chain row carries the token, the wallet and the dollar size. Every row carries source.
- `truncated`: True when more rows matched than were returned, so what you have is a page and not the whole set.

### `whale_tape` (~357 tokens)

Whale trades feed (alias)

Deprecated alias for whale_trades, kept so existing clients keep working. Prefer whale_trades. Live whale trades merged across 15 CEX venues plus on-chain DEX swaps (Ethereum, Base, Arbitrum), newest first. Keyless calls get the free shape (BTC/USD + $1M+ CEX trades live, other pairs delayed 15 min, DEX swaps $250K+) and up to 50 rows; a paid developer plan lifts the shape to every pair with no delay and up to 500 rows here (deeper pages on the REST API). Descriptive market data only.

Input parameters:

- `coin` (string): Filter to one coin, for example BTC. A pair like ETH/USD works too, the quote leg is dropped. One symbol, not a list. Omit for every coin.
- `limit` (integer): Max rows returned. Capped at 50 keyless and 500 on a developer plan; asking for more returns the cap, and the payload says so in `capped`.
- `min_usd` (number): Smallest trade to return, in US dollars, for example 5000000 for $5M and up. Omit for everything already large enough to count as whale-sized. Keyless calls hold on-chain swaps to $250K and up regard…
- `pair` (string): Alias for coin.
- `source` (string): Which markets to read: cex for the 15 streamed exchanges, dex for on-chain swaps on Ethereum, Base and Arbitrum, all for both merged. Defaults to all.

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `capped`: Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
- `coin`: The coin filter that was applied, or null for every coin.
- `count`: How many rows this reply carries.
- `covered`: False when the coin asked for is not one this feed streams, so nothing was searched. That is different from a quiet market.
- `depth_note`: How far back the data behind this answer reaches.
- `matched`: How many trades matched the filters before the row cap was applied.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `scan_capped`: True when the search hit its own depth ceiling, so older matches may exist that were never looked at.
- `scan_note`: Says the search stopped at its ceiling, so this is not the complete set for the window.
- `scanned_rows`: How deep the search went before filtering. Present only when a coin or size filter ran.
- `source`: Which markets were read: cex, dex or all.
- `trades`: The matching trades, newest first. A CEX row carries pair, exchange, price, size and side; an on-chain row carries the token, the wallet and the dollar size. Every row carries source.
- `truncated`: True when more rows matched than were returned, so what you have is a page and not the whole set.

### `whale_radar` (~42 tokens)

Smart Money Radar

Smart Money Radar: which coins have unusual whale flow right now, across 1h, 4h and 24h windows. Descriptive market data only.

Output parameters:

- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `blurredMagnitude`: Keyless only: true because dollar sizes on held-back coins are rounded away.
- `building`: True while the ranking has not been published yet.
- `freeCoins`: Keyless only: the coins whose numbers come through unblurred.
- `freshness`: How often the ranking is rebuilt.
- `generatedAt`: When the ranking was computed.
- `lockedCount`: Keyless only: how many coins were held back.
- `lockedUnusualCount`: Keyless only: how many of the held-back coins are the unusual ones.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `windows`: The ranked coins per window, keyed 1h, 4h and 24h. Each row names the coin, its dollars in the window and how that compares with the same coin trailing hours.

### `flag_outcomes` (~286 tokens)

Signal outcomes ledger

Recently fired signal-ledger flags with fire-time price and later price outcomes, logged live and never backfilled. Descriptive market data only.

Input parameters:

- `coin` (string): Filter to one coin, for example BTC. A pair like ETH/USD works too, the quote leg is dropped. One symbol, not a list. Omit for every coin.
- `hours` (integer): How far back to look, in hours. Defaults to 48. Capped at 168 keyless and 720 on a developer plan; asking for more returns the cap, and the payload says so in `capped`. The all_time block is unaffect…
- `limit` (integer): Max rows returned. Capped at 50 keyless and 500 on a developer plan; asking for more returns the cap, and the payload says so in `capped`.
- `pair` (string): Alias for coin.
- `type` (string): Filter to one signal type. One of: whale-spike, funding-extreme, squeeze-flip, liq-cascade, flow-divergence, major-pctile, major-block, deriv-record. The underscore spellings used by alert rules (for…

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `aggregates`: byType: how many fired per signal type inside the window.
- `all_time`: Permanent counters from the archive, independent of the window asked for: fired, scored_h24, since, through and by_type.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `capped`: Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
- `coin`: The coin filter applied, or null for all coins.
- `count`: How many rows this reply carries.
- `depth_note`: How far back the data behind this answer reaches.
- `hours`: The window actually read, in hours.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `signals`: The signals that fired in the window, each with its type, coin, fire time, price at fire time and later price outcomes where they have been scored.
- `total_in_window`: How many signals fired in the whole window, before the row cap.
- `type`: The signal type filter applied, or null for all types.
- `unknown_type`: Set when the type asked for is not one this record keeps. Nothing was filtered and nothing was searched.
- `valid_types`: The signal types that do exist, returned alongside unknown_type.

### `whale_flow` (~151 tokens)

Whale flow by hour

Hourly buy and sell USD flow buckets for one coin, CEX and DEX split, over a rolling window. Descriptive market data only.

Input parameters:

- `coin` (string): Coin symbol, for example BTC. A pair like ETH/USD works too, the quote leg is dropped. Required: with nothing to look up the call is refused rather than answered about a different coin.
- `hours` (integer): How many hours of hourly buckets to read back. Defaults to the whole window, which is also the ceiling: 168 keyless and 720 on a developer plan. Asking for more returns the cap, and the payload says…
- `pair` (string): Alias for coin.

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `capped`: Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
- `coin`: The coin these hours belong to.
- `count`: How many hours carry a recorded reading. Fewer than hours means the rest were never recorded, not that they were quiet.
- `depth_note`: How far back the data behind this answer reaches.
- `hours`: How many hours back were read.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `rows`: One row per recorded hour: the hour stamp plus buy and sell dollars, split CEX and on-chain.

### `market_liquidations` (~178 tokens)

Market-wide liquidations

The whole market's forced closes in one call rather than per pair: 24h dollars and counts split long vs short, hour by hour so a cascade is locatable, ranked by coin, plus the biggest single event. Perp dollars come from the venues that publish a liquidation feed, not from every venue we stream, and the Hyperliquid share is a sample of that venue read from tracked wallets, so the totals are a FLOOR. Includes named_liquidations, the wallets that were closed out on Hyperliquid, which no other venue publishes. lending_liquidations rides alongside as a SEPARATE lane (an on-chain debt repaid and collateral seized) and must never be added to the perp numbers. A long is force-closed by selling, so long dollars are sell-side pressure. Descriptive market data only.

Output parameters:

- `as_of`: When the combined snapshot was taken, as an ISO stamp.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `coverage`: Which feeds fed this snapshot.
- `lending_liquidations`: A SEPARATE 24h lane: on-chain debts repaid and collateral seized. count, total_usd, protocols, chains and recent rows. Never add these to the leveraged numbers.
- `named_liquidations`: Hyperliquid closures with the wallet named, which no other market publishes.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `perp_liquidations`: The 24h forced-close picture on leveraged markets: count, total_usd, the long and short split in both dollars and counts, hour by hour, the peak hour, the ranked coins, the biggest single event, and…
- `stale`: True when the snapshot is older than it should be.

### `liquidations` (~258 tokens)

Recent liquidations

Liquidation trades for a pair with the long and short breakdown, live tape merged with the recorded series so a restart never erases history. A long is force-closed by selling, so sell-side events are long liquidations. long_liquidations and short_liquidations are event COUNTS; long_usd and short_usd carry the dollar split. Pass hours to ask for a period (hours: 24 for today); without it you get the most recent rows and window_minutes tells you how far back they reach. truncated:true means more events matched than were returned, so window_minutes covers the returned rows only and total_in_window has the real count. Descriptive market data only.

Input parameters:

- `coin` (string): Alias for pair.
- `hours` (number): Look back this many hours, up to 720. Omit for the most recent events.
- `limit` (integer): Max rows returned. Capped at 50 keyless and 1000 on a developer plan; asking for more returns the cap, and the payload says so in `capped`. count and the *_usd totals always cover the whole window re…
- `pair` (string): e.g. ETH/USD. A bare symbol like ETH also works.

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `capped`: Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
- `count`: How many events fired in the whole window, not how many rows came back.
- `history_included`: True when the recorded series was merged in, so a restart has not erased earlier events.
- `liquidations`: The events themselves, newest first: price, size in base and quote, side (long_liquidated or short_liquidated), exchange and time. A sample of the window when truncated is true.
- `long_liquidations`: COUNT of longs force-closed. For dollars read long_usd.
- `long_usd`: Dollars of longs force-closed across the window.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `pair`: The pair these events belong to.
- `requested_hours`: The period asked for, so a page can be told apart from a period.
- `rows_returned`: How many event rows are actually in this reply.
- `rows_span_minutes`: How far back the returned rows themselves reach.
- `short_liquidations`: COUNT of shorts force-closed. For dollars read short_usd.
- `short_usd`: Dollars of shorts force-closed across the window.
- `sources`: How the events split between the streamed exchanges and Hyperliquid, and whether the Hyperliquid part is a sample.
- `total_in_window`: How many events the window holds in total.
- `total_volume_usd`: Dollars forced out across the whole window.
- `truncated`: True when more rows matched than were returned, so what you have is a page and not the whole set.
- `window_hours`: The period the totals cover, in hours.
- `window_minutes`: The same period in minutes.

### `market_snapshot` (~141 tokens)

Market snapshot

One-call market state for a pair: last price, 24h stats, average funding rate, open interest and recent liquidation totals from the venues that publish them. Keyless calls cover the free pairs; a paid developer plan covers every streamed pair. Descriptive market data only.

Input parameters:

- `coin` (string): Alias for pair.
- `pair` (string): Trading pair, for example ETH/USD. A bare symbol like ETH is read as ETH/USD. Defaults to BTC/USD when omitted. Keyless calls reach the free pairs only; a developer plan reaches every streamed pair.…

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `covered`: False when this server does not stream the pair at all. No plan adds it.
- `exchanges_streaming`: How many exchanges are currently streaming this pair.
- `free_pairs`: The pairs a keyless connection can read, returned when the pair asked for is not one of them.
- `funding`: average_rate across the exchanges that publish one, and exchange_count behind that average.
- `liquidations_recent`: Recent forced closes for this pair: count, total_usd, the long and short split in counts and dollars, and window_minutes, without which a count cannot be read. available:false here means no reading,…
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `open_interest_usd`: Open interest in dollars, summed across the exchanges that publish it.
- `pair`: The pair this snapshot describes.
- `price`: Last traded price.
- `stats_24h`: The 24h statistics block: open, high, low, close, change and volume.
- `vs_history`: Where funding and open interest sit against the same pair recorded days: a phrase, a band and how many days back the comparison reaches. Null under 30 recorded days.

### `crypto_news` (~110 tokens)

Crypto news and sentiment

Recent crypto headlines with a pre-computed sentiment score (-100 to +100) for one coin plus the macro picture. Descriptive market data only.

Input parameters:

- `coin` (string): Coin symbol, for example BTC. A pair like ETH/USD works too, the quote leg is dropped. Defaults to BTC. News coverage is not every coin: where nothing was recorded the reply carries covered:false and…
- `pair` (string): Alias for coin.

Output parameters:

- `coin`: The coin the headlines and score are about.
- `covered`: False when nothing was recorded for this coin, which is why sentiment_score is null. Not a neutral reading.
- `headlines`: Up to 20 recent headlines, each with title, source, published time and link.
- `macro`: The same three fields for the market as a whole: sentiment, sentiment_score and summary.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `realtime`: True when the headlines are live. Keyless connections get the delayed set.
- `sentiment`: The wording that goes with the score, or unknown.
- `sentiment_score`: Minus 100 to plus 100. Null means nothing was measured, which is not the same as zero.
- `summary`: The pre-written summary for this coin, or null.

### `market_history` (~296 tokens)

Market history

Daily history: funding rate, open interest, price and liquidation totals for one pair (archived since 2026-03-18), or daily whale buy/sell flow for one coin (since 2026-06-18). Keyless calls cover 30 days; a paid developer plan reaches the full archive. Descriptive market data only.

Input parameters:

- `coin` (string): Read the daily whale buy and sell flow lane for one coin instead, for example BTC, recorded since 2026-06-18. Passing coin selects that lane and pair is then ignored. This is the one tool here where…
- `days` (integer): How many recorded days to return. Defaults to the whole window, which is also the ceiling: 30 keyless and 400 on a developer plan. Asking for more returns the cap, and the payload says so in `capped`…
- `pair` (string): Read the daily market lane for one pair: funding, open interest, price and liquidation totals, recorded since 2026-03-18. For example ETH/USD; a bare symbol like ETH is read as ETH/USD, and BTC/USD i…

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `as_of`: The newest day in this reply. Not today: both lanes settle several days behind live by design.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `capped`: Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
- `coin`: The coin, when the daily whale-flow lane was read.
- `coverage_note`: Present when stale is false: why the newest day is not today, and that these days must not be described as current.
- `data_age_days`: How many days back as_of sits.
- `days_returned`: How many recorded days came back.
- `depth_note`: How far back the data behind this answer reaches.
- `expected_lag_days`: How far behind live this lane is meant to run, so a healthy lag can be told from a stopped one.
- `funding`: Daily funding readings, oldest first, each carrying its own coverage evidence.
- `hour_of_day_utc`: What a typical hour looks like for this coin, as medians per UTC hour. Absent under 14 recorded days.
- `liquidations`: Daily forced-close totals.
- `open_interest`: Daily open interest readings.
- `pair`: The pair, when the daily market lane was read.
- `price`: Daily price readings.
- `stale`: True only when the lane is further back than its own settle horizon explains.
- `stale_note`: Present when stale is true: how far past the horizon it has fallen.
- `whale_flow_daily`: Daily whale buy and sell dollars, when the coin lane was read.

### `market_extremes` (~92 tokens)

Market extremes, latest recorded day

Which pairs sit at a record or in their own top or bottom 5 percent for funding, open interest or liquidations, each vs that pair's own recorded history, with next-day outcome stats for past occurrences where enough events exist. Covers the latest day the daily scan recorded, which is NOT necessarily today: read as_of_day and stale before describing any of it as current. Descriptive market data only.

Output parameters:

- `as_of_day`: The day the rows actually describe. This is the honest date, and it is usually not today.
- `computed_at`: When the daily scan ran.
- `coverage_note`: Present when stale is false: why these extremes are from as_of_day rather than today.
- `data_age_days`: How many days back as_of_day sits.
- `expected_lag_days`: How far behind live this archive is meant to run.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `records`: Pairs sitting at a record high or low for funding, open interest or forced closes, each against the same pair recorded days, with a ready phrase and next-day outcome stats where enough past cases exi…
- `stale`: True only when the rows are further back than the settle horizon explains.
- `stale_note`: Present when stale is true: how far past the horizon the scan has fallen.
- `top5`: The same, for pairs in their own top or bottom 5 percent rather than at a record.

### `my_access` (~186 tokens)

What this connection includes

What THIS connection can and cannot see: whether it is on the free plan (on_free_plan), how many credits are left and roughly how many more tool calls that buys, which tier it is on, the exact row cap and time window every tool applies to it right now, what is locked, and precisely what lifts each limit. Call it whenever the user asks what they get, how many credits they have, why a result came back capped (any payload carrying a capped field), or how and where to upgrade. Only an active developer plan lifts the caps here, and this settles the two things people get wrong most often: CoinLobster Pro ($9/mo) is the WEBSITE subscription and adds nothing here, and a free API key lifts no cap here either (it does give this connection its own rate limit instead of a shared one). Free to call and never metered.

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `authenticated`: True when any valid sign-in or key was presented.
- `caps`: The row cap and time window every capped tool applies right now, each with the free value and the developer-plan value beside it.
- `credits`: The balance: credits_remaining, plan, plan_active, credits_per_call, calls_left_estimate and where to top up. A null credits_remaining always carries a note saying WHY, because could not read and spe…
- `free_pairs`: The pairs this connection can read. A list when keyless, the words every streamed pair on a developer plan, or a short sentence when the market lane could not be read.
- `how_to_lift`: What lifts the caps, where to get it, and (as not_this) the two things people buy by mistake that change nothing here.
- `locked_here`: What this connection cannot reach right now. Empty on a developer plan.
- `metered`: Whether calls cost credits on this connection, and how much.
- `on_free_plan`: True when this connection reads free-shaped data. The single fact most users are asking for.
- `plain`: One sentence describing this tier in the user own words rather than ours.
- `tier`: Which of four states this connection is in: keyless, signed_in_free, coinlobster_pro or developer_plan.

### `trade_context` (~329 tokens)

One-call trade context

The pre-trade context blob in one call: price, cross-venue funding with time-to-next-funding and carry arithmetic (optional position_usd), open interest, whale flow vs the coin's own baseline, and recent visible liquidations, on ANY streamed pair keyless. compact: true returns the one-line composed answer (about 30 tokens). A paid developer plan adds the percentile judgment vs the pair's own recorded days, whale USD magnitudes, full 24h stats and the crowding score. Strictly descriptive: state plus recorded history, no advice. Descriptive market data only.

Input parameters:

- `coin` (string): Alias for pair.
- `compact` (boolean): Return one line of plain text rather than the JSON blob, about 30 tokens instead of 800. Same facts, same windows, same dates, no structured fields to read. Defaults to false.
- `pair` (string): Trading pair, for example ETH/USD. A bare symbol like ETH is read as ETH/USD. Defaults to BTC/USD when omitted. Any streamed pair answers keyless; off the free pairs a keyless reply is the lite shape…
- `position_usd` (number): Position size in US dollars, for example 25000. Above zero only. When given, carry_cost adds per_day_usd_at_current_rate, the dollars a day the current funding average across exchanges works out to a…

Output parameters:

- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `carry_cost`: Arithmetic on the current funding average: percent per day, the same as an annual rate, which side pays, and dollars a day when position_usd was passed. Not a projection of future rates.
- `compact`: Present and true only on a compact:true call, where the whole answer is the single line in `line`.
- `crowding`: The crowding read and the overexposed side. Null without a developer plan.
- `depth`: Which shape came back: lite, free-pair or keyed.
- `funding`: average_rate across exchanges, how many exchanges are in it, the interval in hours, and minutes to the next funding time.
- `line`: The composed one-line answer, returned only when compact:true was asked for. The same facts, the same windows and the same dates as the full shape.
- `liquidations_recent`: Forced closes visible right now: count, long_usd, short_usd and window_minutes. A timing series, market-wide totals run higher.
- `locked_layers`: Named rather than silently missing: which blocks this connection did not receive.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `open_interest_usd`: Open interest in dollars across the exchanges that publish it.
- `pair`: The pair this context describes.
- `price`: Last traded price.
- `stats_24h`: The 24h statistics block. Absent on the lite shape, where locked_layers names it.
- `vs_own_history`: Where funding and open interest sit against the same pair recorded days: phrase, band, day count, the date the reading is from, and how past cases resolved.
- `whale_flow`: Whale direction against the same coin logged baseline: the multiple, days logged, record and N-day-high flags, and buy share now versus 7 days. Dollar sizes are added on a developer plan.

### `market_screener` (~295 tokens)

Cross-market screener

Screen every recorded pair in one call: filter by funding_band / oi_band (vs each pair's OWN recorded days: record high, top 5%, top 25%, typical, bottom 25%, bottom 5%, record low), minimum whale-flow multiple vs the coin's own average, and radar-unusual. The discovery call. Descriptive market data only.

Input parameters:

- `compact` (boolean): Return one plain-text line per matching pair rather than the JSON rows. Defaults to false.
- `funding_band`: One of: record high, top 5%, top 25%, typical, bottom 25%, bottom 5%, record low.
- `limit` (integer): Max rows returned. Defaults to 20, hard ceiling 50 for everyone and no plan raises it. `matched` counts every pair that passed the filters regardless, and truncated says whether the rows are a shorte…
- `oi_band`: Same values as funding_band.
- `unusual_only` (boolean): Keep only coins the radar currently marks unusual in its 1h, 4h or 24h window. Defaults to false.
- `whale_mult_min` (number): Keep only coins whose 24h whale flow is at least this multiple of their own logged daily average, for example 3 for 3x and up. Coins with no logged multiple are dropped rather than treated as zero. O…

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `capped`: Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
- `compact`: Present and true only on a compact:true call, where the whole answer is the text in `line`.
- `criteria`: The filters as they were actually applied, so a misread argument is visible.
- `line`: One plain-text line per matching pair, returned only when compact:true was asked for.
- `matched`: How many pairs passed every filter, counted before the row cap. Null when nothing was screened.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `returned`: How many rows are in this reply.
- `rows`: One row per matching pair: pair, coin, price, 24h change, the funding and open interest bands against the same pair recorded days with the day counts behind them, the whale multiple, and whether the…
- `scanned_pairs`: How many pairs were examined.
- `truncated`: True when more rows matched than were returned, so what you have is a page and not the whole set.
- `unknown_band`: Set when a band was named that this screen does not know. Nothing was screened, so this is not no matches.
- `valid_bands`: The bands that do exist, returned alongside unknown_band.

### `whale_context` (~183 tokens)

Whale flow vs own history

Per-coin whale flow vs that coin's OWN logged history: multiple of its daily average, N-day-high flags, buy share now vs 7d. The "is this unusual for THIS coin" call; coin accepts a comma-separated list for portfolio briefs (single coin returns a flat object; a list returns {coins:[...]}). Keyless returns multiples and records (USD magnitudes need an active developer plan). Descriptive market data only.

Input parameters:

- `coin` (string): Coin symbol, for example BTC, or a comma-separated list of up to 15 for a portfolio in one call. A single coin returns a flat object, a list returns {coins:[...]} with an available:false entry for an…
- `pair` (string): Alias for coin.

Output parameters:

- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `breadth`: How wide the buying or selling is across the coins with logged history.
- `buy_share_24h`: Share of the last 24h dollars that were buys, 0 to 1.
- `buy_share_7d`: Share of the last 7 days dollars that were buys, 0 to 1.
- `coin`: The coin this row describes, when one coin was asked for.
- `coins`: One row per coin when a comma-separated list was asked for. A member with no logged history comes back as available:false.
- `days_logged`: How many days wide the baseline window is.
- `highest_in_days`: Highest flow in this many days, or null.
- `mult_vs_avg_24h`: How many times its own logged daily average the last 24h of flow is.
- `net_usd_24h`: Buys minus sells in the last 24h.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `ranking_note`: How the list is sorted, and why a thin_baseline row can sit near the top without meaning anything.
- `record_high_day`: True when this is the highest recorded day for the coin.
- `since_day`: The first day this baseline covers.
- `thin_baseline`: True when about one day of flow sits in the whole window, so the multiple is close to the day count by construction and is not evidence of unusual activity.
- `top_by_multiple`: The coins sitting at the highest multiple right now, when no coin was asked for.
- `usd_24h`: Total whale dollars in the last 24h.
- `valid_days`: How many days of the baseline hold usable readings.

### `market_overview` (~198 tokens)

Market overview + regime

One-call market scan: totals (volume, OI, liquidations, mcap), 24h whale net flow, BTC risk regime (SMA20/50 + breadth), and the top rows by volume. Pass coin to get one symbol's row directly (no paging needed). Descriptive market data only.

Input parameters:

- `coin` (string): Return this coin's row on its own, for example BTC, instead of the whole board. Only coins in the streamed overview (roughly the top 300 by volume) are there; anything else comes back available:false…
- `limit` (integer): Max board rows returned. Defaults to 20, hard ceiling 50 for everyone and no plan raises it. total_rows reports the size of the whole board so a shortened list is visible. Ignored when coin is passed…
- `pair` (string): Alias for coin.

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `capped`: Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
- `coin`: The symbol asked for, when a single row was requested.
- `coverage_note`: The same in one sentence, present only when something is missing.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `regime`: The Bitcoin risk state: state, btc_price and breadth_pct. A null state means the field is absent, not neutral.
- `returned`: How many rows are in this reply.
- `row`: That one symbol row: base, price_usd, chg_24h_pct, vol_usd_24h and oi_usd.
- `rows`: The board, ranked by volume: base symbol, price, 24h change, 24h volume and open interest.
- `total_rows`: How many rows the whole board holds.
- `totals`: Market-wide totals: volume, open interest, forced closes and market cap.
- `truncated`: True when more rows matched than were returned, so what you have is a page and not the whole set.
- `unavailable_fields`: Fields this snapshot is not carrying. They are null because the field is absent, NOT because the value is zero.
- `updated_at`: When the snapshot was published.
- `whale_net_usd_24h`: Buys minus sells across the board over 24h. Null means the field is absent from this snapshot, not that flow was balanced.

### `funding_matrix` (~117 tokens)

Per-venue funding matrix

Per-venue funding rates for one pair with predicted next rate and payout time where the venue provides it. Keyless on any streamed pair. Descriptive market data only.

Input parameters:

- `coin` (string): Alias for pair.
- `pair` (string): Trading pair, for example ETH/USD. A bare symbol like ETH is read as ETH/USD. Defaults to BTC/USD when omitted. Every streamed pair answers keyless. Rates come back per exchange at that exchange's ow…

Output parameters:

- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `pair`: The pair these rates belong to.
- `per_venue`: One row per exchange: the exchange name, its current funding rate, its predicted next rate where it publishes one, the next payout time, and interval_h. Rates are per that exchange own interval, so m…
- `updated_at`: When these rates were read.

### `squeeze_score` (~128 tokens)

Squeeze Score (crowding)

Fused 0-100 crowding read per pair (funding + long/short accounts + taker imbalance + OI trend) with the overexposed side. Descriptive, not a trade signal. Needs a paid developer plan. Descriptive market data only.

Input parameters:

- `coin` (string): Alias for pair.
- `pair` (string): Trading pair, for example ETH/USD. A bare symbol like ETH is read as ETH/USD. Defaults to BTC/USD when omitted. A developer plan is needed for any pair here: without one the call is refused before th…

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `by_exchange`: The same read broken out per exchange.
- `crowded_side`: Which side is overexposed, long or short.
- `long_short_ratio`: Long accounts against short accounts.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `pair`: The pair this crowding read describes.
- `squeeze_score`: Crowding from 0 to 100. Descriptive, not a trade signal.
- `taker_buy_sell_ratio`: Aggressive buying against aggressive selling.
- `updated_at`: When the read was computed.

### `liq_zones` (~134 tokens)

Projected liquidation levels

Projected liquidation level book for one pair (modeled from leverage assumptions - clearly labeled as a projection, not executed trades). Keyless serves the free pairs without cascade chains; an active developer plan serves any pair with the full snapshot. Descriptive market data only.

Input parameters:

- `coin` (string): Alias for pair.
- `pair` (string): Trading pair, for example ETH/USD. A bare symbol like ETH is read as ETH/USD. Defaults to BTC/USD when omitted. Keyless calls reach the free pairs and get the projected levels without the cascade cha…

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `covered`: False when this server does not stream the pair at all. No plan adds it.
- `free_pairs`: The pairs a keyless connection can read, returned when the pair asked for is not one of them.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `pair`: The pair this projection covers.
- `projection`: The projected levels: where forced closes would sit under the modeled leverage assumptions, plus the cascade chains on a developer plan. Modeled levels, NOT trades that happened.

### `defi_liquidations` (~213 tokens)

DeFi lending liquidations

Lending liquidations from Aave V3 and Morpho Blue on Ethereum, Arbitrum and Base: a third party repaid the debt and seized the collateral, so both wallets are named on every row. A different event from a perp liquidation (see the liquidations tool) and never summed with one. count and total_usd cover exactly the rows returned and the window field states the period those rows span, so the total is never mistaken for a fixed 24h figure. Keyless. Descriptive market data only.

Input parameters:

- `chain` (string): Restrict to one chain: ethereum, base, arbitrum. Anything else is refused by name rather than answered as nothing happening there. Omit for all of them.
- `limit` (integer): Max rows returned. Defaults to 50, hard ceiling 200 for everyone and no plan raises it. count and total_usd cover exactly the rows returned, and window states the period those rows span, so neither i…

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `capped`: Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
- `chains_covered`: The chains this lane indexes.
- `count`: How many rows this reply carries.
- `duplicates_dropped`: How many repeat rows for the same event were removed before counting, so the dollars are not doubled.
- `liquidations`: The events, each naming BOTH wallets: the one liquidated and the one that repaid the debt and took the collateral.
- `matched`: How many rows matched the chain filter before the row cap.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `protocols_covered`: The lending protocols behind these rows.
- `total_usd`: Dollars across exactly the rows returned. A page sum, not a fixed 24h total: the window field says what period those rows span.
- `truncated`: True when more rows matched than were returned, so what you have is a page and not the whole set.
- `unknown_chain`: Set when a chain was named that this lane does not index. Nothing was searched, so this is not no liquidations there.
- `window`: The period the returned rows actually span: from, to and hours.

### `defi_summary` (~87 tokens)

DeFi / on-chain summary

One-call on-chain DEX state across Ethereum, Base and Arbitrum: 24h volume and TVL per chain, the highest-volume tokens, and whale swap activity (buy/sell split, unique and repeat wallets, per-DEX breakdown). Keyless returns totals and a short token list with swap USD withheld; a developer plan returns the full table. Descriptive market data only.

Output parameters:

- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `chains`: One row per chain: the chain, tokens tracked, 24h volume and total value locked.
- `coverage_note`: What the numbers do and do not cover.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `tokens_withheld`: Keyless only: how many tokens were cut from top_tokens.
- `top_tokens`: The highest-volume tokens: chain, symbol, name, address, price, 24h change, volume and value locked. Shortened on a keyless connection.
- `totals`: Across all chains: 24h volume, total value locked, how many chains and how many tokens are tracked.
- `updated_at`: When the on-chain token snapshot was published.
- `whale_activity`: Large swaps in the window: how many, buy and sell dollars, net, the largest, unique and repeat wallets, and the split per exchange and per chain. A keyless connection gets the counts with magnitudes_…

### `onchain_whales` (~231 tokens)

On-chain DEX whale swaps

Executed DEX whale swaps on Ethereum, Base and Arbitrum, each carrying the wallet, the DEX, the token and the USD size. Filter by chain, coin or minimum size. Keyless. Descriptive market data only.

Input parameters:

- `chain` (string): Restrict to one chain: ethereum, base, arbitrum. Anything else is refused by name rather than answered as nothing happening there. Omit for all of them.
- `coin` (string): Filter to one token symbol, for example PEPE. A pair like ETH/USD works too, the quote leg is dropped. One symbol, not a list. Omit for every token.
- `limit` (integer): Max swaps returned. Defaults to 50, hard ceiling 200 for everyone and no plan raises it.
- `min_usd` (number): Smallest swap to return, in US dollars, for example 500000 for $500K and up. Omit for everything above the size floor this feed already records, which is not every swap on chain.
- `pair` (string): Alias for coin.

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `capped`: Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
- `chains_covered`: The chains this feed indexes.
- `count`: How many rows this reply carries.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `swaps`: The swaps, each carrying the wallet that signed it, the exchange it went through, the token and the dollar size.
- `unknown_chain`: Set when a chain was named that this feed does not index. Nothing was searched, so this is not no swaps there.

### `hl_whales` (~180 tokens)

Hyperliquid named whale fills

Recent whale-sized Hyperliquid fills WITH THE WALLET ADDRESS attached. Hyperliquid is the one venue whose public feed names the account on both sides of a fill, so every row here is followable to a live book (see hl_wallet). Keyless. Descriptive market data only.

Input parameters:

- `coin` (string): Filter to one coin, for example PEPE. Matched against the parsed symbol as well as the raw market name, so the 1000-unit markets (kPEPE, kSHIB, kBONK) are found under PEPE, SHIB and BONK. One symbol,…
- `limit` (integer): Max fills returned. Defaults to 50, hard ceiling 200 for everyone and no plan raises it.
- `pair` (string): Alias for coin.

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `capped`: Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
- `coin`: The coin filter applied, or null for every coin.
- `count`: How many rows this reply carries.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `trades`: The fills, each carrying the wallet on both sides, the coin, the direction, the size and the time. Pass a wallet to hl_wallet for that account live positions.
- `venue`: Always Hyperliquid.

### `hl_board` (~64 tokens)

Hyperliquid whale board

The tracked Hyperliquid whale accounts: equity, open notional, leverage, net bias, plus per-coin crowding across those wallets. Keyless returns the top rows and states how many are withheld; a developer plan returns the whole board. Descriptive market data only.

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `crowding`: Per-coin crowding across the tracked accounts.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `rows`: The accounts: wallet, equity, dollars open, leverage and which way they lean. Shortened on a keyless connection.
- `tracked`: How many accounts are tracked.
- `tracked_notional_usd`: Total dollar value of everything those accounts hold open.
- `updated_at`: When the board was published.
- `venue`: Always Hyperliquid.
- `with_open_positions`: How many of them currently hold something.
- `withheld`: How many rows a keyless connection did not receive. Zero on a developer plan.

### `whale_profile` (~428 tokens)

One coin, whole whale picture

Everything the recorded whale record can say about ONE coin in a single call: net flow over 1h, 4h, 24h and 7d; the CEX, on-chain and Hyperliquid split; WHICH of the 15 streamed CEX venues the flow actually sits on and how concentrated it is; whether two venues sit on opposite sides (venues.split) or the CEX and on-chain markets disagree outright (sources.sourceSplit); the current run of same-direction hours; and flow measured against price. pressure.state is one of absorption (whales bought while price fell), distribution (sold while it rose) or confirming (flow and price agree). It is null with a NAMED reason (price-coverage, flow-too-small, price-flat) whenever a leg is too thin to judge, so an absent verdict must be reported as "not enough to say", never as "no activity". venues.partial marks a window containing hours recorded before per-venue dollars existed, whose venue dollars are UNKNOWN and must not be read as zero. A window states hoursCovered ONLY when it holds fewer hours than it spans, so a 3-of-24 figure is never presented as a 24h figure; full windows carry no such field and need no disclaimer. Price-coverage figures are not sent when the pressure verdict already required them to pass, so there is nothing there to hedge with: a real shortfall arrives as a caveat field instead. Keyless (7-day window; a developer plan reaches the full 30-day record). Descriptive market data only.

Input parameters:

- `coin` (string): Coin symbol, for example BTC. A pair like ETH/USD works too, the quote leg is dropped. Required: with nothing to look up the call is refused rather than answered about a different coin.
- `hours` (integer): How far back to read the record (min 168, i.e. 7 days). The reported windows are always 1h, 4h, 24h and 7d.
- `pair` (string): Alias for coin.

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `capped`: Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
- `caveat`: A real limit on this answer, in one clause. Present only when something genuinely narrows what can be said.
- `coin`: The coin this profile describes.
- `coverage`: How much of the window carries a recorded reading.
- `depth_note`: How far back the data behind this answer reaches.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `pressure`: Flow measured against price. state is absorption, distribution or confirming. When there is no state, reason names why (price-coverage, flow-too-small, price-flat), which means not enough to say, nev…
- `sources`: The CEX, on-chain and Hyperliquid split, including sourceSplit when those markets sit on opposite sides.
- `venues`: Which of the streamed exchanges the flow actually sits on and how concentrated it is. split marks two exchanges on opposite sides; partial marks a window whose exchange dollars are unknown rather tha…
- `windows`: Net flow per window, keyed 1h, 4h, 24h and 7d. A window states hoursCovered only when it holds fewer hours than it spans.

### `smart_money` (~282 tokens)

Smart Money (proven cohort)

What the PROVEN trader cohort is holding and trading, coin by coin. The cohort is not a guess at who is smart: it is Hyperliquid leaderboard accounts screened for provable profit (equity band, month and all-time PnL and ROI, volume-to-equity) and then verified against their own fills to trade at a cadence a person could follow. Two blocks, two different units, never added: positions_held is notional currently open, flow_traded is dollars executed inside the window (1h, 4h or 24h). Every row carries the wallet COUNT behind it and a thin flag when fewer than 3 cohort wallets are in it, because a one-wallet row is one person and not a cohort. cohort.rosterAgeHours is how old the MEMBERSHIP screen is (up to 24h), which is a separate fact from updated_at. Wallets whose live book could not be read are reported as unprofiled and are never counted as flat. Keyless. Descriptive market data only.

Input parameters:

- `window` (string): Which window flow_traded covers: 1h, 4h or 24h. Defaults to 24h. It does not move positions_held, which is always what the cohort holds right now, and windows_available in the reply lists what the ro…

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `cohort`: Who is in the cohort and how it was screened, including rosterAgeHours, the age of the membership screen.
- `coverage`: Which wallets could be read, and which are reported as unprofiled rather than counted as holding nothing.
- `flow_traded`: Dollars EXECUTED inside the window per coin, same row shape. A different unit from positions_held and never added to it.
- `flow_withheld`: How many traded rows were not returned at this access level.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `positions_held`: Dollars currently OPEN per coin, with the wallet count behind each row and a thin flag under 3 wallets.
- `positions_withheld`: How many holding rows were not returned at this access level.
- `updated_at`: When the roll-up was published. Separate from how old the membership screen is.
- `venue`: Which market the cohort trades on.
- `window`: Which window flow_traded covers: 1h, 4h or 24h.
- `windows_available`: The windows the roll-up actually published.

### `hl_wallet` (~200 tokens)

Hyperliquid wallet book

One Hyperliquid account: live positions, equity, leverage, net bias and unrealized PnL, plus its recent whale-sized fills. The live book is public on Hyperliquid so it stays keyless; computed history (win rates, cadence, realized PnL) and the full fill trail need a developer plan. Descriptive market data only.

Input parameters:

- `address` (string, required): Hyperliquid account address, 0x followed by 40 hex characters. Required. Every hl_whales row carries the wallet that filled it, so it can be passed straight in. An address outside the tracked set ans…
- `limit` (integer): Max recent fills returned for this account. Defaults to 50, hard ceiling 200 for everyone and no plan raises it. Keyless calls receive 3 of them whatever is asked for, and the live positions come bac…

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `address`: The account address, normalised.
- `capped`: Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
- `error`: invalid_address when the address is not 0x plus 40 hex characters. Nothing was looked up.
- `locked_layers`: Keyless only: which computed blocks a developer plan adds.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `prints`: Recent whale-sized fills for this account. Keyless connections receive 3 of them whatever was asked for.
- `profile`: The live account: what it holds, equity, dollars open, leverage, which way it leans and unrealized profit. Public on Hyperliquid, so it stays keyless.
- `tracked`: False when this account is outside the tracked set. A coverage fact, not an account holding nothing.

### `dex_wallet` (~215 tokens)

On-chain wallet activity

One Ethereum, Base or Arbitrum address: its recorded DEX swaps, net flow per token and activity pattern. For a Hyperliquid ACCOUNT use hl_wallet instead: the same 0x string can exist on both and they are different subjects with different pages. Real coverage limit, state it once when the answer turns on it: the swap feed sees roughly 7 percent of a wallet total activity, so quiet here does not mean inactive. Descriptive market data only.

Input parameters:

- `address` (string, required): Ethereum, Base or Arbitrum address, 0x followed by 40 hex characters. Required. This is the on-chain wallet, not the Hyperliquid account that can sit at the same 0x string: use hl_wallet for that one…
- `limit` (integer): Max recorded swaps returned for this address. Defaults to 25, hard ceiling 100 for everyone and no plan raises it.

Output parameters:

- `access_note`: What this connection could not return and what lifts it. Always pass this on to the user: it is the only place that information appears.
- `address`: The address, normalised.
- `available`: False when this lane could not answer: a producer is dark, the pair sits outside this plan, or the argument named something we do not carry. Absent or true means the numbers are a real reading, not a…
- `capped`: Present only when an argument was cut down to a ceiling. Absent means nothing was clamped, so a smaller number than you asked for is the data and not a limit.
- `error`: invalid_address when the address is not 0x plus 40 hex characters. Nothing was looked up.
- `events`: Its recorded swaps, newest first.
- `note`: One line saying what the numbers cover, or why there are none. Read it before reporting any zero as a market reading.
- `profile`: What this address has been doing: net flow per token and its activity pattern.
- `tracked`: False when this address is outside the followed set. A coverage fact, not a wallet doing nothing.
- `venue`: Always on-chain. This is NOT the Hyperliquid account that can sit at the same 0x string.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-coinlobster-whale-data/coinlobster#diagnostics

## Score history

- 2026-08-16: 72
- 2026-08-15: 72
- 2026-08-14: 71
- 2026-08-13: 68

## Links

- Remote endpoint: https://coinlobster.com/mcp
- Website: https://coinlobster.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-coinlobster-whale-data/coinlobster.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-coinlobster-whale-data/coinlobster.json
- HTML version of this page: https://verifymcp.io/servers/com-coinlobster-whale-data/coinlobster
