Skip to main content
Glama

Updown Divergence Rate

updown_divergence_rate
Read-onlyIdempotent

How often two venues settled the SAME 15-minute crypto window differently, over every settled window on record. Compares polymarket.com (Chainlink TWAP) with Kalshi and with Polymarket US (both CF Benchmarks BRTI), and Kalshi with Polymarket US as the same-feed control. Per pair: windows both venues settled, divergent count, the rate with its 95% Wilson interval (withheld under 30 paired windows), which direction they split, and what was excluded (unsettled on a side, 50-50). A HEADLINE RATE IS A CONCENTRATION QUESTION, so every pair also carries concentration (UTC days and hours the divergent windows fell in, the busiest day, the top-3-day share, and a plain reading) and by_how_decided (the rate by how far the reference venue's mid was from 50 at its last priced minute: the rate is a fraction of a percent for windows that were decided by the end and tens of percent for the ones that were not). divergent_path gives the mean Up mid by minute on both venues over the divergent windows only, split by who said Up, so the "early spike that fades" story can be checked rather than assumed. Measured on the archive 2026-10-27 over 30 days of btc: polymarket.com vs Kalshi diverged on 48 of 2,847 windows (1.69%, interval 1.27-2.23), spread over 27 of 31 UTC days, 0.19% of windows decided by the end and 17-29% of the ones still undecided; Polymarket US vs Kalshi on 0 of 1,838. asset btc | eth | sol | xrp | bnb (bnb has no pair: Kalshi only); days 1-90 (default 30), capped by what the archive holds (it starts 2026-09-22 for polymarket.com and Kalshi, 2026-10-07 for Polymarket US). Read-only; cheap enough to call, it reads several thousand archive rows.

Input Schema

NameRequiredDescriptionDefault
daysNoLook-back in days, 1-90 (default 30). The archive starts 2026-09-22 (polymarket.com, Kalshi) and 2026-10-07 (Polymarket US, btc), so a longer span is capped by what is held; coverage is reported per pair.
assetNobtc (default) | eth | sol | xrp | bnb. The archive holds btc/eth on all three venues, sol/xrp on polymarket.com and Polymarket US, bnb on Kalshi only (no pair).

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent safety, but the description adds real behavioral context: the Wilson 95% interval is withheld under 30 paired windows, unsettled and 50-50 windows are excluded and reported, per-pair coverage reflects archive availability, and it discloses cost ('reads several thousand archive rows'). It even documents the qualitative finding (0.19% for decided windows vs 17-29% for undecided) so the agent knows what to expect from `by_how_decided`.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Core purpose is front-loaded in the first sentence, which is good, but the remainder is one very long, dense run-on packing field enumerations, a full worked example with three statistics, and date caveats. The example numbers earn their place as calibration, yet the sentence structure is heavy enough to slow parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must describe results — and it does, enumerating every returned field (per-pair counts, symmetric rate, direction split, exclusions, `concentration`, `by_how_decided`, `divergent_path`). An agent can invoke and interpret the response without further documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the two parameter descriptions already state the 1-90 range, default 30, archive start dates, and per-asset coverage. The description repeats that information almost verbatim, adding only the reminder that bnb has no pair — so baseline 3 applies, with minimal added value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource: it measures how often two venues settled the same 15-minute window differently, and names the specific venue pairs and feed sources. An agent can tell what it computes, but the description never names the sibling it should be chosen over (updown_venue_compare, polymarket_kalshi_spread, polymarket_arbitrage), so sibling differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear analytic motivation ('a headline rate is a concentration question') and tells the agent to check the `early spike that fades` story rather than assume it, plus exclusions (bnb has no pair, coverage capped by archive start dates). What is missing is explicit routing: no statement of when to call updown_venue_compare or polymarket_kalshi_spread instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.