polymarket_edges
Scan top Polymarket markets and return opportunities where Pipeworx data disagrees with market price. Built for "what should I bet on today" — agents discover opportunities without paging hundreds of markets. FIVE MODEL FAMILIES grouped into three response segments under by_segment: (1) MODEL_DRI...
This record as markdown: /tools/io-github-pipeworx-io-19hz/polymarket-edges.md
What polymarket_edges does on 19hz
AI agents use polymarket_edges to commit financial operations through 19hz, usually the final step of a payment, billing, or trading workflow. A call moves real money.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | — | Top N edges to return after ranking. Default 10, max 25. |
window | string | — | Polymarket volume window to filter markets. Default 1wk. |
min_kelly | number | — | Minimum half-Kelly fraction (as decimal, e.g. 0.005 = 0.5% of bankroll) to include single-leg opportunities. Default 0 (no filter). Skips opportunities that are |
min_edge_pp | number | — | Minimum |edge| in percentage points to include (default 0.5). Edge is evaluated NET of slippage. |
slippage_pp | number | — | Assumed execution slippage in percentage points per leg (default 0.3). Subtracted from raw |edge| before ranking and Kelly sizing. Polymarket has zero trading f |
max_spread_pp | number | — | Tradeable-edge filter. Maximum bid/ask spread in percentage points on the representative market. Default null (no filter). Set to 2 to require tight books — any |
min_liquidity | number | — | Tradeable-edge filter. Minimum $ liquidity on the representative market (or for partition_overround, on at least one top_leg). Default 0 (no filter). Set to 500 |
category_filter | string | — | Comma-separated list to restrict the output: "model_driven" (crypto_price + news_momentum), "structural_arbitrage" (partition_overround), "concentrated_longshot |
min_partition_leg_kelly | number | — | Minimum BEST per-leg half-Kelly fraction across a partition_overround opportunity's top_legs (or longshot_basket legs). Default 0 (no filter). Partition arbs al |
Parameters from the server's own tool schema.
Why polymarket_edges is rated Critical
This tool directly facilitates financial wagering decisions on Polymarket, a real-money prediction market. It scans markets, calculates Kelly criterion-based bet sizing, and surfaces actionable betting opportunities. Misuse by an AI agent could result in real financial losses, placing it squarely in the Financial category with critical severity.
From the tool's definition 'what should I bet on today', 'discover opportunities', 'Polymarket markets', 'partition_overround on mutually-exclusive events', 'favorite-longshot bias correction', 'Kelly' — the tool is explicitly designed to identify and recommend betting opportunities on…
Risk signalsBulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
The rule that runs polymarket_edges safely
PolicyLayer is an MCP gateway: it sits between your AI agents and 19hz, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For polymarket_edges, this is the rule to start with:
Any call to polymarket_edges is blocked until a human approves it. The rest of the server keeps working.
The button opens the PolicyLayer dashboard: create your workspace, connect 19hz, apply this rule, and every polymarket_edges call is checked against it from then on.
Questions about polymarket_edges
Scan top Polymarket markets and return opportunities where Pipeworx data disagrees with market price. Built for "what should I bet on today" — agents discover opportunities without paging hundreds of markets. FIVE MODEL FAMILIES grouped into three response segments under by_segment: (1) MODEL_DRIVEN — crypto_price (lognormal barrier from 90d FRED log-returns) and news_momentum (GDELT 7d/21d article-volume ratio, soft signal w/ halved Kelly). (2) STRUCTURAL_ARBITRAGE — partition_overround on mutually-exclusive events; per-leg favorite-longshot bias correction with per-sport α (tennis 1.02, soccer 1.10, MMA 1.15, default 1.0); placeholder-slug filter drops will-person-X / will-team-Y / will-manager-Z / will-someone-else- backstops; partitions with >20% placeholder fraction skipped entirely. (3) CONCENTRATED_LONGSHOT — basket trade when one leg ≥75% AND ≥2 longshots ≤8% AND portfolio return ≥25:1; rare-by-design (gates relaxed Run 8 from prior 85%/5%/50:1). EVERY OPPORTUNITY carries edge_pp_net (after slippage), kelly_fraction + kelly_fraction_half (capped at 0.25), market.liquidity, market.spread_pp, market.volume, plus a 24h-move warning ("Market moved X.Xpp in 24h") when the recent move alone exceeds the edge — your edge may already be in the price. TRADEABLE-EDGE KNOBS: min_liquidity / max_spread_pp drop opportunities where edge isn't realizable; min_partition_leg_kelly filters partitions by best per-leg Kelly. RESPONSE TOP-LEVEL: by_segment{model_driven,structural_arbitrage,concentrated_longshot}, fed_candidates/fed_note (Fed bets surface here, excluded from ranking — 1m-T vs EFFR signal is unreliable at meeting-month horizons without paid OIS/SOFR-futures data), and _diagnostics{concentrated_longshot:{...funnel counters},category_counts,filter_skips} so callers can see WHY a segment is empty (top-N stale, all candidates failed gates, knob dropped them). Cached 1h at the KV level keyed on all knobs. It is categorised as a Financial tool in the 19hz MCP Server, which means it involves financial transactions. Block by default and require explicit approval.
polymarket_edges accepts 9 parameters: limit, window, min_kelly, min_edge_pp, slippage_pp, max_spread_pp, min_liquidity, category_filter, min_partition_leg_kelly. The full parameter table on this page comes from the server's own tool schema.
Register the 19hz MCP server in PolicyLayer and add a rule for polymarket_edges: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches 19hz. Nothing to install.
polymarket_edges is a Financial tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.
Yes. Add a rate_limit block to the polymarket_edges rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for polymarket_edges. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
polymarket_edges is provided by the 19hz MCP server (https://gateway.pipeworx.io/19hz/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on 19hz, and thousands of servers like it.
Across the catalogue