# polymarket_arbitrage

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.

Agent View of the PolicyLayer registry record for `polymarket_arbitrage`. HTML page: https://policylayer.com/tools/io-github-pipeworx-io-linear/polymarket-arbitrage

## Facts

- Tool: `polymarket_arbitrage`
- Server: Linear (`https://gateway.pipeworx.io/linear/mcp`) — https://policylayer.com/tools/io-github-pipeworx-io-linear.md
- Homepage: https://github.com/pipeworx-io/mcp-linear
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: yes
- Parameters: 2
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `event` | string | no | Single-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 |
| `topic` | string | no | Cross-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 traff |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "polymarket_arbitrage",
    "arguments": {}
  }
}
```

## Why polymarket_arbitrage is rated Low

This tool queries and analyzes Polymarket data to identify arbitrage opportunities through calculations and checks. While it relates to financial markets, it does not execute trades, move money, or commit financial obligations—it only reads and computes insights from existing market data. Classification as Read is appropriate for a passive analytical tool with no side effects.

From the tool's own definition: "Tool performs 'trending_scan', 'partition_check', 'monotonicity violations' analysis, and 'computes' pricing data. No creation, modification, deletion, or execution of external code/commands. Retrieves market data from Polymarket API for analysis only."

## Use case

AI agents call polymarket_arbitrage to retrieve information from Linear without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Linear:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "polymarket_arbitrage": {}
  }
}
```

## Other tools on Linear (35)

- `forget` — Destructive — https://policylayer.com/tools/io-github-pipeworx-io-linear/forget.md
- `generate_llms_txt` — Execute — https://policylayer.com/tools/io-github-pipeworx-io-linear/generate-llms-txt.md
- `polymarket_edges` — Financial — https://policylayer.com/tools/io-github-pipeworx-io-linear/polymarket-edges.md
- `polymarket_fill_risk` — Financial — https://policylayer.com/tools/io-github-pipeworx-io-linear/polymarket-fill-risk.md
- `ai_visibility_check` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/ai-visibility-check.md
- `ask_pipeworx` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/ask-pipeworx.md
- `ask_pipeworx_beta` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/ask-pipeworx-beta.md
- `ask_pipeworx_grounded` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/ask-pipeworx-grounded.md
- `bet_research` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/bet-research.md
- `compare_entities` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/compare-entities.md
- `deep_research` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/deep-research.md
- `discover_tools` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/discover-tools.md
- `entity_profile` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/entity-profile.md
- `linear_get_issue` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/linear-get-issue.md
- `linear_list_issues` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/linear-list-issues.md
- `linear_list_teams` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/linear-list-teams.md
- `linear_search` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/linear-search.md
- `list_subscriptions` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/list-subscriptions.md
- `pipeworx_trending` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/pipeworx-trending.md
- `polymarket_edge_tracker` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/polymarket-edge-tracker.md
- `polymarket_kalshi_spread` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/polymarket-kalshi-spread.md
- `recall` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/recall.md
- `recent_alerts` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/recent-alerts.md
- `recent_changes` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/recent-changes.md
- `resolve_entity` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/resolve-entity.md
- `scan_competitor_ai_presence` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/scan-competitor-ai-presence.md
- `scan_dependency` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/scan-dependency.md
- `search_within` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/search-within.md
- `suggest_questions` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/suggest-questions.md
- `validate_claim` — Read — https://policylayer.com/tools/io-github-pipeworx-io-linear/validate-claim.md
- …and 5 more: https://policylayer.com/tools/io-github-pipeworx-io-linear.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-github-pipeworx-io-linear · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-pipeworx-io-linear
