Skip to main content
Glama

Replay historical large trades

get_large_trades_history
Read-onlyIdempotent

Replay historical large trades from the local record. Supports cursor pagination plus condition, trader, category, grade, platform, suspicion, market-share, and RFC3339 from/to filters, and a market_volume_share sort.

Args:

  • limit (number, 1-100, default 20)

  • cursor (string, optional): Pagination cursor with wth_ prefix

  • min_size (number, optional): Minimum trade size in USD

  • condition_id (string, optional): Exact raw provider condition_id

  • event_slug (string, optional): Every market of one game, the markets get_game_trades reads; recent order only, not with condition_id; an unknown slug is not_found

  • trader (string, optional): Wallet, alias, or username

  • category (string, optional): Filter by market category (case-insensitive): a sport such as Basketball, a league such as NBA (it folds into its sport), Esports, or sports for every sport but Esports. Omit it for every sports and esports trade

  • min_grade (string, optional): S, A, B, C, D, or F; filters on today's grade, not the grade at trade time; not with min_grade_at_trade

  • min_grade_at_trade (string, optional): Minimum grade the trader held when the trade filled (graded only), the basis the stream and webhooks share; not with min_grade

  • suspicious_only (boolean, optional): Keep only persisted suspicion_score >= 60

  • platform (string, optional): polymarket or all

  • from/to (string, optional): RFC3339 traded_at bounds

  • min_market_volume_share (number, 0-1, optional): Keep only trades whose market_volume_share is known and at least this; a fraction, so 0.01 is one percent of the market's traded volume

  • sort (string, optional): "recent" (default, newest first) or "market_volume_share" (biggest share of its market first, over the last 30 days, or from the from bound on the history tools; a cursor is bound to the order it was minted in)

Returns: Historical large trades with replay metadata, current review_score (signal_score is its deprecated twin, same value, until its 2027-02-01 sunset) and trader grade, point-in-time recorded_review_score (recorded_signal_score is its deprecated twin until its 2027-02-01 sunset; null before 2026-08-03) and trader grade_at_trade with grade_at_trade_status (unknown before 2026-09-19), optional suspicion_score, and optional suspicion_track. A null suspicion track means the persisted legacy row has no track label. Each trade carries clv, its closing line value against the market's stored close (get_market_close): status measured, in_play, pending or unavailable, and when measured clv_cents, positive when the trade beat the close (buy: close minus price; sell: price minus close; cents per share, gross of fees). taker_fee_cents is the fee the fill paid as taker, cents per share, from the exchange's on-chain record of the fill (null until that record is decoded, about a minute after the trade, and before 2026-08-16); clv_after_fees_cents is clv_cents minus it, set when both are. The page carries data_quality beside data: status, as_of (the oldest clock the page rests on) and field_groups. fresh and stale both mean tracked and clocked; stale means as_of is older than max_age_s, the refresh budget of the group writer. Neither is a tolerance: compare as_of with your own. unknown means this read cannot date that group, never that it is recent.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_large_trades_history"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoExclusive traded_at upper bound
fromNoInclusive traded_at lower bound
sortNoOrder of the page. recent is newest first. market_volume_share ranks by each trade's share of its market's traded volume, biggest first, a trade whose share is unavailable last, over from, or the last 30 days when from is omitted. A cursor is bound to the order it was minted inrecent
limitNoMax results (1-100, default 20)
cursorNoPagination cursor from previous response
traderNoTrader wallet, alias, or username
categoryNoFilter by market category (case-insensitive): a sport such as Basketball, a league such as NBA (it folds into its sport), Esports, or sports for every sport but Esports. Omit it for every sports and esports trade
min_sizeNoMinimum trade size in USD
platformNoFilter by provider platform
min_gradeNoMinimum trader grade now; not with min_grade_at_trade
event_slugNoEvery market of one game (moneyline, spreads, totals and props), the markets get_game_trades reads; for example nba-bos-orl-2026-11-01. An unknown slug is not_found. Recent order only; not with condition_id or since
condition_idNoExact raw provider condition_id
suspicious_onlyNoKeep only rows with persisted suspicion_score >= 60
min_grade_at_tradeNoMinimum grade the trader held when the trade filled (grade_at_trade, graded only), the basis the stream and webhooks share; not with min_grade
min_market_volume_shareNoKeep only trades whose market_volume_share is known and at least this. A fraction, not a percent: 0.01 is one percent of the market's traded volume. A trade whose share is unavailable is never returned by a non-zero value

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedOutput schema / $defs / LargeTrade / properties / clv / properties / clv_after_fees_cents
      Added value: +{
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • addedOutput schema / $defs / LargeTrade / properties / clv / properties / taker_fee_cents
      Added value: +{
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • changedOutput schema / $defs / LargeTrade / properties / clv / required
      Previous value: -[
      -  "status",
      -  "unavailable_reason",
      -  "pre_kickoff",
      -  "close_anchor_at",
      -  "close_price",
      -  "clv_cents",
      -  "basis_version"
      -]New value: +[
      +  "status",
      +  "unavailable_reason",
      +  "pre_kickoff",
      +  "close_anchor_at",
      +  "close_price",
      +  "clv_cents",
      +  "basis_version",
      +  "taker_fee_cents",
      +  "clv_after_fees_cents"
      +]
  2. Changed2 schema fields changed
    • addedOutput schema / $defs / LargeTrade / properties / clv
      Added value: +{
      +  "properties": {
      +    "basis_version": {
      +      "type": "string"
      +    },
      +    "close_anchor_at": {
      +      "format": "date-time",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "close_price": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "clv_cents": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "pre_kickoff": {
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "enum": [
      +        "measured",
      +        "in_play",
      +        "pending",
      +        "unavailable"
      +      ],
      +      "type": "string"
      +    },
      +    "unavailable_reason": {
      +      "anyOf": [
      +        {
      +          "enum": [
      +            "no_observation_in_lookback",
      +            "provider_empty_window",
      +            "provider_invalid_contract",
      +            "capture_window_closed",
      +            "no_game_start_time",
      +            "not_one_sided_resolution",
      +            "not_captured",
      +            "close_token_mismatch",
      +            "anchor_stale",
      +            "outcome_unknown"
      +          ],
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "unavailable_reason",
      +    "pre_kickoff",
      +    "close_anchor_at",
      +    "close_price",
      +    "clv_cents",
      +    "basis_version"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / $defs / LargeTrade / required
      Previous value: -[
      -  "id",
      -  "traded_at",
      -  "size_usd",
      -  "side",
      -  "outcome",
      -  "token_id",
      -  "price",
      -  "review_score",
      -  "signal_score",
      -  "recorded_review_score",
      -  "recorded_signal_score",
      -  "suspicion_score",
      -  "suspicion_track",
      -  "trader",
      -  "market"
      -]New value: +[
      +  "id",
      +  "traded_at",
      +  "size_usd",
      +  "side",
      +  "outcome",
      +  "token_id",
      +  "price",
      +  "review_score",
      +  "signal_score",
      +  "recorded_review_score",
      +  "recorded_signal_score",
      +  "suspicion_score",
      +  "suspicion_track",
      +  "trader",
      +  "market",
      +  "clv"
      +]
  3. Changed2 schema fields changed
    • changedInput schema / properties / min_grade / description
      Previous value: -"Minimum trader grade"New value: +"Minimum trader grade now; not with min_grade_at_trade"
    • addedInput schema / properties / min_grade_at_trade
      Added value: +{
      +  "description": "Minimum grade the trader held when the trade filled (grade_at_trade, graded only), the basis the stream and webhooks share; not with min_grade",
      +  "enum": [
      +    "S",
      +    "A",
      +    "B",
      +    "C",
      +    "D",
      +    "F"
      +  ],
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • changedInput schema / properties / category / description
      Previous value: -"Filter by market category"New value: +"Filter by market category (case-insensitive): a sport such as Basketball, a league such as NBA (it folds into its sport), Esports, or sports for every sport but Esports. Omit it for every sports and esports trade"
  5. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "data": {
      -        "items": {
      -          "$ref": "#/$defs/LargeTrade"
      -        },
      -        "type": "array"
      -      },
      -      "data_quality": {
      -        "$ref": "#/$defs/DataQuality"
      -      },
      -      "has_more": {
      -        "type": "boolean"
      -      },
      -      "meta": {
      -        "$ref": "#/$defs/LargeTradeHistoryMeta"
      -      },
      -      "next_cursor": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "total": {
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "data",
      -      "has_more",
      -      "next_cursor",
      -      "data_quality",
      -      "meta"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "code": {
      -            "type": "string"
      -          },
      -          "doc_url": {
      -            "type": "string"
      -          },
      -          "param": {
      -            "type": "string"
      -          },
      -          "reason": {
      -            "type": "string"
      -          },
      -          "request_id": {
      -            "type": "string"
      -          },
      -          "retry_after_seconds": {
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "retry_at": {
      -            "type": "string"
      -          },
      -          "status": {
      -            "minimum": 0,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "code"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "data": {
      +        "items": {
      +          "$ref": "#/$defs/LargeTrade"
      +        },
      +        "type": "array"
      +      },
      +      "data_quality": {
      +        "$ref": "#/$defs/DataQuality"
      +      },
      +      "has_more": {
      +        "type": "boolean"
      +      },
      +      "meta": {
      +        "$ref": "#/$defs/LargeTradeHistoryMeta"
      +      },
      +      "next_cursor": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "total": {
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "data",
      +      "has_more",
      +      "next_cursor",
      +      "data_quality",
      +      "meta"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "billing_url": {
      +            "type": "string"
      +          },
      +          "code": {
      +            "type": "string"
      +          },
      +          "doc_url": {
      +            "type": "string"
      +          },
      +          "param": {
      +            "type": "string"
      +          },
      +          "reason": {
      +            "type": "string"
      +          },
      +          "request_id": {
      +            "type": "string"
      +          },
      +          "retry_after_seconds": {
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "retry_at": {
      +            "type": "string"
      +          },
      +          "status": {
      +            "minimum": 0,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "code"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  6. Changed3 schema fields changed
    • changedOutput schema / $defs / DataQuality / properties / status / enum
      Previous value: -[
      -  "fresh",
      -  "partial",
      -  "unknown",
      -  "untracked",
      -  "unavailable"
      -]New value: +[
      +  "fresh",
      +  "stale",
      +  "partial",
      +  "unknown",
      +  "untracked",
      +  "unavailable"
      +]
    • addedOutput schema / $defs / DataQualityGroup / properties / max_age_s
      Added value: +{
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • changedOutput schema / $defs / DataQualityGroup / properties / status / enum
      Previous value: -[
      -  "fresh",
      -  "partial",
      -  "unknown",
      -  "untracked",
      -  "unavailable"
      -]New value: +[
      +  "fresh",
      +  "stale",
      +  "partial",
      +  "unknown",
      +  "untracked",
      +  "unavailable"
      +]
  7. Changed1 schema field changed
    • addedInput schema / properties / event_slug
      Added value: +{
      +  "description": "Every market of one game (moneyline, spreads, totals and props), the markets get_game_trades reads; for example nba-bos-orl-2026-11-01. An unknown slug is not_found. Recent order only; not with condition_id or since",
      +  "minLength": 1,
      +  "type": "string"
      +}
  8. Changed1 schema field changed
    • addedOutput schema / $defs / LargeTrade / properties / trader / properties / grade / enum
      Added value: +[
      +  "S",
      +  "A",
      +  "B",
      +  "C",
      +  "D",
      +  "F"
      +]
  9. Changed13 schema fields changed
    • removedOutput schema / $defs / LargeTrade / properties / outcome / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / LargeTrade / properties / outcome / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / LargeTrade / properties / recorded_review_score / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / LargeTrade / properties / recorded_review_score / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / $defs / LargeTrade / properties / recorded_signal_score / anyOf
      Removed value: -[
      -  {
      -    "deprecated": true,
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / LargeTrade / properties / recorded_signal_score / deprecated
      Added value: +true
    • addedOutput schema / $defs / LargeTrade / properties / recorded_signal_score / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / $defs / LargeTrade / properties / suspicion_score / anyOf
      Removed value: -[
      -  {
      -    "maximum": 100,
      -    "minimum": 0,
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / LargeTrade / properties / suspicion_score / maximum
      Added value: +100
    • addedOutput schema / $defs / LargeTrade / properties / suspicion_score / minimum
      Added value: +0
    • addedOutput schema / $defs / LargeTrade / properties / suspicion_score / type
      Added value: +[
      +  "integer",
      +  "null"
      +]
    • removedOutput schema / $defs / LargeTrade / properties / token_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / LargeTrade / properties / token_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  10. Changed6 schema fields changed
    • removedOutput schema / $defs / LargeTrade / properties / suspicion_track / anyOf
      Removed value: -[
      -  {
      -    "enum": [
      -      "whale",
      -      "fresh_conviction",
      -      "sliced_position"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / LargeTrade / properties / suspicion_track / enum
      Added value: +[
      +  "whale",
      +  "fresh_conviction",
      +  "sliced_position",
      +  null
      +]
    • addedOutput schema / $defs / LargeTrade / properties / suspicion_track / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / LargeTrade / properties / trader / properties / grade_at_trade / anyOf
      Removed value: -[
      -  {
      -    "enum": [
      -      "S",
      -      "A",
      -      "B",
      -      "C",
      -      "D",
      -      "F"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / LargeTrade / properties / trader / properties / grade_at_trade / enum
      Added value: +[
      +  "S",
      +  "A",
      +  "B",
      +  "C",
      +  "D",
      +  "F",
      +  null
      +]
    • addedOutput schema / $defs / LargeTrade / properties / trader / properties / grade_at_trade / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  11. Changed26 schema fields changed
    • addedOutput schema / $defs / LargeTrade / properties / outcome / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / $defs / LargeTrade / properties / outcome / nullable
      Removed value: -true
    • removedOutput schema / $defs / LargeTrade / properties / outcome / type
      Removed value: -"string"
    • addedOutput schema / $defs / LargeTrade / properties / recorded_review_score / anyOf
      Added value: +[
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / $defs / LargeTrade / properties / recorded_review_score / nullable
      Removed value: -true
    • removedOutput schema / $defs / LargeTrade / properties / recorded_review_score / type
      Removed value: -"number"
    • addedOutput schema / $defs / LargeTrade / properties / recorded_signal_score / anyOf
      Added value: +[
      +  {
      +    "deprecated": true,
      +    "type": "number"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / $defs / LargeTrade / properties / recorded_signal_score / deprecated
      Removed value: -true
    • removedOutput schema / $defs / LargeTrade / properties / recorded_signal_score / nullable
      Removed value: -true
    • removedOutput schema / $defs / LargeTrade / properties / recorded_signal_score / type
      Removed value: -"number"
    • addedOutput schema / $defs / LargeTrade / properties / suspicion_score / anyOf
      Added value: +[
      +  {
      +    "maximum": 100,
      +    "minimum": 0,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / $defs / LargeTrade / properties / suspicion_score / maximum
      Removed value: -100
    • removedOutput schema / $defs / LargeTrade / properties / suspicion_score / minimum
      Removed value: -0
    • removedOutput schema / $defs / LargeTrade / properties / suspicion_score / nullable
      Removed value: -true
    • removedOutput schema / $defs / LargeTrade / properties / suspicion_score / type
      Removed value: -"integer"
    • addedOutput schema / $defs / LargeTrade / properties / suspicion_track / anyOf
      Added value: +[
      +  {
      +    "enum": [
      +      "whale",
      +      "fresh_conviction",
      +      "sliced_position"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / $defs / LargeTrade / properties / suspicion_track / enum
      Removed value: -[
      -  "whale",
      -  "fresh_conviction",
      -  "sliced_position"
      -]
    • removedOutput schema / $defs / LargeTrade / properties / suspicion_track / nullable
      Removed value: -true
    • removedOutput schema / $defs / LargeTrade / properties / suspicion_track / type
      Removed value: -"string"
    • addedOutput schema / $defs / LargeTrade / properties / token_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / $defs / LargeTrade / properties / token_id / nullable
      Removed value: -true
    • removedOutput schema / $defs / LargeTrade / properties / token_id / type
      Removed value: -"string"
    • addedOutput schema / $defs / LargeTrade / properties / trader / properties / grade_at_trade / anyOf
      Added value: +[
      +  {
      +    "enum": [
      +      "S",
      +      "A",
      +      "B",
      +      "C",
      +      "D",
      +      "F"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / $defs / LargeTrade / properties / trader / properties / grade_at_trade / enum
      Removed value: -[
      -  "S",
      -  "A",
      -  "B",
      -  "C",
      -  "D",
      -  "F"
      -]
    • removedOutput schema / $defs / LargeTrade / properties / trader / properties / grade_at_trade / nullable
      Removed value: -true
    • removedOutput schema / $defs / LargeTrade / properties / trader / properties / grade_at_trade / type
      Removed value: -"string"
  12. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "DataQuality": {
      +      "properties": {
      +        "as_of": {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        "field_groups": {
      +          "items": {
      +            "$ref": "#/$defs/DataQualityGroup"
      +          },
      +          "type": "array"
      +        },
      +        "status": {
      +          "enum": [
      +            "fresh",
      +            "partial",
      +            "unknown",
      +            "untracked",
      +            "unavailable"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "field_groups"
      +      ],
      +      "type": "object"
      +    },
      +    "DataQualityGroup": {
      +      "properties": {
      +        "as_of": {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        "group": {
      +          "type": "string"
      +        },
      +        "owner": {
      +          "type": "string"
      +        },
      +        "reason": {
      +          "type": "string"
      +        },
      +        "status": {
      +          "enum": [
      +            "fresh",
      +            "partial",
      +            "unknown",
      +            "untracked",
      +            "unavailable"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "group",
      +        "owner",
      +        "status"
      +      ],
      +      "type": "object"
      +    },
      +    "LargeTrade": {
      +      "properties": {
      +        "id": {
      +          "type": "string"
      +        },
      +        "market": {
      +          "properties": {
      +            "category": {
      +              "type": "string"
      +            },
      +            "condition_id": {
      +              "type": "string"
      +            },
      +            "id": {
      +              "type": "string"
      +            },
      +            "slug": {
      +              "type": "string"
      +            },
      +            "title": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "condition_id",
      +            "title"
      +          ],
      +          "type": "object"
      +        },
      +        "market_volume_share": {
      +          "maximum": 1,
      +          "minimum": 0,
      +          "type": "number"
      +        },
      +        "outcome": {
      +          "nullable": true,
      +          "type": "string"
      +        },
      +        "price": {
      +          "type": "number"
      +        },
      +        "recorded_review_score": {
      +          "nullable": true,
      +          "type": "number"
      +        },
      +        "recorded_signal_score": {
      +          "deprecated": true,
      +          "nullable": true,
      +          "type": "number"
      +        },
      +        "review_score": {
      +          "type": "number"
      +        },
      +        "side": {
      +          "enum": [
      +            "BUY",
      +            "SELL"
      +          ],
      +          "type": "string"
      +        },
      +        "signal_score": {
      +          "deprecated": true,
      +          "type": "number"
      +        },
      +        "size_usd": {
      +          "type": "number"
      +        },
      +        "suspicion_score": {
      +          "maximum": 100,
      +          "minimum": 0,
      +          "nullable": true,
      +          "type": "integer"
      +        },
      +        "suspicion_track": {
      +          "enum": [
      +            "whale",
      +            "fresh_conviction",
      +            "sliced_position"
      +          ],
      +          "nullable": true,
      +          "type": "string"
      +        },
      +        "token_id": {
      +          "nullable": true,
      +          "type": "string"
      +        },
      +        "traded_at": {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        "trader": {
      +          "properties": {
      +            "address": {
      +              "type": "string"
      +            },
      +            "grade": {
      +              "type": "string"
      +            },
      +            "grade_at_trade": {
      +              "enum": [
      +                "S",
      +                "A",
      +                "B",
      +                "C",
      +                "D",
      +                "F"
      +              ],
      +              "nullable": true,
      +              "type": "string"
      +            },
      +            "grade_at_trade_status": {
      +              "enum": [
      +                "graded",
      +                "ungraded",
      +                "unknown"
      +              ],
      +              "type": "string"
      +            },
      +            "id": {
      +              "type": "string"
      +            },
      +            "username": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "address",
      +            "grade_at_trade",
      +            "grade_at_trade_status"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "traded_at",
      +        "size_usd",
      +        "side",
      +        "outcome",
      +        "token_id",
      +        "price",
      +        "review_score",
      +        "signal_score",
      +        "recorded_review_score",
      +        "recorded_signal_score",
      +        "suspicion_score",
      +        "suspicion_track",
      +        "trader",
      +        "market"
      +      ],
      +      "type": "object"
      +    },
      +    "LargeTradeHistoryMeta": {
      +      "properties": {
      +        "cache_age_s": {
      +          "type": "integer"
      +        },
      +        "cached": {
      +          "type": "boolean"
      +        },
      +        "completeness": {
      +          "properties": {
      +            "reason": {
      +              "type": "string"
      +            },
      +            "status": {
      +              "const": "best_effort",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "status",
      +            "reason"
      +          ],
      +          "type": "object"
      +        },
      +        "request_id": {
      +          "type": "string"
      +        },
      +        "source": {
      +          "properties": {
      +            "kind": {
      +              "const": "local_replay",
      +              "type": "string"
      +            },
      +            "provider_fetch_at_request_time": {
      +              "const": false,
      +              "type": "boolean"
      +            },
      +            "table": {
      +              "const": "whale_alerts",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "kind",
      +            "table",
      +            "provider_fetch_at_request_time"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "request_id",
      +        "cached",
      +        "source",
      +        "completeness"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "data": {
      +          "items": {
      +            "$ref": "#/$defs/LargeTrade"
      +          },
      +          "type": "array"
      +        },
      +        "data_quality": {
      +          "$ref": "#/$defs/DataQuality"
      +        },
      +        "has_more": {
      +          "type": "boolean"
      +        },
      +        "meta": {
      +          "$ref": "#/$defs/LargeTradeHistoryMeta"
      +        },
      +        "next_cursor": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "total": {
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "data",
      +        "has_more",
      +        "next_cursor",
      +        "data_quality",
      +        "meta"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "error": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "code": {
      +              "type": "string"
      +            },
      +            "doc_url": {
      +              "type": "string"
      +            },
      +            "param": {
      +              "type": "string"
      +            },
      +            "reason": {
      +              "type": "string"
      +            },
      +            "request_id": {
      +              "type": "string"
      +            },
      +            "retry_after_seconds": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "retry_at": {
      +              "type": "string"
      +            },
      +            "status": {
      +              "minimum": 0,
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "code"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "error"
      +      ],
      +      "type": "object"
      +    }
      +  ],
      +  "type": "object"
      +}
  13. Changed2 schema fields changed
    • addedInput schema / properties / min_market_volume_share
      Added value: +{
      +  "description": "Keep only trades whose market_volume_share is known and at least this. A fraction, not a percent: 0.01 is one percent of the market's traded volume. A trade whose share is unavailable is never returned by a non-zero value",
      +  "maximum": 1,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / sort
      Added value: +{
      +  "default": "recent",
      +  "description": "Order of the page. recent is newest first. market_volume_share ranks by each trade's share of its market's traded volume, biggest first, a trade whose share is unavailable last, over from, or the last 30 days when from is omitted. A cursor is bound to the order it was minted in",
      +  "enum": [
      +    "recent",
      +    "market_volume_share"
      +  ],
      +  "type": "string"
      +}
  14. Added

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already cover the read-only/idempotent/closed-world profile, and the description goes well past them: it explains data_quality statuses (fresh/stale/unknown) and that fresh and stale both mean tracked, warns that staleness is not a tolerance to compare against as_of, documents clv statuses and the fee-decode delay (null until about a minute after the trade), and flags deprecated twin fields with their sunset dates. That is exactly the kind of behavior an agent cannot get from the structured fields.

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

Conciseness3/5

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

The purpose is front-loaded and the Args/Returns split is coherent, but the Args list duplicates a fully documented schema, and the Returns block is a single wall of prose packing deprecation timelines, CLV math, and fee timing into one paragraph with no structure. Substantial trimming would improve scanability without losing information.

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

Completeness5/5

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

For a 15-parameter tool with an output schema and full annotations, the description still supplies the interpretive layer an agent needs: pagination cursor binding, filter incompatibilities, sort semantics over the from bound or last 30 days, and how to read data_quality. Nothing material about correct invocation appears to be missing.

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%, so the schema already carries the semantics of all 15 parameters, and the Args block largely restates it (limit, cursor, category, event_slug wording is near-verbatim). The few genuine additions, such as the notes on ordering and mutual exclusion, are also present in the schema, so the description adds little beyond it. 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?

States a specific verb and resource: 'Replay historical large trades from the local record', which tells an agent this is a paged, historical read rather than a live stream. It contextualizes with siblings by naming get_game_trades and get_market_close, but never distinguishes itself from the closely named get_large_trades or get_whale_trades_history, so an agent still has to guess between those.

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

Usage Guidelines4/5

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

Gives concrete applicability rules: category can be omitted to cover all sports and esports, event_slug is 'recent order only, not with condition_id', min_grade and min_grade_at_trade are mutually exclusive, and a cursor is bound to the order it was minted in. What is missing is any explicit statement of when to pick this over get_large_trades or get_whale_trades_history.

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.