Contract
{
"type": "object",
"anyOf": [
{
"required": [
"category"
]
},
{
"required": [
"platform"
]
}
],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Limit for momentum markets list. Defaults to 20."
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "desc",
"description": "Sort direction. Defaults to \"desc\"."
},
"top_n": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Number of top markets to include. Defaults to 10."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Pagination offset for momentum markets. Defaults to 0."
},
"sort_by": {
"enum": [
"volume_7d",
"whale_flow_net_7d",
"price_change_7d",
"oi_change_7d"
],
"type": "string",
"default": "volume_7d",
"description": "Sort field for momentum markets. Defaults to \"volume_7d\"."
},
"category": {
"enum": [
"crypto",
"culture",
"economics",
"financials",
"politics",
"stem",
"sports"
],
"type": "string",
"description": "Category to analyze. Omit to get platform-wide totals across all categories."
},
"platform": {
"enum": [
"polymarket",
"kalshi"
],
"type": "string",
"description": "Filter to one platform."
},
"time_range": {
"enum": [
"7d",
"30d",
"90d",
"180d",
"1y"
],
"type": "string",
"default": "30d",
"description": "Window for category trends: 7d, 30d, 90d, 180d, or 1y. Bucket size is fixed at 1 day — this endpoint uses time_range only and does NOT accept interval. Defaults to \"30d\"."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"top_markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "e.g. 'active', observed on every entry."
},
"category": {
"type": "string"
},
"platform": {
"enum": [
"polymarket",
"kalshi"
],
"type": "string"
},
"question": {
"type": "string"
},
"token_id": {
"type": "string",
"description": "Polymarket's ERC-1155 outcome token id. Only present for platform 'polymarket'."
},
"volume_1d": {
"type": "number"
},
"volume_7d": {
"type": "number"
},
"event_slug": {
"type": "string",
"description": "Polymarket event URL slug. Only present for platform 'polymarket'."
},
"volume_30d": {
"type": "number"
},
"event_title": {
"type": "string"
},
"market_slug": {
"type": "string",
"description": "Polymarket URL slug. Only present for platform 'polymarket'."
},
"subcategory": {
"type": "string"
},
"condition_id": {
"type": "string",
"description": "Polymarket's own market identifier. Only present for platform 'polymarket'."
},
"event_ticker": {
"type": "string",
"description": "Kalshi's own event ticker. Only present for platform 'kalshi'."
},
"latest_price": {
"type": "number",
"description": "Implied probability, observed 0-1."
},
"market_ticker": {
"type": "string",
"description": "Kalshi's own market ticker. Only present for platform 'kalshi'."
},
"outcome_label": {
"type": "string",
"description": "Polymarket outcome name, e.g. 'Yes'. Only present for platform 'polymarket'."
},
"trade_count_7d": {
"type": "integer"
},
"event_group_slug": {
"type": "string",
"description": "Polymarket event-group URL slug. Only present for platform 'polymarket'."
},
"open_interest_usd": {
"type": "number"
},
"days_to_resolution": {
"type": "number",
"description": "Days until the market resolves. Not present on every entry observed."
},
"matched_counterpart": {
"type": "string",
"description": "Observed only on Kalshi entries: the matched Polymarket condition id for the same underlying question, when the vendor has matched one across platforms. Not observed on every Kalshi entry."
},
"smart_money_direction": {
"type": "string",
"description": "'BULLISH', 'BEARISH', 'NEUTRAL', or observed empty. Not present on every entry observed."
}
},
"additionalProperties": true
},
"description": "The top markets for the requested filters, ranked by volume."
},
"category_trends": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Platform name, e.g. 'Kalshi', 'Polymarket'."
},
"timestamp": {
"type": "number",
"description": "Unix seconds, start of the day bucket."
},
"volume_usd": {
"type": "number"
},
"market_count": {
"type": "integer"
},
"open_interest_usd": {
"type": "number"
}
},
"additionalProperties": true
},
"description": "One entry per platform per day bucket in the requested time_range window (bucket size is always 1 day)."
},
"momentum_markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"category": {
"type": "string"
},
"question": {
"type": "string"
},
"volume_7d": {
"type": "number"
},
"subcategory": {
"type": "string"
},
"condition_id": {
"type": "string",
"description": "Polymarket-style condition id, observed on every entry (both fixtures)."
},
"latest_price": {
"type": "number",
"description": "Implied probability, observed 0-1."
},
"oi_change_7d": {
"type": "number",
"description": "Signed change in open interest (USD) over 7 days."
},
"price_momentum": {
"type": "string",
"description": "'CONFIRMING_UP', 'CONFIRMING_DOWN', 'NEUTRAL', 'DIVERGING_UP', or 'DIVERGING_DOWN' observed."
},
"price_change_7d": {
"type": "number",
"description": "Signed change in implied probability over 7 days."
},
"volume_direction": {
"type": "string",
"description": "'INCREASING', 'STABLE', or 'DECREASING' observed."
},
"whale_flow_net_1d": {
"type": "number"
},
"whale_flow_net_7d": {
"type": "number"
},
"smart_money_direction": {
"type": "string",
"description": "'BULLISH', 'BEARISH', 'NEUTRAL', or observed empty when no signal."
},
"smart_wallets_involved": {
"type": "integer"
}
},
"additionalProperties": true
},
"description": "Per-market momentum detail, sorted/limited by sort_by, order, limit, offset."
},
"momentum_summary": {
"type": "object",
"properties": {
"neutral": {
"type": "integer"
},
"diverging_up": {
"type": "integer"
},
"total_active": {
"type": "integer"
},
"confirming_up": {
"type": "integer"
},
"diverging_down": {
"type": "integer"
},
"confirming_down": {
"type": "integer"
},
"volume_decreasing": {
"type": "integer"
},
"volume_increasing": {
"type": "integer"
}
},
"description": "Counts across ALL active markets platform-wide for the requested category, not just top_markets.",
"additionalProperties": true
}
},
"additionalProperties": true
},
"meta": {
"type": "object",
"properties": {
"cached": {
"type": "boolean"
}
},
"additionalProperties": true
}
},
"description": "Category volume/open-interest trend points, the top markets by trading volume, and a momentum breakdown across the most active markets for the requested filters.",
"additionalProperties": true
}Pricing
Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.
Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.
| Charge | Rate |
|---|---|
Per call Flat, regardless of what comes back | $0.03276 |
- Cost basis
- Not recorded
This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.
- Updated
- Sep 15, 2026
