Skip to main content
Glama

Agent Einstein — Crypto & Market Intelligence

Polymarket Whale Trades

get_polymarket_whales
Read-onlyIdempotent

Large and unusually-early positions taken on Polymarket prediction markets, surfaced from the insider-detection scan.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum rows to return (1-25).

Output Schema

NameRequiredDescriptionDefault
limitNoRow cap applied to every list in this payload.
staleNoTrue when the snapshot is past its refresh interval.
reasonNoWhy the payload is absent, when `available` is false.
availableNoFalse when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.
fetchedAtNoWhen the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries.
truncatedNoPresent only when a list was cut to `limit`.
alertCountNoAlerts in this pass.
highRiskCountNoAlerts graded high risk.
insiderScanReportNoThe scan behind the alerts.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / fetchedAt / description
      Previous value: -"When the underlying snapshot was refreshed (epoch ms, or ISO-8601 for the Bitcoin cycle feed). Age matters: these are cached reads, not live queries."New value: +"When the underlying snapshot was refreshed (epoch ms or ISO-8601). Age matters: these are cached reads, not live queries."
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "alertCount": {
      +      "description": "Alerts in this pass."
      +    },
      +    "available": {
      +      "description": "False when this call has no data — a snapshot that is not warm yet, a domain switched off, or an argument that was rejected. NOT an error, and NOT a statement about the market.",
      +      "type": "boolean"
      +    },
      +    "fetchedAt": {
      +      "description": "When the underlying snapshot was refreshed (epoch ms, or ISO-8601 for the Bitcoin cycle feed). Age matters: these are cached reads, not live queries."
      +    },
      +    "highRiskCount": {
      +      "description": "Alerts graded high risk."
      +    },
      +    "insiderScanReport": {
      +      "additionalProperties": true,
      +      "description": "The scan behind the alerts.",
      +      "properties": {
      +        "alerts": {
      +          "description": "Flagged positions.",
      +          "items": {},
      +          "type": "array"
      +        },
      +        "dataSourcesUsed": {
      +          "description": "Sources the scan read.",
      +          "items": {},
      +          "type": "array"
      +        },
      +        "marketAnomalies": {
      +          "description": "Market-level anomalies.",
      +          "items": {},
      +          "type": "array"
      +        },
      +        "marketsAnalyzed": {
      +          "description": "Markets examined."
      +        },
      +        "walletClusters": {
      +          "description": "Wallets that move together.",
      +          "items": {},
      +          "type": "array"
      +        },
      +        "walletsFlagged": {
      +          "description": "Wallets flagged."
      +        },
      +        "walletsScanned": {
      +          "description": "Wallets examined."
      +        },
      +        "whaleTransfers": {
      +          "description": "Large transfers into the flagged wallets.",
      +          "items": {},
      +          "type": "array"
      +        }
      +      }
      +    },
      +    "limit": {
      +      "description": "Row cap applied to every list in this payload.",
      +      "type": "number"
      +    },
      +    "reason": {
      +      "description": "Why the payload is absent, when `available` is false.",
      +      "type": "string"
      +    },
      +    "stale": {
      +      "description": "True when the snapshot is past its refresh interval."
      +    },
      +    "truncated": {
      +      "additionalProperties": true,
      +      "description": "Present only when a list was cut to `limit`.",
      +      "properties": {
      +        "limit": {
      +          "description": "The cap that was applied.",
      +          "type": "number"
      +        },
      +        "originalLengths": {
      +          "additionalProperties": true,
      +          "description": "Field name → its full length before the cut."
      +        }
      +      }
      +    }
      +  },
      +  "type": "object"
      +}
  3. Added

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true and a closed-world scope, so safety behavior is covered. The description adds useful context that rows come from the insider-detection scan and defines the whale criterion as large AND unusually early, but says nothing about pagination, caching, or result recency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with no filler, and the key qualifiers (large, unusually early, Polymarket, insider-detection source) are front-loaded rather than buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. The description covers source, scope and selection criterion for a simple one-parameter read tool; only the routing to sibling prediction-market tools is under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single `limit` parameter is fully documented in the schema with its range and default. The description adds no parameter meaning beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (large and unusually-early positions on Polymarket prediction markets) and scopes it to the insider-detection scan, which separates it from venue siblings like get_hyperliquid_whales and get_robinhood_whale_prints. It lacks an explicit verb, reading as a noun phrase rather than 'returns X', so it is clear but not maximally crisp.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The venue (Polymarket) and the signal type (whale/early positions) imply when to reach for this tool, but there is no explicit when-to-use versus analyze_prediction_markets, get_prediction_market_catalysts, or track_whales, and no stated prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.