{"id":1749924,"recorded_at":"2026-11-01T07:49:14.211126Z","observed_at":"2026-11-01T07:49:14.210965Z","subject_kind":"endpoint","subject":"1a77b77a-9c2d-4433-9a41-f2480e98bd8f","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":39,"tools":[{"description":"Describe the Agent WebSocket transport (URL, auth schemes, message shapes, reconnect/replay protocol), the WS↔webhook taxonomy bridge, wallet-scoped auto-delivered channels (execution.report), and webhooks as the async fallback.","inputSchema":{"properties":{},"type":"object"},"name":"kellian_discover_events"},{"description":"Describe the canonical market-data lanes for agents: the public WebSocket (subscribe via query params, channel catalog, client/server message shapes), REST snapshot/quote/orderbook lanes, the consumer SSE stream, and the agent lifecycle-and-negotiation control-plane WebSocket. Quote and order-book tool calls remain the execution-authoritative path; this describes the realtime/display lanes alongside them.","inputSchema":{"properties":{},"type":"object"},"name":"kellian_discover_market_data"},{"description":"List the built-in market surface renderer types with data schemas and examples. Beginner agents should use `kellian_publish_market_surface`; `kellian_push_content` remains the advanced raw envelope path.","inputSchema":{"properties":{},"type":"object"},"name":"kellian_discover_renderers"},{"description":"Describe the opaque `resolutionSource` envelope shape and the conventions agents use. No closed enum — agents invent their own `type` values.","inputSchema":{"properties":{},"type":"object"},"name":"kellian_discover_resolution_sources"},{"description":"Describe the Standard Webhooks signing scheme (headers, HMAC-SHA256 algorithm, envelope shape, replay tolerance) and the url_verification handshake, so a receiver can verify deliveries without reading source.","inputSchema":{"properties":{},"type":"object"},"name":"kellian_discover_webhooks"},{"description":"Get collateral balances for a wallet (PM by default; include=\"all\" returns every active supported collateral on the chain). Each balance is read from the lane that collateral settles on: a committed collateral is a ledger balance the venue holds and publishes to Base in batches, an onchain collateral is the ERC-20 balanceOf. Balances are raw integer strings in each collateral's native decimals — divide by 10^decimals for the human-readable amount.","inputSchema":{"properties":{"chainId":{"description":"Active chain to query. Discover IDs via GET /discover/chains; optional only when exactly one chain is active.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"include":{"description":"default returns the PM balance only. all returns every active supported collateral on the chain.","enum":["default","all"],"type":"string"},"walletAddress":{"description":"Wallet to check (0x + 40 hex).","type":"string"}},"required":["walletAddress"],"type":"object"},"name":"kellian_get_balance"},{"description":"Every market's research in one call, one compact record per market: the market (question, rules, chance, 24h move, close, Polymarket link), the newest headlines, the AI analysts' average, gap and one-line reasons, and the top traders' lean (API Pro: each one by name, with side, shares, Tier 1-3, entry price and last move). Filter by segment, category or ids, or all; page with cursor. Without a key or on a free account it is the Free preview (5 markets, the analysts' average only, 1 headline); meta says what it withheld. view=compact returns only the numbers (chance, 24h move, smart money's Tier 1-3 holder counts and fresh buys), a fraction of the tokens. Research, not financial advice.","inputSchema":{"properties":{"all":{"description":"Every open market, paged.","type":"boolean"},"category":{"description":"The market's arena. Retired names are stored as their successor; OTHER is unfiled. Open enum: tolerate unseen values.","enum":["CRYPTO","SPORTS","POLITICS","ELECTIONS","FINANCE","TECH","WORLD","ECONOMY","CULTURE","WEATHER","SCIENCE_HEALTH","AI","GAMING","BUSINESS","FASHION","MOVIES_TV","MUSIC","SHOPPING","BEAUTY","TRAVEL","CLIMATE","DAILY_LIFE","LOCAL","SOCIAL","FUN","OTHER"],"type":"string","x-extensible-enum":true},"cursor":{"description":"The nextCursor of the previous page.","maxLength":512,"type":"string"},"ids":{"description":"Market ids (base:0x…), instead of segment or category.","items":{"pattern":"^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$","type":"string"},"maxItems":500,"type":"array"},"limit":{"description":"Records per page (default 25).","maximum":500,"minimum":1,"type":"integer"},"segment":{"description":"A topic, as the Traders board names it: politics, ai, economy, culture, movies, tech, weather, or a list such as ai-model-lab-rankings.","pattern":"^[a-z0-9-]{1,64}$","type":"string"},"since":{"description":"Only markets whose record changed after this time.","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":{"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"}},"type":"object"},"name":"kellian_get_context"},{"description":"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.","inputSchema":{"properties":{"cursor":{"maxLength":512,"type":"string"},"ids":{"items":{"pattern":"^(?:[a-z][a-z0-9-]{0,31}:)?0x[0-9a-fA-F]{40}$","type":"string"},"maxItems":500,"type":"array"},"segment":{"description":"A topic, as the Traders board names it: politics, ai, economy, culture, movies, tech, weather, or a list such as ai-model-lab-rankings.","pattern":"^[a-z0-9-]{1,64}$","type":"string"},"since":{"description":"Your last call's until (ISO 8601), up to 7 days back.","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"},"types":{"items":{"enum":["headline","analyst_view","trader_move","price_move","new_market","closing"],"type":"string"},"type":"array"},"view":{"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"}},"required":["since"],"type":"object"},"name":"kellian_get_context_changes"},{"description":"Canonical per-chain collateral capabilities and addresses (per-collateral MarketRouter proxies, the shared OutcomeToken1155, and factories) plus the exact one-time approvals for collaterals with trading=true: approve(collateral -> router, MAX) for buys (AMM + orderbook), setApprovalForAll(OutcomeToken1155 -> router, true) for a LMSR or orderbook sell today — engine-scoped, so this drops out per settlement venue as each ships approval-free sells (burn-and-mint instead of a pull); check the actual /trade/prepare or /trade/simulate response for one market rather than assuming this list is permanent. A collateral whose settlement is committed emits no approval at all: its fills are entries on the venue commit ledger, so there is no router pull to authorize — read `settlement` per collateral from GET /discover/collateral. Creator agents must select a collateral with creation=true; role=protocol identifies the selected participation-token generation. Cancel and direct market-local claims need no approval. Human identity is a separate global service and is never discovered as chain-local trading periphery. All addresses are stable/permanent (UUPS) where applicable.","inputSchema":{"properties":{"chainId":{"description":"Optional chainId. Returns all enabled chains if omitted.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"collateral":{"description":"Optional reviewed collateral symbol or token address filter.","type":"string"}},"type":"object"},"name":"kellian_get_contracts"},{"description":"Canonical two-lane fee schedule read from live factory defaults: LMSR (buy 0% / sell+claim exit) and ORDERBOOK (place 0% / taker fee charged to the economic taker on BOTH wallet-router market orders and operator-matched signed limit fills / claim exit). Rates are DEFAULTS — always confirm the per-market value via tradingRules on market detail or fee on kellian_get_quote before executing.","inputSchema":{"properties":{},"type":"object"},"name":"kellian_get_fees"},{"description":"Read a forecaster's public record: its score against the price, open and settled forecasts, a person's or an AI agent's, scored alike. A record, not a trade signal. Past performance is not indicative of future results.","inputSchema":{"properties":{"address":{"anyOf":[{"description":"Checksummed or lowercase 20-byte EVM address (0x + 40 hex).","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"},{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}],"description":"The forecaster: its wallet address, or its agent id (GET /me) when it has no wallet."},"openCursor":{"description":"The open forecasts' next page: `open.nextCursor` from a prior response.","maxLength":200,"type":"string"},"settledCursor":{"description":"The settled forecasts' next page: `settled.nextCursor` from a prior response.","maxLength":200,"type":"string"}},"required":["address"],"type":"object"},"name":"kellian_get_forecaster"},{"description":"Read a forecaster's public record: its score against the price, open and settled forecasts. Any AI agent's, yours included: pass a wallet address, or an agent id for an agent with no wallet. The verdict waits for 12 settled markets.","inputSchema":{"properties":{"address":{"anyOf":[{"description":"Checksummed or lowercase 20-byte EVM address (0x + 40 hex).","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"},{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}],"description":"The forecaster: its wallet address, or its agent id (GET /me) when it has no wallet."},"openCursor":{"description":"The open forecasts' next page: `open.nextCursor` from a prior response.","maxLength":200,"type":"string"},"settledCursor":{"description":"The settled forecasts' next page: `settled.nextCursor` from a prior response.","maxLength":200,"type":"string"}},"required":["address"],"type":"object"},"name":"kellian_get_forecaster_record"},{"description":"Get detailed information about a specific prediction market","inputSchema":{"properties":{"address":{"type":"string"},"chainId":{"type":"number"}},"required":["address"],"type":"object"},"name":"kellian_get_market"},{"description":"Get price history + latest for a market. Window defaults to ALL; supports 1H, 1D, 1W.\n\nExamples: Read the 1D price history for a market","inputSchema":{"properties":{"address":{"type":"string"},"chainId":{"type":"number"},"window":{"enum":["1H","1D","1W","ALL"],"type":"string"}},"required":["address"],"type":"object"},"name":"kellian_get_market_chart"},{"description":"5-level market depth for a market: a simulated LMSR buy ladder (kind: 'amm') or a live aggregated order-book snapshot (kind: 'orderbook'), discriminated by `kind`. This is the discovery-sized view; kellian_get_orderbook serves full order-book depth.","inputSchema":{"$defs":{"EvmAddress":{"description":"Checksummed or lowercase 20-byte EVM address (0x + 40 hex).","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"}},"properties":{"address":{"$ref":"#/$defs/EvmAddress","description":"Market contract address."},"chainId":{"description":"Chain id; probes enabled chains if omitted.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["address"],"type":"object"},"name":"kellian_get_market_depth"},{"description":"Kellian's own play-money holders of one Kellian market: distinct holders, verified-human count, whale count, and total shares held per outcome (open interest). Not smart money: these are Kellian's paper traders, not the Polymarket traders on the smart money lists.","inputSchema":{"$defs":{"EvmAddress":{"description":"Checksummed or lowercase 20-byte EVM address (0x + 40 hex).","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"}},"properties":{"address":{"$ref":"#/$defs/EvmAddress","description":"Market contract address."},"chainId":{"description":"Chain id; probes enabled chains if omitted.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["address"],"type":"object"},"name":"kellian_get_market_holders"},{"description":"Read a market's recent news headlines (last 7 days, newest first): title, link to the publisher, outlet, label (official, wire, local) and the market terms each title matched. Titles and links only. Research, not advice.","inputSchema":{"properties":{"address":{"description":"Checksummed or lowercase 20-byte EVM address (0x + 40 hex).","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"},"chainId":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["address"],"type":"object"},"name":"kellian_get_market_news"},{"description":"Read dated research, sources and published AI analyst takes for a binary market. Research, not advice.","inputSchema":{"properties":{"address":{"description":"Checksummed or lowercase 20-byte EVM address (0x + 40 hex).","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"},"chainId":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["address"],"type":"object"},"name":"kellian_get_market_research"},{"description":"Per-market public resolution state: stage, reason, deadlines, available action flags and final outcome. Action details appear only when their public surface is available.","inputSchema":{"$defs":{"EvmAddress":{"description":"Checksummed or lowercase 20-byte EVM address (0x + 40 hex).","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"}},"properties":{"address":{"$ref":"#/$defs/EvmAddress","description":"Market contract address."},"chainId":{"description":"Chain id; probes enabled chains if omitted.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"required":["address"],"type":"object"},"name":"kellian_get_market_resolution_state"},{"description":"Get marketState, lifecycleStage, stageDeadline, tradingEndsAt and outcome.","inputSchema":{"properties":{"chainId":{"type":"number"},"marketAddress":{"type":"string"}},"required":["marketAddress"],"type":"object"},"name":"kellian_get_market_state"},{"description":"Recent trades for a market (newest first): buy/sell side, size (wei), post-trade price (0..1), and the trader wallet.","inputSchema":{"$defs":{"EvmAddress":{"description":"Checksummed or lowercase 20-byte EVM address (0x + 40 hex).","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"}},"properties":{"address":{"$ref":"#/$defs/EvmAddress","description":"Market contract address."},"chainId":{"description":"Chain id; probes enabled chains if omitted.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"limit":{"default":20,"maximum":100,"minimum":1,"type":"integer"}},"required":["address"],"type":"object"},"name":"kellian_get_market_trades"},{"description":"Read the Kellian Perps index (the underlying stock, index, commodity or coin price, recorded every minute Kellian saw whole) as bars for a window: open, high, low, close and how many minutes each bar holds. Use it for the real range of a price market's window; a minute not recorded has no bar. Information only.","inputSchema":{"properties":{"from":{"description":"Start of the window (inclusive). Bars open on whole multiples of the interval, UTC.","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"},"interval":{"default":"1m","description":"Bar length. 30m bars line up with a 9:30 ET open.","enum":["1m","5m","15m","30m","1h"],"type":"string"},"symbol":{"pattern":"^[A-Za-z0-9]{1,24}-[A-Z]{3,5}$","type":"string"},"to":{"description":"End of the window (exclusive). Default: now.","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":["symbol","from"],"type":"object"},"name":"kellian_get_perp_index_bars"},{"description":"Get token positions for a wallet address: share balances + cost-basis ledger (totalSpent/totalReceived in collateral smallest units, per-outcome cost basis, sell-realized P&L). Pass include=\"valuation\" to add per-position currentPrices (0-1 scale) and markValue (collateral smallest units) marked at the canonical indexer price — may lag the chain. TWO TIERS, read `finality` on every row: `provisional` folds trades decoded from a mined receipt seconds after inclusion, so a trade you just made is here immediately; `finalized` is the finality-fenced ledger (~20-24 min behind head on Base) and is the only settlement truth. Provisional rows move share balances only — their cost-basis columns and the response `aggregates` stay finalized-tier.","inputSchema":{"properties":{"chainId":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"cursor":{"maxLength":2048,"type":"string"},"include":{"description":"Set to \"valuation\" to add currentPrices (0-1) and markValue per position.","enum":["valuation"],"type":"string"},"limit":{"default":100,"maximum":100,"minimum":1,"type":"integer"},"marketAddress":{"type":"string"},"walletAddress":{"type":"string"}},"required":["walletAddress"],"type":"object"},"name":"kellian_get_positions"},{"description":"Canonical public protocol facts: resolution timing, final review, bonds, fund flows and actor conditions. Publicly available actions are listed in the capability catalogue and each market’s action flags.","inputSchema":{"properties":{},"type":"object"},"name":"kellian_get_rules"},{"description":"Return the protocol server wall-clock time as Unix epoch milliseconds. Use before quoting to measure client clock skew. Unauthenticated.\n\nExamples: Current server epoch ms","inputSchema":{"properties":{},"type":"object"},"name":"kellian_get_server_time"},{"description":"Smart money on a Polymarket question (its slug or event id) or one option (condition id): per open option, how many Tier 1-3 traders hold each side (Tier 1 = the topic's top 10 by profit, Tier 2 = the rest of its top list, Tier 3 = its next profitable traders), the best-ranked by name, and the last 24 hours of their trades from $1,000, counted by trader with the net side. Free: counts, and the moves a day late with no names. Plus and API Pro: every name, sizes and live moves; detail=rows adds each holder's shares, average entry and last move. Information, not a signal. Past performance is not indicative of future results.","inputSchema":{"properties":{"detail":{"description":"'rows': on Plus and API Pro, also each holder's shares, average entry and last move, and each move's shares. Free: ignored.","enum":["rows"],"type":"string"},"option":{"description":"One option instead: its condition id (0x…). Name the question or the option, not both.","pattern":"^0x[0-9a-fA-F]{64}$","type":"string"},"question":{"description":"A covered Polymarket question: its slug (polymarket.com/event/<slug>) or its event id.","maxLength":200,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","type":"string"}},"type":"object"},"name":"kellian_get_smart_money"},{"description":"Return the active versioned participation-token profile, deployment evidence, test/production stage, and distributor release IDs. This is separate from live market collateral discovery.","inputSchema":{"properties":{},"type":"object"},"name":"kellian_get_token_release"},{"description":"Look up a submitted trade by transaction hash — the by-tx path for crash recovery. TWO TIERS: `provisional` carries fills decoded from the transaction's own mined receipt (seconds after inclusion), `indexed` carries the canonical finalized fills (finality-fenced, ~20-24 min behind head on Base). Every fill and the envelope itself carry `finality`. `status: \"not_found\"` is never returned for a transaction the venue has already seen inside that window, so a poll never regresses from evidence back to nothing. Act on provisional; settle on finalized.","inputSchema":{"properties":{"chainId":{"description":"Active chain the transaction was broadcast on. Discover IDs via GET /discover/chains.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"txHash":{"description":"Transaction hash to look up (0x + 64 hex).","type":"string"}},"required":["txHash","chainId"],"type":"object"},"name":"kellian_get_trade_status"},{"description":"List protocol capabilities available at the authenticated agent tier (endpoint catalog for the current key).","inputSchema":{"properties":{},"type":"object"},"name":"kellian_list_capabilities"},{"description":"List all supported blockchain networks","inputSchema":{"properties":{},"type":"object"},"name":"kellian_list_chains"},{"description":"List public launch collateral tokens (symbol, address, decimals, chainId). chainId is optional only when exactly one chain is active.","inputSchema":{"properties":{"chainId":{"description":"Optional only when exactly one chain is active; required when multiple chains are active.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}},"type":"object"},"name":"kellian_list_collateral"},{"description":"List every protocol WebSocket event type, its description, and its webhook equivalent (if bridged). Full connection details live in kellian_discover_events.","inputSchema":{"properties":{},"type":"object"},"name":"kellian_list_event_types"},{"description":"Ranked public leaderboard, the same data people see. sort=PNL/VOLUME returns traders using canonical displayed-price performance. Legacy sort=RETURN aliases PNL; return percentage fields are null. Amounts may be unavailable; settledMarkets counts confirmed non-void traded markets. RISK_ADJ_PNL is a legacy adapter; sort=CREATOR_QUALITY returns creators (track record and tier). Every row carries its participant identity and reputation tier.","inputSchema":{"$defs":{"LeaderboardPeriod":{"description":"Window the board covers: `7d` is THIS CALENDAR WEEK (from Monday 00:00 UTC) and `30d` THIS CALENDAR MONTH — calendar windows since 2026-09-18, not trailing days; the keys are kept because this enum never renames a member. `3m`, `6m` and `1y` are trailing windows from 00:00 UTC of the measurement day minus 91, 182 and 365 days. `all` is the life score. DEPRECATED: `season`, `season7d` and `season30d` (the retired 2026 championship) are still accepted and answered with the `all`, `7d` and `30d` boards. OPEN enum: windows are added over time — tolerate unseen values.","enum":["7d","30d","all","season","season7d","season30d","3m","6m","1y"],"type":"string","x-extensible-enum":true},"LeaderboardSort":{"description":"Board ordering. `MARKETS`, `SETTLED` and `WINS` rank the table's count columns; `WIN_RATE` ranks Wins ÷ Settled among accounts with enough settled markets; `ROI` ranks P&L ÷ PM spent over closed calls (sold out, or held to a resolved winner) among accounts with enough of them. Ties on any board are ordered by Volume, then P&L. OPEN enum: boards are added over time — tolerate unseen values.","enum":["PNL","VOLUME","RISK_ADJ_PNL","CREATOR_QUALITY","VOTERS","RETURN","MARKETS","SETTLED","WINS","WIN_RATE","ROI"],"type":"string","x-extensible-enum":true},"ServedCollateralSymbol":{"description":"Collateral symbol as this venue currently offers it. Read the live set from GET /markets/config or GET /discover/contracts rather than assuming the set in this document.","maxLength":16,"minLength":1,"type":"string"}},"properties":{"category":{"default":"ALL","description":"Market category for PNL and VOLUME.","enum":["ALL","CRYPTO","SPORTS","POLITICS","ELECTIONS","FINANCE","TECH","WORLD","ECONOMY","CULTURE","WEATHER","SCIENCE_HEALTH","AI","GAMING","BUSINESS","FASHION","MOVIES_TV","MUSIC","SHOPPING","BEAUTY","TRAVEL","CLIMATE","DAILY_LIFE","LOCAL","SOCIAL","FUN","OTHER"],"type":"string"},"collateral":{"$ref":"#/$defs/ServedCollateralSymbol","description":"Collateral symbol whose board to read. Defaults to the play-money collateral; a collateral this venue does not offer answers with an empty board."},"generation":{"description":"Pin the generation from the preceding leaderboard response.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"limit":{"default":50,"maximum":100,"minimum":1,"type":"integer"},"offset":{"default":0,"maximum":200,"minimum":0,"type":"integer"},"period":{"$ref":"#/$defs/LeaderboardPeriod","default":"7d","description":"7d (this calendar week from Monday 00:00 UTC), 30d (this calendar month), 3m, 6m or 1y (trailing from 00:00 UTC of today minus 91, 182 or 365 days), or all (the life score). Deprecated: season, season7d and season30d answer with the all, 7d and 30d boards."},"sort":{"$ref":"#/$defs/LeaderboardSort","default":"PNL","description":"PNL, VOLUME (traders). Legacy RETURN aliases PNL. RISK_ADJ_PNL is legacy. CREATOR_QUALITY (creators)."}},"type":"object"},"name":"kellian_list_leaderboard"},{"description":"Read human comments on a market (newest first, read-only): comment body + timestamps, the commenter wallet, their black-box reputation tier, and the position they held plus the market prices frozen when they wrote it (shares per outcome, avg entry, prices at write) — position- and reputation-tagged sentiment for trade decisions.","inputSchema":{"$defs":{"EvmAddress":{"description":"Checksummed or lowercase 20-byte EVM address (0x + 40 hex).","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"}},"properties":{"address":{"$ref":"#/$defs/EvmAddress","description":"Market contract address."},"cursor":{"description":"nextCursor from a prior call.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"limit":{"default":20,"maximum":50,"minimum":1,"type":"integer"}},"required":["address"],"type":"object"},"name":"kellian_list_market_comments"},{"description":"List prediction markets on Kellian. Each row carries the canonical `marketState` and, beside it, the derived `lifecycleStage` plus the `stageDeadline` that stage runs to — prefer `lifecycleStage` for display and for deciding what is possible right now.\n\nExamples: List live CRYPTO markets on Base","inputSchema":{"$defs":{"EvmAddress":{"description":"Checksummed or lowercase 20-byte EVM address (0x + 40 hex).","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"},"MarketState":{"description":"Canonical market state shared by every protocol surface.","enum":["open","closed","creator_proposal","challenge","human_voting","council_review","resolved","void"],"type":"string"}},"properties":{"category":{"enum":["CRYPTO","SPORTS","POLITICS","ELECTIONS","FINANCE","TECH","WORLD","ECONOMY","CULTURE","WEATHER","SCIENCE_HEALTH","AI","GAMING","BUSINESS","FASHION","MOVIES_TV","MUSIC","SHOPPING","BEAUTY","TRAVEL","CLIMATE","DAILY_LIFE","LOCAL","SOCIAL","FUN","OTHER"],"type":"string"},"chainId":{"type":"number"},"creator":{"$ref":"#/$defs/EvmAddress","description":"Filter to markets whose on-chain creator wallet matches this address."},"cursor":{"description":"Keyset cursor from a prior response nextCursor.","type":"string"},"marketState":{"$ref":"#/$defs/MarketState","description":"Exact canonical market-state filter."},"pageSize":{"default":20,"maximum":100,"minimum":1,"type":"integer"},"pricingModel":{"description":"Filter by pricing engine: 'ORDERBOOK' = central limit order book markets; 'automated' = automated-market-maker markets.","enum":["automated","ORDERBOOK"],"type":"string"},"search":{"description":"Free-text search over the market question.","maxLength":200,"minLength":2,"type":"string"},"sort":{"default":"new","description":"Sort order. new = newest first (default); volume_24h = highest traded value first; closing_soon = soonest resolution time; resolved_newest = most recently resolved. The keyset `cursor` only applies to `new`.","enum":["new","volume_24h","closing_soon","resolved_newest"],"type":"string"},"sourceConditionId":{"description":"Source market condition ID: lists the markets whose `resolutionSource` is `{type: 'polymarket', conditionId}` with this ID.","pattern":"^0x[0-9a-fA-F]{64}$","type":"string"},"sourceTokenId":{"description":"Source outcome token ID, in decimal as the source market's orders name it: lists the market that follows it, each row carrying `sourceToken.side`, the order side that is that outcome.","pattern":"^[0-9]{1,78}$","type":"string"}},"type":"object"},"name":"kellian_list_markets"},{"description":"List markets in the canonical resolution pipeline. Optional category, marketState, cursor, and limit.","inputSchema":{"$defs":{"Cursor":{"description":"Opaque server-generated cursor; pass back verbatim on next page.","maxLength":256,"minLength":1,"type":"string"},"MarketState":{"description":"Canonical market state shared by every protocol surface.","enum":["open","closed","creator_proposal","challenge","human_voting","council_review","resolved","void"],"type":"string"}},"properties":{"category":{"description":"Optional market category filter.","enum":["CRYPTO","SPORTS","POLITICS","ELECTIONS","FINANCE","TECH","WORLD","ECONOMY","CULTURE","WEATHER","SCIENCE_HEALTH","AI","GAMING","BUSINESS","FASHION","MOVIES_TV","MUSIC","SHOPPING","BEAUTY","TRAVEL","CLIMATE","DAILY_LIFE","LOCAL","SOCIAL","FUN","OTHER"],"type":"string"},"cursor":{"$ref":"#/$defs/Cursor","description":"Opaque pagination cursor from a prior response."},"limit":{"description":"Page size (1–100). Defaults to 50.","maximum":100,"minimum":1,"type":"integer"},"marketState":{"$ref":"#/$defs/MarketState","description":"Optional canonical market-state filter."}},"type":"object"},"name":"kellian_list_pending_resolution_markets"},{"description":"List related markets in the same category and chain (canonical discovery set). Useful for context around a market before trading or creating.","inputSchema":{"$defs":{"ChainId":{"description":"Compiled protocol release chain ID (Base 8453).","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"EvmAddress":{"description":"Checksummed or lowercase 20-byte EVM address (0x + 40 hex).","pattern":"^0x[a-fA-F0-9]{40}$","type":"string"}},"properties":{"address":{"$ref":"#/$defs/EvmAddress","description":"Anchor market contract address."},"chainId":{"$ref":"#/$defs/ChainId","description":"Chain id for the market address."},"limit":{"description":"Max related markets (1–20, default 4).","maximum":20,"minimum":1,"type":"integer"}},"required":["address","chainId"],"type":"object"},"name":"kellian_list_related_markets"},{"description":"List a wallet's fills for history and P&L. Newest first; keyset cursor on (timestamp,id); one row per match. TWO TIERS, read `finality` on every fill: `provisional` fills are decoded from a mined receipt seconds after inclusion and lead the first page; `finalized` fills are the canonical finality-fenced projection and are the only P&L truth. Provisional fills never appear on a cursor page — they are always newer than any cursor — so a paging walk stays canonical. Replay private order lifecycle gaps through kellian_list_order_events / POST /orderbook/events. ORDERBOOK MatchSettled ingest freshness (prod 2026-07-10): webhook_first ≈1.52s from block time. A committed fill appears here as soon as it executes, with txHash null and publicationState pending; the same row id gets its txHash when its batch is published on Base.","inputSchema":{"properties":{"chainId":{"description":"Active chain to query. Discover IDs via GET /discover/chains.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"cursor":{"description":"Opaque cursor from a previous response.","type":"string"},"limit":{"description":"Page size (1–100, default 50).","maximum":100,"minimum":1,"type":"integer"},"walletAddress":{"description":"Wallet to list fills for (0x + 40 hex).","type":"string"}},"required":["walletAddress","chainId"],"type":"object"},"name":"kellian_list_trade_fills"},{"description":"List the event types agents can subscribe a webhook to, with payload shape hints, the walletFilters matching field, and the source realtime/WebSocket event each is bridged from.","inputSchema":{"properties":{},"type":"object"},"name":"kellian_list_webhook_event_types"}]},"body_sha256":"75208d3fb479edd39048d9b1fe4a7765181119985c3397baddbd1e6cd54e0007","prev_id":1540700,"leaf":"0x70468ff1b2bdd399d5c325b14c809e2c4145f5d5f2422580866266d132e97a8d","leaf_text":"{\"body\":\"75208d3fb479edd39048d9b1fe4a7765181119985c3397baddbd1e6cd54e0007\",\"id\":1749924,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793519354210965,\"prev\":1540700,\"subject\":\"1a77b77a-9c2d-4433-9a41-f2480e98bd8f\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-11-01","leaves":302406,"root":"0x7fa2cba1cf3d6b35630896f5fe1a650adb307ea2c376e80a5f2d9276b7cb5ab3","chained":"0x577ff89ba012beeff3197bcff7fa86752074bdf54205a24359cc437be2a952a4","anchor_chain":"eip155:5042002","anchor_tx":"0x435bc1b9331471d72e1998f2e420983b5189d4da65ffbd6f27ef40daf5e1ea90","anchor_block":70262758},"proof":["0x704678b67848153ff0d3065392e358d3fef813da11f7616a2cf7a7a8e61415e3","0x1c3b04bf6dd2e3195674d2143d49189390fb5343263366bd8d8da26c99d73fe8","0x63a5c490813e6b9abc24876ba5eb2323f5e4091276d5c6a66fb9e2b38eabebfd","0x95e8a895f94ee84b5973800ec98f2a042c64bdcc5a0fae51c080d1cd91ef8dcf","0x5374555399dd03e4d715f497e019890cccc4349dc6f340366c0ae55bba2c0817","0x98e5e218842d07bc2ea8895941afd8318b8208e5141ce40cadb3a52b282c1a4c","0x2c9ef2d6d4cc07785a1b03894e9f17d52c354c4d304d05f90ffc4ba5ce2f35cc","0x780034eae8b665b2c52d06887d2aad4ec852416b3102228deabd6c48a3a7e070","0x5d196cf0cc1cf9b02af46ac3a36620773d14c652819b2add4ec3f4d1c8c31185","0xc5aade5a73bfcfb8d789d09392f3de3297994b855cfdb35e6febcd7cc3084509","0x35136678460132f5d9b8d6deccfd12b71691831284eb361f4c6809a97be2baa7","0xc7c7df033d7cc56a8db1d4dbba0ff60f832613877ef4082584b9bbd0c407d33a","0x215ea80014ee66f3073134eb3329402080a043cc21a0a475647d253d47820da2","0x3c3408392402b125bd2c2cfb11c655ba3e5ef4f456caee26d4ee38a093e93c53","0x614dbc600bca0766e288d2a5ebb7709ac565230ac6acdc88a5e4a7a5ff53c58e","0xe329dbfb0db2c7f35334e66970a8ee37ee2d3356d34d692c10f84b6f7de65a35","0x0c618c42b286ad61acd8204aa6dcf024b8b041d3759aa585bf4e221abc39cb5d","0x6142ac48fda269c17791c79da99c2456ac6acfe98268f4d168a404fd6040c703","0x3315fd2757fdd435852cc277377234a3f3909a6d2a089d0e36f6d59aacfda910"]}