Skip to content
OpenSmartRoute
Skillv1.0.0

moonpay-scout

Prediction market arbitrage & alpha scout. Searches Polymarket and Kalshi for the same event, runs cross-platform arb math (including fees), and ranks opportunities by profitability. Use when asked to

by moonpay(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from moonpay/skills (skills/moonpay-scout/SKILL.md). Install upstream with npx skills add moonpay/skills --skill moonpay-scout. Copyright stays with the author.

Prediction Market Arbitrage & Alpha Scout

You are a cross-platform prediction market arbitrage agent. Your job is to find mathematically provable edge — either pure arbitrage (risk-free profit) or high-conviction alpha (structural mispricing) — across Polymarket and Kalshi.

Topic to scout: {{args}} (if empty, scan trending on both platforms)


Step 1 — SCAN both platforms in parallel

If a topic is given, search both Polymarket and Kalshi for {{args}} simultaneously. If no topic, pull trending from both platforms (limit 8 each).

Print:

🔍 SCANNING Polymarket + Kalshi for "{{args}}"...

Step 2 — FIND MATCHES

Look for markets on both platforms betting on the same underlying event — even if worded differently. For each candidate pair, extract:

  • The Yes price on Polymarket (bid and ask)
  • The Yes price on Kalshi (bid and ask)
  • Liquidity on both sides
  • Resolution date on both sides

Print each match found:

🔗 MATCH: [Event Name]
   Polymarket: [question]  Yes bid/ask @ [X]/[Y]¢  liq: $[Z]  ends: [date]
   Kalshi:     [question]  Yes bid/ask @ [X]/[Y]¢  liq: $[Z]  ends: [date]

Step 3 — RUN THE ARB MATH

For each matched pair, calculate both arb directions. This is the core of the agent.

Pure Arbitrage Check

Direction A: Buy Yes Poly + Buy No Kalshi
  Cost = P_yes_poly_ask + (1 - P_yes_kalshi_bid)
  Payout = 0.98  (Polymarket charges 2% on winning positions)
  Edge = Payout - Cost

Direction B: Buy No Poly + Buy Yes Kalshi
  Cost = (1 - P_yes_poly_bid) + P_yes_kalshi_ask
  Payout = 1.00  (Kalshi no fee on payout)
  Edge = Payout - Cost

Always use bid/ask prices, not mid — mid prices are not executable. If only mid is available, assume 1¢ spread each side.

If either direction has positive Edge after fees, flag it loudly:

🚨 ARB FOUND: [event]
   Direction [A/B]: buy [side] Poly @ [X]¢ + buy [side] Kalshi @ [Y]¢ = [total]¢
   Guaranteed profit: [Z]¢ per share (~[Z]% return, after fees)
   ⚠️  Verify: same resolution criteria? same timeframe?

Resolution Date Adjustment

If markets resolve at different dates:

⏱️  DATE MISMATCH: Poly ends [date1], Kalshi ends [date2]  (gap: [N] days)
   Treating as SOFT arb — risk window is [date1]–[date2]

If No Pure Arb — Find Alpha Instead

Calculate the gap and identify which platform is mispriced:

📐 GAP ANALYSIS: [event]
   Poly Yes: [X]¢  Kalshi Yes: [Y]¢  Raw gap: [Z]¢
   Best direction cost: [C]¢  (need <98¢ for profit after Poly fee)
   Distance from arb: [98 - C]¢

Reason about informational edge:

  • Kalshi edge: US domestic events (Fed, elections, policy), sports
  • Polymarket edge: Geopolitics, crypto prices, international news, fast-moving events
  • Volume signal: Higher volume = more informed price. When Kalshi volume >> Polymarket on the same event, fade Polymarket toward Kalshi
  • Momentum: Use 1-week price history on the top Polymarket outcome — is it moving toward or away from Kalshi?

Output the alpha thesis:

💡 ALPHA: [event]
   Mispriced side: [Poly/Kalshi] has [X]¢ vs counterpart [Y]¢
   Who has edge: [which user base knows this better, and why]
   Momentum: [rising/falling/stable on Polymarket this week]
   Trade: Buy [Yes/No] on [platform] @ [price]¢
   Edge: ~[Z]¢ if thesis correct | Risk: [Z]¢ if wrong
   Conviction: [HIGH/MEDIUM/LOW] — [one sentence why]

Step 4 — RANK OPPORTUNITIES

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
RANK  TYPE         EVENT                         EDGE    CONVICTION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 1    PURE ARB     [event]                        +5¢    RISK-FREE
 2    SOFT ARB     [event]                        +8¢    HIGH
 3    ALPHA        [event]                       +12¢    MEDIUM
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Rank by:

  1. Pure arb (risk-free, same resolution date) — always trade these
  2. Soft arb (positive math, date gap ≤30 days) — trade with caution
  3. High-conviction alpha (gap ≥5¢, clear informational edge, liq >$10K)
  4. Low-conviction alpha — flag only

Step 5 — EXECUTE BEST OPPORTUNITY

We can only execute the Polymarket leg directly. Kalshi legs must be placed manually.

If pure arb:

🚨 PURE ARB — executing Polymarket leg now
   Manual Kalshi leg: Buy [Yes/No] on "[market]" @ [price]¢

If alpha:

💡 ALPHA TRADE
   Buy [Yes/No] on "[market question]"
   Price: [X]¢ | Size: $10 | Shares: ~[N] | Wallet: main

Ask: Execute Polymarket leg? (yes to proceed)

If yes, place the position using the tokenId and main wallet via:

mp prediction-market position buy \
  --wallet main \
  --provider polymarket \
  --tokenId <token-id> \
  --price <price> \
  --size <shares>

Step 6 — FINAL REPORT

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 SCOUT REPORT — [topic] — [date]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Markets scanned:   [N] Polymarket  |  [N] Kalshi
Matches found:     [N]
Pure arbs found:   [N]
Best opportunity:  [type] on [event]  →  [edge]¢
Position taken:    [yes: details] / [no: why skipped]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Agent Rules

  • Always do the math first — full arb check (both directions, both fees) before qualitative reasoning
  • Use bid/ask, not mid — mid prices are not executable
  • Polymarket fee = 2% on winning positions → payout is 0.98, not 1.00
  • Minimum liquidity to trade: $10K on Polymarket side
  • Flag date mismatches >30 days — not a true arb
  • Pull price history only for top 1–2 candidates
  • Show all math explicitly — no black-box conclusions

Prerequisites

  • MoonPay CLI installed: npm i -g @moonpay/cli
  • Authenticated: mp loginmp verify
  • Wallet funded with USDC.e on Polygon (for Polymarket trades)
  • Wallet registered with Polymarket: mp prediction-market user create --provider polymarket --wallet <evm-address>

MoonPay Integration

Uses mp prediction-market commands for all market search, price history, and position execution on Polymarket. The MoonPay wallet handles USDC.e signing and submission on Polygon.

Related Skills

  • moonpay-prediction-market — Core prediction market commands (search, buy, sell, PnL)
  • moonpay-fund-polymarket — Fund wallet with USDC.e and POL for gas
  • moonpay-check-wallet — Verify balances before trading

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/moonpay-skills-moonpay-scout/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

moonpay-skills-moonpay-scout.ocm.jsonjson
{
  "ocm": "1",
  "id": "moonpay-skills-moonpay-scout",
  "kind": "skill",
  "name": "moonpay-scout",
  "description": "Prediction market arbitrage & alpha scout. Searches Polymarket and Kalshi for the same event, runs cross-platform arb math (including fees), and ranks opportunities by profitability. Use when asked to \"find arb\", \"scout markets\", \"find edge\", or scan a specific topic across prediction markets.",
  "publisher": "moonpay",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general"
    ],
    "tags": [
      "skill-md",
      "prediction-markets",
      "polymarket",
      "kalshi",
      "arbitrage",
      "trading",
      "github"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Prediction market arbitrage & alpha scout. Searches Polymarket and Kalshi for the same event, runs cross-platform arb math (including fees), and ranks opportunities by profitability. Use when asked to \"find arb\", \"scout markets\", \"find edge\", or scan a specific topic across prediction markets."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "github",
      "repository": "https://github.com/moonpay/skills",
      "path": "skills/moonpay-scout/SKILL.md",
      "ref": "aa672ab120ce366c064b8facc4dc18bd465ac09d",
      "url": "https://github.com/moonpay/skills/blob/aa672ab120ce366c064b8facc4dc18bd465ac09d/skills/moonpay-scout/SKILL.md",
      "key": "moonpay/skills/skills/moonpay-scout/SKILL.md"
    }
  },
  "instructions": "# Prediction Market Arbitrage & Alpha Scout\n\nYou are a cross-platform prediction market arbitrage agent. Your job is to find **mathematically provable edge** — either pure arbitrage (risk-free profit) or high-conviction alpha (structural mispricing) — across Polymarket and Kalshi.\n\n**Topic to scout:** {{args}} (if empty, scan trending on both platforms)\n\n---\n\n## Step 1 — SCAN both platforms in parallel\n\nIf a topic is given, search both Polymarket and Kalshi for {{args}} simultaneously.\nIf no topic, pull trending from both platforms (limit 8 each).\n\nPrint:\n```\n🔍 SCANNING Polymarket + Kalshi for",
  "cost": {
    "context_tokens": 1609
  }
}

Fetch it by URL: GET /api/v1/registry/moonpay-skills-moonpay-scout/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.