# 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-19hz/polymarket-arbitrage

## Facts

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

## 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 Critical

This tool is designed to identify and act on financial arbitrage opportunities on Polymarket, a prediction market platform involving real money. It analyzes market pricing anomalies and generates BUY signals, directly facilitating financial trading decisions. Misuse by an AI agent could lead to unintended financial commitments or trades, making this a Financial category tool with critical severity.

From the tool's own definition: "Find arbitrage opportunities on Polymarket...deviations >3pp emit a BUY/"

## Use case

AI agents use polymarket_arbitrage to commit financial operations through 19hz, usually the final step of a payment, billing, or trading workflow. A call moves real money.

## Recommended policy (PolicyLayer)

Verdict: **Approval-gated**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches 19hz:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "polymarket_arbitrage": {
      "deny_if": [
        {
          "conditions": [],
          "on_deny": "Requires human approval."
        }
      ]
    }
  }
}
```

## Other tools on 19hz (31)

- `forget` — Destructive — https://policylayer.com/tools/io-github-pipeworx-io-19hz/forget.md
- `polymarket_edges` — Financial — https://policylayer.com/tools/io-github-pipeworx-io-19hz/polymarket-edges.md
- `ai_visibility_check` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/ai-visibility-check.md
- `ask_pipeworx` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/ask-pipeworx.md
- `ask_pipeworx_grounded` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/ask-pipeworx-grounded.md
- `bet_research` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/bet-research.md
- `compare_entities` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/compare-entities.md
- `deep_research` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/deep-research.md
- `discover_tools` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/discover-tools.md
- `entity_profile` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/entity-profile.md
- `events` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/events.md
- `list_subscriptions` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/list-subscriptions.md
- `pipeworx_trending` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/pipeworx-trending.md
- `polymarket_edge_tracker` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/polymarket-edge-tracker.md
- `polymarket_kalshi_spread` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/polymarket-kalshi-spread.md
- `recall` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/recall.md
- `recent_alerts` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/recent-alerts.md
- `recent_changes` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/recent-changes.md
- `regions` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/regions.md
- `resolve_entity` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/resolve-entity.md
- `scan_competitor_ai_presence` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/scan-competitor-ai-presence.md
- `scan_dependency` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/scan-dependency.md
- `search_within` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/search-within.md
- `suggest_questions` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/suggest-questions.md
- `validate_claim` — Read — https://policylayer.com/tools/io-github-pipeworx-io-19hz/validate-claim.md
- `generate_llms_txt` — Write — https://policylayer.com/tools/io-github-pipeworx-io-19hz/generate-llms-txt.md
- `pipeworx_feedback` — Write — https://policylayer.com/tools/io-github-pipeworx-io-19hz/pipeworx-feedback.md
- `polymarket_fill_risk` — Write — https://policylayer.com/tools/io-github-pipeworx-io-19hz/polymarket-fill-risk.md
- `remember` — Write — https://policylayer.com/tools/io-github-pipeworx-io-19hz/remember.md
- `subscribe` — Write — https://policylayer.com/tools/io-github-pipeworx-io-19hz/subscribe.md
- …and 1 more: https://policylayer.com/tools/io-github-pipeworx-io-19hz.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-19hz · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-pipeworx-io-19hz
