Skip to main content
Glama

List sharp-money flows

get_sharp_money_flows
Read-onlyIdempotent

Ranked sharp-money flow discovery across prediction markets. Use this before you know a condition_id to find where graded traders are net buying or selling. Cursor-paginated, ranked by absolute net flow descending.

Args:

  • timeframe (string, optional): Lookback window: "1h", "4h", "24h", "7d" (default "24h")

  • limit (number, 1-100, default 20): Max results per page

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

  • category (string, optional): Filter by market category (case-insensitive): a sport such as Basketball, Esports, or sports for every sport but Esports

  • platform (string, optional): "polymarket" or "all" (default "all")

  • min_grade (string, optional): Minimum trader grade S, A, B, C, D, or F (default "B" = S/A/B)

  • direction (string, optional): Filter by net flow direction: "YES" or "NO"

  • condition_id (string, optional): One market's flow, by exact raw provider condition_id; not with event_slug

  • event_slug (string, optional): Rank only the markets of one game (moneyline, spreads, totals and props), the markets get_game_trades reads; not with condition_id; an unknown slug is not_found

Returns: Ranked markets with sharp_money (net_flow_usd, direction, whale_trade_count, buy/sell volumes) and market identity. smart_money is a deprecated byte-identical alias of sharp_money until its 2027-02-01 sunset.

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_sharp_money_flows"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMax results (1-100, default 20)
cursorNoPagination cursor with smf_ prefix
categoryNoFilter by market category (case-insensitive): a sport such as Basketball, Esports, or sports for every sport but Esports
platformNoPlatform filter (default all)all
directionNoFilter by net flow direction
min_gradeNoMinimum trader grade (default B = S/A/B)B
timeframeNoLookback window (default 24h)24h
event_slugNoRank only the markets of one game (moneyline, spreads, totals and props), the markets get_game_trades reads. An unknown slug is not_found. Not with condition_id
condition_idNoOne market's flow: its exact raw provider condition_id. Not with event_slug

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / $defs / ResponseMeta / properties / continued_from_generation
      Added value: +{
      +  "type": "integer"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / category / description
      Previous value: -"Filter by provider-backed market category"New value: +"Filter by market category (case-insensitive): a sport such as Basketball, Esports, or sports for every sport but Esports"
  3. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "data": {
      -        "items": {
      -          "$ref": "#/$defs/SmartMoneyFlowMarket"
      -        },
      -        "type": "array"
      -      },
      -      "has_more": {
      -        "type": "boolean"
      -      },
      -      "meta": {
      -        "$ref": "#/$defs/ResponseMeta"
      -      },
      -      "next_cursor": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "total": {
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "data",
      -      "has_more",
      -      "next_cursor",
      -      "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/SmartMoneyFlowMarket"
      +        },
      +        "type": "array"
      +      },
      +      "has_more": {
      +        "type": "boolean"
      +      },
      +      "meta": {
      +        "$ref": "#/$defs/ResponseMeta"
      +      },
      +      "next_cursor": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "total": {
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "data",
      +      "has_more",
      +      "next_cursor",
      +      "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"
      +  }
      +]
  4. Changed2 schema fields changed
    • addedInput schema / properties / condition_id
      Added value: +{
      +  "description": "One market's flow: its exact raw provider condition_id. Not with event_slug",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / event_slug
      Added value: +{
      +  "description": "Rank only the markets of one game (moneyline, spreads, totals and props), the markets get_game_trades reads. An unknown slug is not_found. Not with condition_id",
      +  "minLength": 1,
      +  "type": "string"
      +}
  5. Changed2 schema fields changed
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / sharp_money / properties / whale_trade_count / deprecated
      Added value: +true
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / smart_money / properties / whale_trade_count / deprecated
      Added value: +true
  6. Changed10 schema fields changed
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / category / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / category / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / slug / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / slug / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / title / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / title / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / sharp_money / properties / token_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / sharp_money / properties / token_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / smart_money / properties / token_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / smart_money / properties / token_id / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  7. Changed2 schema fields changed
    • changedOutput schema / $defs / SmartMoneyFlowMarket / properties / sharp_money / required
      Previous value: -[
      -  "net_flow_usd",
      -  "direction",
      -  "token_id",
      -  "whale_trade_count",
      -  "buy_volume_usd",
      -  "sell_volume_usd"
      -]New value: +[
      +  "net_flow_usd",
      +  "direction",
      +  "token_id",
      +  "large_trade_count",
      +  "whale_trade_count",
      +  "buy_volume_usd",
      +  "sell_volume_usd"
      +]
    • changedOutput schema / $defs / SmartMoneyFlowMarket / properties / smart_money / required
      Previous value: -[
      -  "net_flow_usd",
      -  "direction",
      -  "token_id",
      -  "whale_trade_count",
      -  "buy_volume_usd",
      -  "sell_volume_usd"
      -]New value: +[
      +  "net_flow_usd",
      +  "direction",
      +  "token_id",
      +  "large_trade_count",
      +  "whale_trade_count",
      +  "buy_volume_usd",
      +  "sell_volume_usd"
      +]
  8. Changed3 schema fields changed
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / platform / anyOf
      Removed value: -[
      -  {
      -    "enum": [
      -      "polymarket"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / platform / enum
      Added value: +[
      +  "polymarket",
      +  null
      +]
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / platform / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  9. Changed19 schema fields changed
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / category / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / category / nullable
      Removed value: -true
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / category / type
      Removed value: -"string"
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / platform / anyOf
      Added value: +[
      +  {
      +    "enum": [
      +      "polymarket"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / platform / enum
      Removed value: -[
      -  "polymarket"
      -]
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / platform / nullable
      Removed value: -true
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / platform / type
      Removed value: -"string"
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / slug / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / slug / nullable
      Removed value: -true
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / slug / type
      Removed value: -"string"
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / title / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / title / nullable
      Removed value: -true
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / market / properties / title / type
      Removed value: -"string"
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / sharp_money / properties / token_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / sharp_money / properties / token_id / nullable
      Removed value: -true
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / sharp_money / properties / token_id / type
      Removed value: -"string"
    • addedOutput schema / $defs / SmartMoneyFlowMarket / properties / smart_money / properties / token_id / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / smart_money / properties / token_id / nullable
      Removed value: -true
    • removedOutput schema / $defs / SmartMoneyFlowMarket / properties / smart_money / properties / token_id / type
      Removed value: -"string"
  10. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "ResponseMeta": {
      +      "properties": {
      +        "cache_age_s": {
      +          "type": "integer"
      +        },
      +        "cached": {
      +          "type": "boolean"
      +        },
      +        "category_skill_base_payload_hash": {
      +          "pattern": "^[0-9a-f]{64}$",
      +          "type": "string"
      +        },
      +        "category_skill_enriched_base_payload_hash": {
      +          "pattern": "^[0-9a-f]{64}$",
      +          "type": "string"
      +        },
      +        "category_skill_model_operationally_degraded": {
      +          "type": "boolean"
      +        },
      +        "category_skill_model_version": {
      +          "type": "string"
      +        },
      +        "category_skill_observation_started_at": {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        "category_skill_platform": {
      +          "const": "polymarket",
      +          "type": "string"
      +        },
      +        "category_skill_scope": {
      +          "const": "observed_goldsky_primary_taker_fill",
      +          "type": "string"
      +        },
      +        "category_skill_source": {
      +          "enum": [
      +            "live",
      +            "partial",
      +            "degraded",
      +            "unavailable"
      +          ],
      +          "type": "string"
      +        },
      +        "category_skill_source_coverage": {
      +          "enum": [
      +            "partial_whale_threshold_fills",
      +            "graded_wallet_fills"
      +          ],
      +          "type": "string"
      +        },
      +        "category_skill_status_counts": {
      +          "properties": {
      +            "degraded": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "insufficient": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "live": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "stale": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "unknown": {
      +              "minimum": 0,
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "live",
      +            "insufficient",
      +            "stale",
      +            "unknown",
      +            "degraded"
      +          ],
      +          "type": "object"
      +        },
      +        "category_skill_taxonomy_version": {
      +          "type": "string"
      +        },
      +        "cost": {
      +          "type": "integer"
      +        },
      +        "directional_source": {
      +          "enum": [
      +            "live",
      +            "degraded"
      +          ],
      +          "type": "string"
      +        },
      +        "ranking_as_of": {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        "ranking_generation": {
      +          "type": "integer"
      +        },
      +        "ranking_source": {
      +          "enum": [
      +            "live",
      +            "db_only"
      +          ],
      +          "type": "string"
      +        },
      +        "request_id": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "request_id",
      +        "cached",
      +        "cost"
      +      ],
      +      "type": "object"
      +    },
      +    "SmartMoneyFlowMarket": {
      +      "properties": {
      +        "market": {
      +          "properties": {
      +            "category": {
      +              "nullable": true,
      +              "type": "string"
      +            },
      +            "condition_id": {
      +              "type": "string"
      +            },
      +            "id": {
      +              "type": "string"
      +            },
      +            "platform": {
      +              "enum": [
      +                "polymarket"
      +              ],
      +              "nullable": true,
      +              "type": "string"
      +            },
      +            "slug": {
      +              "nullable": true,
      +              "type": "string"
      +            },
      +            "title": {
      +              "nullable": true,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "condition_id",
      +            "title",
      +            "slug",
      +            "category",
      +            "platform"
      +          ],
      +          "type": "object"
      +        },
      +        "sharp_money": {
      +          "properties": {
      +            "buy_volume_usd": {
      +              "type": "number"
      +            },
      +            "direction": {
      +              "enum": [
      +                "YES",
      +                "NO"
      +              ],
      +              "type": "string"
      +            },
      +            "large_trade_count": {
      +              "type": "integer"
      +            },
      +            "net_flow_usd": {
      +              "type": "number"
      +            },
      +            "sell_volume_usd": {
      +              "type": "number"
      +            },
      +            "token_id": {
      +              "nullable": true,
      +              "type": "string"
      +            },
      +            "whale_trade_count": {
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "net_flow_usd",
      +            "direction",
      +            "token_id",
      +            "whale_trade_count",
      +            "buy_volume_usd",
      +            "sell_volume_usd"
      +          ],
      +          "type": "object"
      +        },
      +        "smart_money": {
      +          "deprecated": true,
      +          "properties": {
      +            "buy_volume_usd": {
      +              "type": "number"
      +            },
      +            "direction": {
      +              "enum": [
      +                "YES",
      +                "NO"
      +              ],
      +              "type": "string"
      +            },
      +            "large_trade_count": {
      +              "type": "integer"
      +            },
      +            "net_flow_usd": {
      +              "type": "number"
      +            },
      +            "sell_volume_usd": {
      +              "type": "number"
      +            },
      +            "token_id": {
      +              "nullable": true,
      +              "type": "string"
      +            },
      +            "whale_trade_count": {
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "net_flow_usd",
      +            "direction",
      +            "token_id",
      +            "whale_trade_count",
      +            "buy_volume_usd",
      +            "sell_volume_usd"
      +          ],
      +          "type": "object"
      +        },
      +        "timeframe": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "market",
      +        "sharp_money",
      +        "smart_money",
      +        "timeframe"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "data": {
      +          "items": {
      +            "$ref": "#/$defs/SmartMoneyFlowMarket"
      +          },
      +          "type": "array"
      +        },
      +        "has_more": {
      +          "type": "boolean"
      +        },
      +        "meta": {
      +          "$ref": "#/$defs/ResponseMeta"
      +        },
      +        "next_cursor": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "total": {
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "data",
      +        "has_more",
      +        "next_cursor",
      +        "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"
      +}
  11. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds genuinely new behavior: cursor pagination with an smf_ prefix, rank ordering by absolute net flow, the not_found outcome for an unknown event_slug, and a dated deprecation promise for the smart_money alias. What it omits is cost/result-volume behavior and what an empty result looks like.

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?

Front-loaded with the highest-value sentence and the Deprecation/Returns notes are well placed. However, the nine-line Args block largely duplicates schema text that already has 100% description coverage, making roughly half the description redundant with structured fields.

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?

For a nine-optional-parameter, zero-required discovery tool with an output schema, this is close to complete: it covers routing, ranking, pagination, filtering semantics, and alias sunsetting. Minor gaps remain — no guidance on page-size tradeoffs or on how timeframe interacts with the ranking.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3; the description still earns a bump by disambiguating things the schema states tersely, notably that min_grade "B" expands to S/A/B and that category "sports" means every sport except Esports. It also restates the condition_id/event_slug exclusivity and cross-references get_game_trades for event_slug scope.

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

Purpose5/5

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

States a specific verb and resource ("Ranked sharp-money flow discovery across prediction markets") plus the exact output ordering (absolute net flow descending). Crucially it carves out its position against siblings by saying "Use this before you know a condition_id" — i.e., this is the discovery entry point, whereas get_market_flow/get_game_sharp_money are the targeted lookups.

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 a clear usage condition ("before you know a condition_id to find where graded traders are net buying or selling"), which implies the hand-off to per-market tools. It does not name get_market_flow or get_game_sharp_money explicitly, and offers no when-not guidance beyond the condition_id/event_slug mutual exclusion.

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.