Skip to main content
Glama

What changed since your last call

problee_get_context_changes
Read-onlyIdempotent

Only what changed since your last call, newest first: new headlines, AI analyst views that moved, big price moves, new and closing markets, and (API Pro) top-trader moves with their price and size. Each change comes once, in the first window after Kellian recorded it. Call again with since = the answer's until. Plus and API Pro. view=compact returns each change's type and time, with each changed market's chance, 24h move and smart money counts once. Research, not financial advice.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "since": "<since>"
    },
    "name": "problee_get_context_changes"
  }
}

Input Schema

NameRequiredDescriptionDefault
idsNo
viewNofull (default): the whole record. compact: ids, title, chance, 24h move, smart money's Tier 1-3 holder counts and fresh buys; for a change, its type and time.
sinceYesYour last call's until (ISO 8601), up to 7 days back.
typesNo
cursorNo
segmentNoA topic, as the Traders board names it: politics, ai, economy, culture, movies, tech, weather, or a list such as ai-model-lab-rankings.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / view
      Added value: +{
      +  "description": "full (default): the whole record. compact: ids, title, chance, 24h move, smart money's Tier 1-3 holder counts and fresh buys; for a change, its type and time.",
      +  "enum": [
      +    "full",
      +    "compact"
      +  ],
      +  "type": "string"
      +}
    • removedOutput schema / $defs
      Removed value: -{
      -  "ContextChangesResponse": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "changes": {
      -        "items": {
      -          "oneOf": [
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "at": {
      -                  "format": "date-time",
      -                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                  "type": "string"
      -                },
      -                "headline": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "outlet": {
      -                      "type": "string"
      -                    },
      -                    "publishedAt": {
      -                      "format": "date-time",
      -                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                      "type": "string"
      -                    },
      -                    "title": {
      -                      "type": "string"
      -                    },
      -                    "url": {
      -                      "format": "uri",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "title",
      -                    "outlet",
      -                    "publishedAt",
      -                    "url"
      -                  ],
      -                  "type": "object"
      -                },
      -                "market": {
      -                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      -                  "type": "string"
      -                },
      -                "question": {
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "headline",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "type",
      -                "at",
      -                "market",
      -                "question",
      -                "headline"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "at": {
      -                  "format": "date-time",
      -                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                  "type": "string"
      -                },
      -                "market": {
      -                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      -                  "type": "string"
      -                },
      -                "question": {
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "analyst_view",
      -                  "type": "string"
      -                },
      -                "view": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "chance": {
      -                      "maximum": 1,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "name": {
      -                      "type": "string"
      -                    },
      -                    "priceAtTake": {
      -                      "maximum": 1,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "reason": {
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    }
      -                  },
      -                  "required": [
      -                    "name",
      -                    "chance",
      -                    "priceAtTake",
      -                    "reason"
      -                  ],
      -                  "type": "object"
      -                }
      -              },
      -              "required": [
      -                "type",
      -                "at",
      -                "market",
      -                "question",
      -                "view"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "at": {
      -                  "format": "date-time",
      -                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                  "type": "string"
      -                },
      -                "market": {
      -                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      -                  "type": "string"
      -                },
      -                "move": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "action": {
      -                      "enum": [
      -                        "bought",
      -                        "sold"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "name": {
      -                      "type": "string"
      -                    },
      -                    "price": {
      -                      "anyOf": [
      -                        {
      -                          "maximum": 1,
      -                          "minimum": 0,
      -                          "type": "number"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    },
      -                    "shares": {
      -                      "anyOf": [
      -                        {
      -                          "exclusiveMinimum": 0,
      -                          "type": "number"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    },
      -                    "side": {
      -                      "enum": [
      -                        "outcome1",
      -                        "outcome2"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "smartMoneyTier": {
      -                      "anyOf": [
      -                        {
      -                          "const": 1,
      -                          "type": "number"
      -                        },
      -                        {
      -                          "const": 2,
      -                          "type": "number"
      -                        },
      -                        {
      -                          "const": 3,
      -                          "type": "number"
      -                        }
      -                      ]
      -                    },
      -                    "tier": {
      -                      "enum": [
      -                        "top",
      -                        "profitable"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "usd": {
      -                      "anyOf": [
      -                        {
      -                          "minimum": 0,
      -                          "type": "number"
      -                        },
      -                        {
      -                          "type": "null"
      -                        }
      -                      ]
      -                    },
      -                    "wallet": {
      -                      "pattern": "^0x[0-9a-f]{40}$",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "name",
      -                    "wallet",
      -                    "tier",
      -                    "action",
      -                    "side"
      -                  ],
      -                  "type": "object"
      -                },
      -                "question": {
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "trader_move",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "type",
      -                "at",
      -                "market",
      -                "question",
      -                "move"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "at": {
      -                  "format": "date-time",
      -                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                  "type": "string"
      -                },
      -                "market": {
      -                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      -                  "type": "string"
      -                },
      -                "move": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "from": {
      -                      "maximum": 1,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    "over": {
      -                      "enum": [
      -                        "1h",
      -                        "24h"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "to": {
      -                      "maximum": 1,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    }
      -                  },
      -                  "required": [
      -                    "from",
      -                    "to",
      -                    "over"
      -                  ],
      -                  "type": "object"
      -                },
      -                "question": {
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "price_move",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "type",
      -                "at",
      -                "market",
      -                "question",
      -                "move"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "at": {
      -                  "format": "date-time",
      -                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                  "type": "string"
      -                },
      -                "chance": {
      -                  "anyOf": [
      -                    {
      -                      "maximum": 1,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "market": {
      -                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      -                  "type": "string"
      -                },
      -                "question": {
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "new_market",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "type",
      -                "at",
      -                "market",
      -                "question",
      -                "chance"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "at": {
      -                  "format": "date-time",
      -                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                  "type": "string"
      -                },
      -                "chance": {
      -                  "anyOf": [
      -                    {
      -                      "maximum": 1,
      -                      "minimum": 0,
      -                      "type": "number"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "closes": {
      -                  "format": "date-time",
      -                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                  "type": "string"
      -                },
      -                "market": {
      -                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      -                  "type": "string"
      -                },
      -                "question": {
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "closing",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "type",
      -                "at",
      -                "market",
      -                "question",
      -                "chance",
      -                "closes"
      -              ],
      -              "type": "object"
      -            }
      -          ]
      -        },
      -        "maxItems": 500,
      -        "type": "array"
      -      },
      -      "counts": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "analyst_view": {
      -            "maximum": 9007199254740991,
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "closing": {
      -            "maximum": 9007199254740991,
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "headline": {
      -            "maximum": 9007199254740991,
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "new_market": {
      -            "maximum": 9007199254740991,
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "price_move": {
      -            "maximum": 9007199254740991,
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "trader_move": {
      -            "maximum": 9007199254740991,
      -            "minimum": 0,
      -            "type": "integer"
      -          }
      -        },
      -        "required": [
      -          "headline",
      -          "analyst_view",
      -          "trader_move",
      -          "price_move",
      -          "new_market",
      -          "closing"
      -        ],
      -        "type": "object"
      -      },
      -      "meta": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "affiliation": {
      -            "const": "Kellian is not affiliated with Polymarket.",
      -            "type": "string"
      -          },
      -          "asOf": {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -            "type": "string"
      -          },
      -          "count": {
      -            "maximum": 9007199254740991,
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "limits": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "analysts": {
      -                "enum": [
      -                  "average only",
      -                  "every analyst with reasons"
      -                ],
      -                "type": "string"
      -              },
      -              "callsLeftToday": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "callsPerDay": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "changeFeed": {
      -                "type": "boolean"
      -              },
      -              "headlinesPerMarket": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "marketsPerCall": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "topTraders": {
      -                "enum": [
      -                  "counts only",
      -                  "names, sides and moves"
      -                ],
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "marketsPerCall",
      -              "callsPerDay",
      -              "callsLeftToday",
      -              "headlinesPerMarket",
      -              "analysts",
      -              "topTraders",
      -              "changeFeed"
      -            ],
      -            "type": "object"
      -          },
      -          "locked": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "analystViews": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "changes": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "headlines": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "markets": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "traderMembers": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              }
      -            },
      -            "required": [
      -              "markets",
      -              "headlines",
      -              "analystViews",
      -              "traderMembers",
      -              "changes"
      -            ],
      -            "type": "object"
      -          },
      -          "notice": {
      -            "const": "Research, not financial advice.",
      -            "type": "string"
      -          },
      -          "plan": {
      -            "enum": [
      -              "free_preview",
      -              "plus",
      -              "api_pro"
      -            ],
      -            "type": "string"
      -          },
      -          "preview": {
      -            "type": "boolean"
      -          },
      -          "requested": {
      -            "anyOf": [
      -              {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "sameAsSite": {
      -            "const": "Built from the reads kellian.app serves; the numbers match the market pages.",
      -            "type": "string"
      -          },
      -          "upgrade": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "withheld": {
      -            "items": {
      -              "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      -              "type": "string"
      -            },
      -            "type": "array"
      -          }
      -        },
      -        "required": [
      -          "asOf",
      -          "plan",
      -          "preview",
      -          "requested",
      -          "count",
      -          "withheld",
      -          "limits",
      -          "locked",
      -          "upgrade",
      -          "sameAsSite",
      -          "notice",
      -          "affiliation"
      -        ],
      -        "type": "object"
      -      },
      -      "next": {
      -        "type": "string"
      -      },
      -      "nextCursor": {
      -        "anyOf": [
      -          {
      -            "maxLength": 512,
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "since": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "until": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "since",
      -      "until",
      -      "changes",
      -      "counts",
      -      "next",
      -      "nextCursor",
      -      "meta"
      -    ],
      -    "type": "object"
      -  }
      -}
    • removedOutput schema / properties / result / $ref
      Removed value: -"#/$defs/ContextChangesResponse"
    • addedOutput schema / properties / result / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "changes": {
      +        "items": {
      +          "oneOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "at": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "headline": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "outlet": {
      +                      "type": "string"
      +                    },
      +                    "publishedAt": {
      +                      "format": "date-time",
      +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                      "type": "string"
      +                    },
      +                    "title": {
      +                      "type": "string"
      +                    },
      +                    "url": {
      +                      "format": "uri",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "title",
      +                    "outlet",
      +                    "publishedAt",
      +                    "url"
      +                  ],
      +                  "type": "object"
      +                },
      +                "market": {
      +                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +                  "type": "string"
      +                },
      +                "question": {
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "headline",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "at",
      +                "market",
      +                "question",
      +                "headline"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "at": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "market": {
      +                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +                  "type": "string"
      +                },
      +                "question": {
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "analyst_view",
      +                  "type": "string"
      +                },
      +                "view": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "chance": {
      +                      "maximum": 1,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "name": {
      +                      "type": "string"
      +                    },
      +                    "priceAtTake": {
      +                      "maximum": 1,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "reason": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "name",
      +                    "chance",
      +                    "priceAtTake",
      +                    "reason"
      +                  ],
      +                  "type": "object"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "at",
      +                "market",
      +                "question",
      +                "view"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "at": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "market": {
      +                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +                  "type": "string"
      +                },
      +                "move": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "action": {
      +                      "enum": [
      +                        "bought",
      +                        "sold"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "name": {
      +                      "type": "string"
      +                    },
      +                    "price": {
      +                      "anyOf": [
      +                        {
      +                          "maximum": 1,
      +                          "minimum": 0,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "shares": {
      +                      "anyOf": [
      +                        {
      +                          "exclusiveMinimum": 0,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "side": {
      +                      "enum": [
      +                        "outcome1",
      +                        "outcome2"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "smartMoneyTier": {
      +                      "anyOf": [
      +                        {
      +                          "const": 1,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "const": 2,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "const": 3,
      +                          "type": "number"
      +                        }
      +                      ]
      +                    },
      +                    "tier": {
      +                      "enum": [
      +                        "top",
      +                        "profitable"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "usd": {
      +                      "anyOf": [
      +                        {
      +                          "minimum": 0,
      +                          "type": "number"
      +                        },
      +                        {
      +                          "type": "null"
      +                        }
      +                      ]
      +                    },
      +                    "wallet": {
      +                      "pattern": "^0x[0-9a-f]{40}$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "name",
      +                    "wallet",
      +                    "tier",
      +                    "action",
      +                    "side"
      +                  ],
      +                  "type": "object"
      +                },
      +                "question": {
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "trader_move",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "at",
      +                "market",
      +                "question",
      +                "move"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "at": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "market": {
      +                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +                  "type": "string"
      +                },
      +                "move": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "from": {
      +                      "maximum": 1,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    "over": {
      +                      "enum": [
      +                        "1h",
      +                        "24h"
      +                      ],
      +                      "type": "string"
      +                    },
      +                    "to": {
      +                      "maximum": 1,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    }
      +                  },
      +                  "required": [
      +                    "from",
      +                    "to",
      +                    "over"
      +                  ],
      +                  "type": "object"
      +                },
      +                "question": {
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "price_move",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "at",
      +                "market",
      +                "question",
      +                "move"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "at": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "chance": {
      +                  "anyOf": [
      +                    {
      +                      "maximum": 1,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "market": {
      +                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +                  "type": "string"
      +                },
      +                "question": {
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "new_market",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "at",
      +                "market",
      +                "question",
      +                "chance"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "at": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "chance": {
      +                  "anyOf": [
      +                    {
      +                      "maximum": 1,
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "closes": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "market": {
      +                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +                  "type": "string"
      +                },
      +                "question": {
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "closing",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "at",
      +                "market",
      +                "question",
      +                "chance",
      +                "closes"
      +              ],
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        "maxItems": 500,
      +        "type": "array"
      +      },
      +      "counts": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "analyst_view": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "closing": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "headline": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "new_market": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "price_move": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "trader_move": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "headline",
      +          "analyst_view",
      +          "trader_move",
      +          "price_move",
      +          "new_market",
      +          "closing"
      +        ],
      +        "type": "object"
      +      },
      +      "meta": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "affiliation": {
      +            "const": "Kellian is not affiliated with Polymarket.",
      +            "type": "string"
      +          },
      +          "asOf": {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +            "type": "string"
      +          },
      +          "count": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "limits": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "analysts": {
      +                "enum": [
      +                  "average only",
      +                  "every analyst with reasons"
      +                ],
      +                "type": "string"
      +              },
      +              "callsLeftToday": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "callsPerDay": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "changeFeed": {
      +                "type": "boolean"
      +              },
      +              "headlinesPerMarket": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "marketsPerCall": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "topTraders": {
      +                "enum": [
      +                  "counts only",
      +                  "names, sides and moves"
      +                ],
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "marketsPerCall",
      +              "callsPerDay",
      +              "callsLeftToday",
      +              "headlinesPerMarket",
      +              "analysts",
      +              "topTraders",
      +              "changeFeed"
      +            ],
      +            "type": "object"
      +          },
      +          "locked": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "analystViews": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "changes": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "headlines": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "markets": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "traderMembers": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "markets",
      +              "headlines",
      +              "analystViews",
      +              "traderMembers",
      +              "changes"
      +            ],
      +            "type": "object"
      +          },
      +          "notice": {
      +            "const": "Research, not financial advice.",
      +            "type": "string"
      +          },
      +          "plan": {
      +            "enum": [
      +              "free_preview",
      +              "plus",
      +              "api_pro"
      +            ],
      +            "type": "string"
      +          },
      +          "preview": {
      +            "type": "boolean"
      +          },
      +          "requested": {
      +            "anyOf": [
      +              {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "sameAsSite": {
      +            "const": "Built from the reads kellian.app serves; the numbers match the market pages.",
      +            "type": "string"
      +          },
      +          "upgrade": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "withheld": {
      +            "items": {
      +              "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +              "type": "string"
      +            },
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "asOf",
      +          "plan",
      +          "preview",
      +          "requested",
      +          "count",
      +          "withheld",
      +          "limits",
      +          "locked",
      +          "upgrade",
      +          "sameAsSite",
      +          "notice",
      +          "affiliation"
      +        ],
      +        "type": "object"
      +      },
      +      "next": {
      +        "type": "string"
      +      },
      +      "nextCursor": {
      +        "anyOf": [
      +          {
      +            "maxLength": 512,
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "since": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "until": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "since",
      +      "until",
      +      "changes",
      +      "counts",
      +      "next",
      +      "nextCursor",
      +      "meta"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "changes": {
      +        "items": {
      +          "oneOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "at": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "market": {
      +                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "headline",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "at",
      +                "market"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "at": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "chance": {
      +                  "maximum": 1,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "market": {
      +                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "analyst_view",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "at",
      +                "market",
      +                "chance"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "action": {
      +                  "enum": [
      +                    "bought",
      +                    "sold"
      +                  ],
      +                  "type": "string"
      +                },
      +                "at": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "market": {
      +                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +                  "type": "string"
      +                },
      +                "side": {
      +                  "enum": [
      +                    "outcome1",
      +                    "outcome2"
      +                  ],
      +                  "type": "string"
      +                },
      +                "tier": {
      +                  "anyOf": [
      +                    {
      +                      "const": 1,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "const": 2,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "const": 3,
      +                      "type": "number"
      +                    }
      +                  ]
      +                },
      +                "type": {
      +                  "const": "trader_move",
      +                  "type": "string"
      +                },
      +                "usd": {
      +                  "anyOf": [
      +                    {
      +                      "minimum": 0,
      +                      "type": "number"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "at",
      +                "market",
      +                "action",
      +                "side",
      +                "tier",
      +                "usd"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "at": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "from": {
      +                  "maximum": 1,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "market": {
      +                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +                  "type": "string"
      +                },
      +                "over": {
      +                  "enum": [
      +                    "1h",
      +                    "24h"
      +                  ],
      +                  "type": "string"
      +                },
      +                "to": {
      +                  "maximum": 1,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                "type": {
      +                  "const": "price_move",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "at",
      +                "market",
      +                "from",
      +                "to",
      +                "over"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "at": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "market": {
      +                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "new_market",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "at",
      +                "market"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "at": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "closes": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "market": {
      +                  "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "closing",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "at",
      +                "market",
      +                "closes"
      +              ],
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        "maxItems": 150,
      +        "type": "array"
      +      },
      +      "counts": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "analyst_view": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "closing": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "headline": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "new_market": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "price_move": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "trader_move": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          }
      +        },
      +        "required": [
      +          "headline",
      +          "analyst_view",
      +          "trader_move",
      +          "price_move",
      +          "new_market",
      +          "closing"
      +        ],
      +        "type": "object"
      +      },
      +      "markets": {
      +        "additionalProperties": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "chance": {
      +              "anyOf": [
      +                {
      +                  "maximum": 1,
      +                  "minimum": 0,
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "conditionId": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "freshBuys": {
      +              "anyOf": [
      +                {
      +                  "items": {
      +                    "maximum": 9007199254740991,
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  "maxItems": 2,
      +                  "minItems": 2,
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "move24h": {
      +              "anyOf": [
      +                {
      +                  "maximum": 1,
      +                  "minimum": -1,
      +                  "type": "number"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "question": {
      +              "type": "string"
      +            },
      +            "smartMoney": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "tier1": {
      +                      "items": {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      "maxItems": 2,
      +                      "minItems": 2,
      +                      "type": "array"
      +                    },
      +                    "tier2": {
      +                      "items": {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      "maxItems": 2,
      +                      "minItems": 2,
      +                      "type": "array"
      +                    },
      +                    "tier3": {
      +                      "items": {
      +                        "maximum": 9007199254740991,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      "maxItems": 2,
      +                      "minItems": 2,
      +                      "type": "array"
      +                    }
      +                  },
      +                  "required": [
      +                    "tier1",
      +                    "tier2",
      +                    "tier3"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "question",
      +            "chance",
      +            "move24h",
      +            "conditionId",
      +            "smartMoney",
      +            "freshBuys"
      +          ],
      +          "type": "object"
      +        },
      +        "propertyNames": {
      +          "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "meta": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "asOf": {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +            "type": "string"
      +          },
      +          "callsLeftToday": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "count": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "locked": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "plan": {
      +            "enum": [
      +              "free_preview",
      +              "plus",
      +              "api_pro"
      +            ],
      +            "type": "string"
      +          },
      +          "preview": {
      +            "type": "boolean"
      +          },
      +          "requested": {
      +            "anyOf": [
      +              {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "withheld": {
      +            "items": {
      +              "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +              "type": "string"
      +            },
      +            "type": "array"
      +          }
      +        },
      +        "required": [
      +          "asOf",
      +          "plan",
      +          "preview",
      +          "count",
      +          "callsLeftToday",
      +          "requested",
      +          "withheld",
      +          "locked"
      +        ],
      +        "type": "object"
      +      },
      +      "next": {
      +        "type": "string"
      +      },
      +      "nextCursor": {
      +        "anyOf": [
      +          {
      +            "maxLength": 512,
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "since": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "until": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "view": {
      +        "const": "compact",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "view",
      +      "since",
      +      "until",
      +      "changes",
      +      "markets",
      +      "counts",
      +      "next",
      +      "nextCursor",
      +      "meta"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changed
    • changedOutput schema / $defs / ContextChangesResponse / properties / changes / items / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "at": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "headline": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "outlet": {
      -            "type": "string"
      -          },
      -          "publishedAt": {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -            "type": "string"
      -          },
      -          "title": {
      -            "type": "string"
      -          },
      -          "url": {
      -            "format": "uri",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "title",
      -          "outlet",
      -          "publishedAt",
      -          "url"
      -        ],
      -        "type": "object"
      -      },
      -      "market": {
      -        "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      -        "type": "string"
      -      },
      -      "question": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "headline",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "at",
      -      "market",
      -      "question",
      -      "headline"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "at": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "market": {
      -        "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      -        "type": "string"
      -      },
      -      "question": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "analyst_view",
      -        "type": "string"
      -      },
      -      "view": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "chance": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "name": {
      -            "type": "string"
      -          },
      -          "priceAtTake": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "reason": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "name",
      -          "chance",
      -          "priceAtTake",
      -          "reason"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "at",
      -      "market",
      -      "question",
      -      "view"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "at": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "market": {
      -        "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      -        "type": "string"
      -      },
      -      "move": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "action": {
      -            "enum": [
      -              "bought",
      -              "sold"
      -            ],
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          },
      -          "side": {
      -            "enum": [
      -              "outcome1",
      -              "outcome2"
      -            ],
      -            "type": "string"
      -          },
      -          "tier": {
      -            "enum": [
      -              "top",
      -              "profitable"
      -            ],
      -            "type": "string"
      -          },
      -          "wallet": {
      -            "pattern": "^0x[0-9a-f]{40}$",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "name",
      -          "wallet",
      -          "tier",
      -          "action",
      -          "side"
      -        ],
      -        "type": "object"
      -      },
      -      "question": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "trader_move",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "at",
      -      "market",
      -      "question",
      -      "move"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "at": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "market": {
      -        "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      -        "type": "string"
      -      },
      -      "move": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "from": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          "over": {
      -            "enum": [
      -              "1h",
      -              "24h"
      -            ],
      -            "type": "string"
      -          },
      -          "to": {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "from",
      -          "to",
      -          "over"
      -        ],
      -        "type": "object"
      -      },
      -      "question": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "price_move",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "at",
      -      "market",
      -      "question",
      -      "move"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "at": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "chance": {
      -        "anyOf": [
      -          {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "market": {
      -        "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      -        "type": "string"
      -      },
      -      "question": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "new_market",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "at",
      -      "market",
      -      "question",
      -      "chance"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "at": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "chance": {
      -        "anyOf": [
      -          {
      -            "maximum": 1,
      -            "minimum": 0,
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "closes": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "market": {
      -        "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      -        "type": "string"
      -      },
      -      "question": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "closing",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "at",
      -      "market",
      -      "question",
      -      "chance",
      -      "closes"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "at": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "headline": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "outlet": {
      +            "type": "string"
      +          },
      +          "publishedAt": {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +            "type": "string"
      +          },
      +          "title": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "format": "uri",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "title",
      +          "outlet",
      +          "publishedAt",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "market": {
      +        "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +        "type": "string"
      +      },
      +      "question": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "headline",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "at",
      +      "market",
      +      "question",
      +      "headline"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "at": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "market": {
      +        "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +        "type": "string"
      +      },
      +      "question": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "analyst_view",
      +        "type": "string"
      +      },
      +      "view": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "chance": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "priceAtTake": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "reason": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "chance",
      +          "priceAtTake",
      +          "reason"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "at",
      +      "market",
      +      "question",
      +      "view"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "at": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "market": {
      +        "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +        "type": "string"
      +      },
      +      "move": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "action": {
      +            "enum": [
      +              "bought",
      +              "sold"
      +            ],
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "price": {
      +            "anyOf": [
      +              {
      +                "maximum": 1,
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "shares": {
      +            "anyOf": [
      +              {
      +                "exclusiveMinimum": 0,
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "side": {
      +            "enum": [
      +              "outcome1",
      +              "outcome2"
      +            ],
      +            "type": "string"
      +          },
      +          "smartMoneyTier": {
      +            "anyOf": [
      +              {
      +                "const": 1,
      +                "type": "number"
      +              },
      +              {
      +                "const": 2,
      +                "type": "number"
      +              },
      +              {
      +                "const": 3,
      +                "type": "number"
      +              }
      +            ]
      +          },
      +          "tier": {
      +            "enum": [
      +              "top",
      +              "profitable"
      +            ],
      +            "type": "string"
      +          },
      +          "usd": {
      +            "anyOf": [
      +              {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "wallet": {
      +            "pattern": "^0x[0-9a-f]{40}$",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "wallet",
      +          "tier",
      +          "action",
      +          "side"
      +        ],
      +        "type": "object"
      +      },
      +      "question": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "trader_move",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "at",
      +      "market",
      +      "question",
      +      "move"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "at": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "market": {
      +        "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +        "type": "string"
      +      },
      +      "move": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "from": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "over": {
      +            "enum": [
      +              "1h",
      +              "24h"
      +            ],
      +            "type": "string"
      +          },
      +          "to": {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "from",
      +          "to",
      +          "over"
      +        ],
      +        "type": "object"
      +      },
      +      "question": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "price_move",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "at",
      +      "market",
      +      "question",
      +      "move"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "at": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "chance": {
      +        "anyOf": [
      +          {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "market": {
      +        "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +        "type": "string"
      +      },
      +      "question": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "new_market",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "at",
      +      "market",
      +      "question",
      +      "chance"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "at": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "chance": {
      +        "anyOf": [
      +          {
      +            "maximum": 1,
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "closes": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "market": {
      +        "pattern": "^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$",
      +        "type": "string"
      +      },
      +      "question": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "closing",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "at",
      +      "market",
      +      "question",
      +      "chance",
      +      "closes"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent and open-world semantics, but the description adds genuinely non-obvious behavior: 'Each change comes once, in the first window after Kellian recorded it' (no duplicates across polling windows) and the tier gating for top-trader moves. It does not mention rate limits or what an empty result means, but the delta/continuation model is clearly disclosed.

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?

Three tight sentences, front-loaded with the core delta semantics and the continuation rule before the compact-view and disclaimer details. Minor waste: the 'Plus and API Pro' entitlement is signaled twice, the compact-view details largely repeat the view parameter's schema description, and the closing 'Research, not financial advice' is boilerplate.

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?

With an output schema available, the description needn't describe return values, and it still covers the areas that matter most: what changes appear, ordering, once-only delivery, continuation via since=until, entitlement tiers, and the compact view. The only unaddressed parameter is cursor, which is a small omission given an otherwise complete picture for a six-parameter feed tool.

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 description coverage is only 50%, and the description compensates meaningfully: it maps the six change categories to the types enum, spells out what view=compact returns, and defines since as 'the answer's until' — a relationship the schema's own note ('Your last call's until') does not fully operationalize. However, cursor and ids are never mentioned anywhere, which leaves a real gap at this coverage level.

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 first clause, 'Only what changed since your last call, newest first', states the verb (retrieve changes), the scope (delta since a timestamp), and ordering. It also enumerates the change categories (headlines, analyst views, price moves, new/closing markets, trader moves), which makes it clearly distinct from the full-snapshot sibling problee_get_context, though that sibling is never named.

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?

The description gives a concrete usage loop: 'Call again with since = the answer's until', which tells the agent exactly how to poll continuously. It also flags entitlement ('Plus and API Pro') and when to choose view=compact. It stops short of naming problee_get_context as the alternative when a full snapshot is wanted, or saying when not to use this.

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.