addrbookFor publishers
← The evidence ledger

Evidence row 1749924

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 1a77b77a-9c2d-4433-9a41-f2480e98bd8f
Recorded
Previous row
#1540700
Body SHA-256
75208d3fb479edd39048d9b1fe4a7765181119985c3397baddbd1e6cd54e0007
Leaf
0x70468ff1b2bdd399d5c325b14c809e2c4145f5d5f2422580866266d132e97a8d

What was observed

{
  "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"
    }
  ]
}

What the leaf hashes

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

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (302406 rows).

  1. 0x704678b67848153ff0d3065392e358d3fef813da11f7616a2cf7a7a8e61415e3
  2. 0x1c3b04bf6dd2e3195674d2143d49189390fb5343263366bd8d8da26c99d73fe8
  3. 0x63a5c490813e6b9abc24876ba5eb2323f5e4091276d5c6a66fb9e2b38eabebfd
  4. 0x95e8a895f94ee84b5973800ec98f2a042c64bdcc5a0fae51c080d1cd91ef8dcf
  5. 0x5374555399dd03e4d715f497e019890cccc4349dc6f340366c0ae55bba2c0817
  6. 0x98e5e218842d07bc2ea8895941afd8318b8208e5141ce40cadb3a52b282c1a4c
  7. 0x2c9ef2d6d4cc07785a1b03894e9f17d52c354c4d304d05f90ffc4ba5ce2f35cc
  8. 0x780034eae8b665b2c52d06887d2aad4ec852416b3102228deabd6c48a3a7e070
  9. 0x5d196cf0cc1cf9b02af46ac3a36620773d14c652819b2add4ec3f4d1c8c31185
  10. 0xc5aade5a73bfcfb8d789d09392f3de3297994b855cfdb35e6febcd7cc3084509
  11. 0x35136678460132f5d9b8d6deccfd12b71691831284eb361f4c6809a97be2baa7
  12. 0xc7c7df033d7cc56a8db1d4dbba0ff60f832613877ef4082584b9bbd0c407d33a
  13. 0x215ea80014ee66f3073134eb3329402080a043cc21a0a475647d253d47820da2
  14. 0x3c3408392402b125bd2c2cfb11c655ba3e5ef4f456caee26d4ee38a093e93c53
  15. 0x614dbc600bca0766e288d2a5ebb7709ac565230ac6acdc88a5e4a7a5ff53c58e
  16. 0xe329dbfb0db2c7f35334e66970a8ee37ee2d3356d34d692c10f84b6f7de65a35
  17. 0x0c618c42b286ad61acd8204aa6dcf024b8b041d3759aa585bf4e221abc39cb5d
  18. 0x6142ac48fda269c17791c79da99c2456ac6acfe98268f4d168a404fd6040c703
  19. 0x3315fd2757fdd435852cc277377234a3f3909a6d2a089d0e36f6d59aacfda910
Day root
0x7fa2cba1cf3d6b35630896f5fe1a650adb307ea2c376e80a5f2d9276b7cb5ab3
Chained
0x577ff89ba012beeff3197bcff7fa86752074bdf54205a24359cc437be2a952a4
Published
On Arc Testnet, block 70262758: 0x435bc1b9331471d72e1998f2e420983b5189d4da65ffbd6f27ef40daf5e1ea90

How to check it · This row as JSON