addrbookFor publishers
← The evidence ledger

Evidence row 1540700

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 1a77b77a-9c2d-4433-9a41-f2480e98bd8f
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
ef28862ab44b4624c99b114a2fa6bfc91d7e667dd7fab1244f050617bc899e4f
Leaf
0x7e2790e89bd832328d81a04e68de24f8c160823c0b06ce346ffcecfac1efa8d3

What was observed

{
  "count": 38,
  "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. 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. Information, not a signal. Past performance is not indicative of future results.",
      "inputSchema": {
        "properties": {
          "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":"ef28862ab44b4624c99b114a2fa6bfc91d7e667dd7fab1244f050617bc899e4f","id":1540700,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793484656219287,"prev":null,"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 (246033 rows).

  1. 0x7e279fa8fd63933cc307ff993b5ef6d724f66a365b404a76a55e1dc2e6064ecb
  2. 0x61cd974f0c10d3fe314559c150d5b14e6e0fabf409d1b562a25d8c59b56ec1ac
  3. 0x0e9060d630bade4bb2a0556dbf813b8dcbb60a47a0460c8e2fe17660f0c10e9f
  4. 0xa9c61c28e3a77a84a27bb4fdd697f9eb54682a68221361db780c1cecbbd0c3ff
  5. 0x437c70f86199aa7daba564ab5f3f86e9b7ce5b931279471ef117ad9627c6339f
  6. 0x6593fd45408d97dacb6abfbed43460732dcc2b642dc93d289c935b43e77866b7
  7. 0x9e78605753fe65b6012895c3d3a7b7de7ff6e1e213ec2256375c7ec5792ca513
  8. 0x28b7c242082108e6dbc58a71dfce53795b97196072c5348e7fdc4d97d2b2571d
  9. 0xe28c74222ff8eadab0931ff03a60ff4fd1670f0776512b8006980b8c9a147548
  10. 0x16e53c29086afb053e92aba24a598f89bf7312de11e45db9b390ce18b887e7de
  11. 0xd0e61650490db86d81bceca137fce8e5f5bbd8f5c2b0cfd7ffed0a3e88284909
  12. 0xfcbfea6a3a43a0cddc163edc5f62f856abc7d2e88585280f590a132beec2644b
  13. 0xb8dab76bc20f2684f18b564fa86d761c945682b27d437e71aa84495e8acc34a5
  14. 0x84193793d818f53b9c5052b74eabfcc53522dfa943c3bf7c8bd476913e085e52
  15. 0xb553c856ad5fb96dd995dd0c40f65a2d8efc7b7f254a1ac0f2c104350e544985
  16. 0x919f237dec4df392868ab95f1d4300b185479ae64464cbc2e7385ad1fd6ab390
  17. 0xa00a931d72706fa2402bfc9b441a12eb7c6a61ff42a542916106e3637177f101
  18. 0x59f83f7228f07febe2780660e422e171b0359b8aa031ee3be07e991118130c15
Day root
0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
Chained
0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
Published
On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0

How to check it · This row as JSON