Skip to main content
Glama

Polymarket Arbitrage

polymarket_arbitrage
Read-onlyIdempotent

Find arbitrage opportunities on Polymarket via monotonicity violations + partition-sum checks. Call with NO args for a trending_scan of the top ~200 markets by weekly volume; pass event for the strongest per-event partition_check, or topic for a themed cross-event scan. event (recommended for a specific market): pass a Polymarket event slug like "fed-decision-may-2026" or "when-will-bitcoin-hit-150k"; walks child markets, checks date-axis / threshold-axis ordering AND computes the partition_check (sum of YES prices across mutually-exclusive legs — should ≈1; deviations >3pp emit a BUY/SELL EVERY LEG signal). topic (for cross-event scanning): pass a seed question like "Strait of Hormuz traffic returns to normal" or "Fed rate decision"; searches related events across the platform, flattens markets, runs the comparator on the union. Cross-event mode catches "...by May 31" vs "...by Jun 30" patterns that single-event misses. SEMANTIC ANCHOR: cross-event pairs require ≥0.30 Jaccard similarity on question tokens (prevents Powell-Fed-Pause being paired with Powell-DOJ-probe); skipped_low_similarity surfaces the rejected pair count. PARTITION FILTER: drops will-person-X / will-manager-Y / will-someone-else- placeholder slugs; partitions with >20% placeholder fraction return null arb signal. Response: opportunities[] (gap_pp, suggested_trade, reasoning, monotonicity violation context), and in event mode partition_check{sum_yes_prices, gap_from_1, placeholders_filtered, suggested_trade}. FILL CHECK: when the partition signal fires, arbitrage.fill_check prices it against live CLOB depth (theoretical_edge_pp_at_book vs realizable_edge_pp at 1000 shares/leg, thin_legs[]) — realizable_edge_pp ≤ 0 means the overround exists only at last-trade, not in the book; do not trade it. For custom sizing use polymarket_fill_risk.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
eventNoSingle-event mode (use this if you know the specific Polymarket event): event slug like "fed-decision-may-2026" or "when-will-bitcoin-hit-150k". Full Polymarket URLs also accepted.
topicNoCross-event mode (use this if you want to scan related events across the platform): a topic or seed question like "Fed rate decision" or "Strait of Hormuz traffic returns to normal". Tool searches Polymarket for related events and checks monotonicity across them.

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses algorithm thresholds (deviations >3pp), semantic anchor Jaccard ≥0.30, placeholder filtering rules, and the fill-check behavior that prices against live CLOB depth and warns 'do not trade it' when realizable edge ≤0. It also explains response structure and rejected-pair reporting. This is rich, non-redundant behavioral context.

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

Conciseness4/5

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

The description is well-structured with capitalized section markers (SEMANTIC ANCHOR, PARTITION FILTER, FILL CHECK) and front-loaded purpose, but it is notably long. Some details could be condensed without losing value, yet each sentence does contribute unique operational guidance. Slight over-length prevents a perfect score.

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?

With no output schema, the description fully documents return values: 'Response: opportunities[] (gap_pp, suggested_trade, reasoning, monotonicity violation context)' and event-mode partition_check fields. It also covers null signals, placeholder filtering, and fill-check tradeability caveats. The description is complete for a complex analysis tool.

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

Parameters5/5

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

Schema coverage is 100% with descriptions for `event` and `topic`, but the tool description adds extra meaning: it explains that `event` accepts slugs or full URLs, gives concrete examples ('fed-decision-may-2026'), and clarifies that no args triggers a trending scan. This goes beyond the schema's basic type/description fields.

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

Purpose5/5

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

The description opens with a specific verb+resource: 'Find arbitrage opportunities on Polymarket via monotonicity violations + partition-sum checks.' It clearly distinguishes between modes (no-arg trending scan, event-specific, topic cross-event) and references sibling tool polymarket_fill_risk for sizing, so there is no ambiguity about scope.

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

Usage Guidelines5/5

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

The description gives explicit when-to-use instructions: 'Call with NO args for a trending_scan... pass event for the strongest per-event partition_check, or topic for a themed cross-event scan.' It recommends event mode for a specific market, explains cross-event use cases, and explicitly points to an alternative tool: 'For custom sizing use polymarket_fill_risk.' This is model guidance.

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.

TDQS

A3.8/5.0
Disambiguation2/5

Several tool clusters have significantly overlapping scopes. ask_pipeworx and ask_pipeworx_beta are currently identical, and ask_pipeworx_grounded, deep_research, and validate_claim all return grounded answers with different levels of verification. The Polymarket family (bet_research, polymarket_edges, polymarket_arbitrage, polymarket_fill_risk) also has fuzzy boundaries that could cause misselection.

Naming Consistency4/5

The vast majority of tools follow a verb_noun snake_case pattern (ask_pipeworx, compare_entities, scan_dependency). A few nouns like entity_profile and recent_alerts deviate slightly, and the memory trio (remember, recall, forget) are single-word verbs, but the overall style is consistent and readable.

Tool Count2/5

34 tools is excessive for a server whose name suggests a focused Edmonton open-data scope; only 3 tools actually relate to Edmonton data. Even as a general data platform, the count exceeds the 25-tool threshold and includes many meta-tools (discover_tools, suggest_questions, pipeworx_feedback) that could be consolidated.

Completeness4/5

For the Edmonton open-data subset, search, query, and recent-records cover the core lifecycle well. The broader Pipeworx toolset is comprehensive (entity profiles, comparisons, claims, subscriptions, memory), with only minor gaps like a direct catalog-browsing tool for the 1393 sources.