moonpay-scout について
moonpay-scoutは、PolymarketとKalshiを横断して裁定機会や取引候補を分析するエージェントスキルです。買値・売値、手数料、流動性、決済日を使って両方向の裁定を計算し、成立しない場合は価格差と取引方向を評価します。Polymarketでの執行には確認が必要です。
主な機能
- 01PolymarketとKalshiを並行スキャン
- 02同一イベントの市場を照合
- 03買値・売値と手数料で裁定を計算
- 04決済日のずれと価格差を分析
- 05流動性・モメンタム・情報優位性を評価
- 06確認後にPolymarket取引を実行
活用シーン
- 012つのプラットフォームで同一イベントを比較
- 02手数料控除後の裁定機会を抽出
- 03市場間の価格差と取引方向を評価
- 04Kalshi側を手動確認しPolymarket執行を承認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ moonpay/ skills --skill moonpay-scoutインストール後、Claude Code で/moonpay-scoutを入力して読み込まれたか確認します。
詳細
予測市場の裁定取引とアルファの探索
Polymarket と Kalshi を横断する予測市場の裁定取引エージェントです。数学的に証明できる優位性を見つけることを目的とします。対象となるのは、純粋な裁定取引(リスクなしの利益)または確信度の高いアルファ(構造的な価格の誤り)です。
探索するトピック: {{args}}(空の場合は、両方のプラットフォームでトレンドをスキャンします)
ステップ 1 — 両方のプラットフォームを並行してスキャンする
トピックが指定されている場合は、Polymarket と Kalshi の両方で {{args}} を同時に検索します。 トピックが指定されていない場合は、両方のプラットフォームからトレンドを取得します(各プラットフォームで最大 8 件)。
次を出力します:
🔍 SCANNING Polymarket + Kalshi for "{{args}}"...
ステップ 2 — 一致する市場を探す
表現が異なっていても、同じ基礎イベントに賭けている両方のプラットフォームの市場を探します。候補となるペアごとに、次の情報を抽出します:
- Polymarket の Yes 価格(買値と売値)
- Kalshi の Yes 価格(買値と売値)
- 両方の市場の流動性
- 両方の市場の決済日
見つかった一致をそれぞれ出力します:
🔗 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]
ステップ 3 — 裁定取引の計算を実行する
一致したペアごとに、裁定取引の両方向を計算します。これがエージェントの中核です。
純粋な裁定取引の確認
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
必ずミッド価格ではなく、買値/売値を使用します。ミッド価格では取引を実行できません。ミッド価格しか取得できない場合は、各側に 1¢ のスプレッドがあるものとします。
いずれかの方向で手数料差し引き後のエッジがプラスなら、目立つように通知します:
🚨 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?
決済日の調整
市場の決済日が異なる場合:
⏱️ DATE MISMATCH: Poly ends [date1], Kalshi ends [date2] (gap: [N] days)
Treating as SOFT arb — risk window is [date1]–[date2]
純粋な裁定取引がない場合 — 代わりにアルファを探す
価格差を計算し、どちらのプラットフォームの価格が誤っているかを特定します:
📐 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]¢
情報面での優位性を検討します:
- Kalshi の優位性:米国内のイベント(Fed、選挙、政策)、スポーツ
- Polymarket の優位性:地政学、暗号資産価格、国際ニュース、変化の速いイベント
- 出来高のシグナル:出来高が多いほど、価格に反映されている情報が多いと考えられます。同じイベントで Kalshi の出来高が Polymarket を大きく上回る場合、Polymarket の価格が Kalshi に近づくと見込みます
- モメンタム:Polymarket の上位アウトカムの 1 週間の価格履歴を確認し、Kalshi に近づいているか、遠ざかっているかを判断します
アルファの投資仮説を出力します:
💡 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]
ステップ 4 — 機会を順位付けする
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
RANK TYPE EVENT EDGE CONVICTION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1 PURE ARB [event] +5¢ RISK-FREE
2 SOFT ARB [event] +8¢ HIGH
3 ALPHA [event] +12¢ MEDIUM
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
次の順で順位付けします:
- 純粋な裁定取引(リスクなし、決済日が同じ)— 必ず取引する
- ソフト裁定取引(計算上はプラス、決済日の差が 30 日以内)— 慎重に取引する
- 確信度の高いアルファ(価格差が 5¢ 以上、明確な情報面での優位性、流動性が $10K 超)
- 確信度の低いアルファ — 通知のみ
ステップ 5 — 最善の機会を実行する
Polymarket 側の取引のみ、こちらから直接実行できます。Kalshi 側の取引は手動で行う必要があります。
純粋な裁定取引の場合:
🚨 PURE ARB — executing Polymarket leg now
Manual Kalshi leg: Buy [Yes/No] on "[market]" @ [price]¢
アルファの場合:
💡 ALPHA TRADE
Buy [Yes/No] on "[market question]"
Price: [X]¢ | Size: $10 | Shares: ~[N] | Wallet: main
次を確認します:Execute Polymarket leg? (yes to proceed)
yes の場合は、tokenId と main ウォレットを使って、次のコマンドでポジションを建てます:
mp prediction-market position buy \
--wallet main \
--provider polymarket \
--tokenId <token-id> \
--price <price> \
--size <shares>
ステップ 6 — 最終レポート
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 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]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
エージェントのルール
- 必ず最初に計算する — 定性的な検討の前に、裁定取引の完全な確認(両方向、両方の手数料)を行います
- ミッド価格ではなく買値/売値を使用します — ミッド価格では取引を実行できません
- Polymarket の手数料は勝ちポジションに対して 2% です → 払い戻し額は 1.00 ではなく 0.98 です
- 取引に必要な最低流動性:Polymarket 側で $10K
- 決済日の差が 30 日を超える場合は通知します — 真の裁定取引ではありません
- 価格履歴を取得するのは上位 1~2 件の候補のみです
- すべての計算を明示します — ブラックボックスのような結論は出しません
前提条件
- MoonPay CLI がインストール済みであること:
npm i -g @moonpay/cli - 認証済みであること:
mp login→mp verify - ウォレットに Polygon 上の USDC.e が入金されていること(Polymarket での取引に必要)
- ウォレットが Polymarket に登録済みであること:
mp prediction-market user create --provider polymarket --wallet <evm-address>
MoonPay 連携
Polymarket のすべての市場検索、価格履歴の取得、ポジションの実行に mp prediction-market コマンドを使用します。MoonPay ウォレットが Polygon 上での USDC.e の署名と送信を処理します。
関連スキル
- moonpay-prediction-market — 予測市場の基本コマンド(検索、購入、売却、損益)
- moonpay-fund-polymarket — ウォレットに USDC.e とガス代用の POL を入金
- moonpay-check-wallet — 取引前に残高を確認