mcpField
W
web3-polymarket

web3-polymarket

github.com/polymarket開発193581 回インストール36 週間前に更新
リポジトリ

web3-polymarket について

PolymarketのAPIやSDKを使う開発者向けのリファレンススキルです。取引、市場データ、WebSocketチャンネル、CTF操作と関連機能を、TypeScriptおよびPythonの例とともに扱います。

主な機能

  1. 01API認証と設定の説明
  2. 02注文の発注、管理、キャンセル
  3. 03市場データとオーダーブックの取得
  4. 04WebSocketチャンネルの購読
  5. 05CTFとブリッジ操作の参照

活用シーン

  1. 01Polymarket取引クライアントの構築
  2. 02オーダーブックと市場データの参照
  3. 03市場やユーザーのリアルタイム更新処理
  4. 04CTFポジションとブリッジ送金の操作

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/polymarket/agent-skills --skill web3-polymarket

インストール後、Claude Code で/web3-polymarketを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

authentication.md
README.md
gasless.md
websocket.md
ctf-operations.md
order-patterns.md
bridge.md
market-data.md

詳細

Polymarket スキル

このスキルを使用するタイミング

ユーザーから次の内容について質問された場合、または構築する必要がある場合に、このスキルを使用します。

  • Polymarket API 認証(L1/L2、API キー、HMAC 署名)
  • 注文の発注または管理(指値、成行、GTC、GTD、FOK、FAK、一括、キャンセル)
  • 板データの読み取り(価格、スプレッド、ミッドポイント、深度)
  • 市場データの取得(イベント、市場、スラッグ別、タグ別、ページネーション)
  • WebSocket サブスクリプション(市場チャンネル、ユーザーチャンネル、スポーツ)
  • CTF 操作(ポジションの分割、統合、償還)
  • ネガティブリスク市場(複数アウトカム、変換、拡張ネガティブリスク)
  • ブリッジ操作(入金、出金、マルチチェーン)
  • ガスレス取引(リレーヤークライアント、注文の帰属情報)
  • Builder プログラム連携(注文の帰属情報、API キー、ティア)
  • Polymarket SDK の使用(TypeScript @polymarket/clob-client、Python py-clob-client)

API 設定

APIベース URL認証用途
CLOBhttps://clob.polymarket.com取引エンドポイントには L2板、価格、注文送信
Gamma / Datahttps://gamma-api.polymarket.comなしイベント、市場、検索
Data APIhttps://data-api.polymarket.comなし取引、ポジション、ユーザーデータ
WebSocket(市場)wss://ws-subscriptions-clob.polymarket.com/ws/marketなしリアルタイムの板
WebSocket(ユーザー)wss://ws-subscriptions-clob.polymarket.com/ws/userメッセージ内の API 認証情報取引/注文の更新
WebSocket(スポーツ)wss://sports-api.polymarket.com/wsなしライブスコア
リレーヤーhttps://relayer-v2.polymarket.com/Builder ヘッダーガスレス取引
ブリッジhttps://bridge.polymarket.comなし入金/出金

コントラクトアドレス(Polygon)

コントラクトアドレス
USDC (USDC.e)0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174
CTF(条件付きトークン)0x4D97DCd97eC945f40cF65F87097ACe5EA0476045
CTF Exchange0x4bFb41d5B3570DeFd03C39a9A4D8dE6Bd8B8982E
ネガティブリスク CTF Exchange0xC5d563A36AE78145C45a50134d48A1215220f80a
ネガティブリスクアダプター0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296

クライアントのセットアップ

TypeScript
import { ClobClient, Side, OrderType } from "@polymarket/clob-client";
import { Wallet } from "ethers"; // v5.8.0

const HOST = "https://clob.polymarket.com";
const CHAIN_ID = 137;
const signer = new Wallet(process.env.PRIVATE_KEY);

// Step 1: L1 — derive API credentials
const tempClient = new ClobClient(HOST, CHAIN_ID, signer);
const apiCreds = await tempClient.createOrDeriveApiKey();

// Step 2: L2 — init trading client
const client = new ClobClient(
  HOST,
  CHAIN_ID,
  signer,
  apiCreds,
  2,                // signatureType: 0=EOA, 1=POLY_PROXY, 2=GNOSIS_SAFE
  "FUNDER_ADDRESS"  // proxy wallet address from polymarket.com/settings
);
Python
from py_clob_client.client import ClobClient
import os

host = "https://clob.polymarket.com"
chain_id = 137
pk = os.getenv("PRIVATE_KEY")

# Step 1: L1 — derive API credentials
temp_client = ClobClient(host, key=pk, chain_id=chain_id)
api_creds = temp_client.create_or_derive_api_creds()

# Step 2: L2 — init trading client
client = ClobClient(
    host,
    key=pk,
    chain_id=chain_id,
    creds=api_creds,
    signature_type=2,  # 0=EOA, 1=POLY_PROXY, 2=GNOSIS_SAFE
    funder="FUNDER_ADDRESS",
)

クイックリファレンス:注文タイプ

タイプ動作用途
GTC約定またはキャンセルされるまで板に残りますデフォルトの指値注文
GTD有効期限(UTC 秒)まで有効です。最小値 = now + 60 + Nイベント前に自動失効させる
FOK直ちに全量約定するか、キャンセルします全量約定またはキャンセルの成行注文
FAK約定可能な分を約定し、残りをキャンセルします部分約定する成行注文
  • FOK/FAK の BUY:amount = 支出する金額(ドル)
  • FOK/FAK の SELL:amount = 売却する株数
  • Post-only:GTC/GTD のみ — スプレッドをまたぐ場合は拒否されます

クイックリファレンス:署名タイプ

タイプ値説明
EOA0標準的な Ethereum ウォレット(MetaMask)。ファンダーは EOA アドレスで、ガス代用の POL が必要です。
POLY_PROXY1Polymarket.com から PK をエクスポートした Magic Link メール/Google ユーザー向けのカスタムプロキシウォレットです。
GNOSIS_SAFE2Gnosis Safe マルチシグプロキシウォレット(最も一般的)。新規ユーザーにも再訪ユーザーにも使用します。

基本パターン:注文を発注する

TypeScript
const response = await client.createAndPostOrder(
  {
    tokenID: "TOKEN_ID",
    price: 0.50,
    size: 10,
    side: Side.BUY,
  },
  {
    tickSize: "0.01",  // from client.getTickSize(tokenID) or market object
    negRisk: false,    // from client.getNegRisk(tokenID) or market object
  },
  OrderType.GTC
);
console.log(response.orderID, response.status);
Python
from py_clob_client.clob_types import OrderArgs, OrderType
from py_clob_client.order_builder.constants import BUY

response = client.create_and_post_order(
    OrderArgs(token_id="TOKEN_ID", price=0.50, size=10, side=BUY),
    options={"tick_size": "0.01", "neg_risk": False},
    order_type=OrderType.GTC,
)
print(response["orderID"], response["status"])

基本パターン:板を読み取る

TypeScript
// No auth needed
const readClient = new ClobClient("https://clob.polymarket.com", 137);
const book = await readClient.getOrderBook("TOKEN_ID");
console.log("Best bid:", book.bids[0], "Best ask:", book.asks[0]);

const mid = await readClient.getMidpoint("TOKEN_ID");
const spread = await readClient.getSpread("TOKEN_ID");
Python
read_client = ClobClient("https://clob.polymarket.com", chain_id=137)
book = read_client.get_order_book("TOKEN_ID")
mid = read_client.get_midpoint("TOKEN_ID")
spread = read_client.get_spread("TOKEN_ID")

基本パターン:WebSocket をサブスクライブする

const ws = new WebSocket("wss://ws-subscriptions-clob.polymarket.com/ws/market");

ws.onopen = () => {
  ws.send(JSON.stringify({
    type: "market",
    assets_ids: ["TOKEN_ID"],
    custom_feature_enabled: true,
  }));
  // Send PING every 10s to keep alive
  setInterval(() => ws.send("PING"), 10_000);
};

ws.onmessage = (event) => {
  if (event.data === "PONG") return;
  const msg = JSON.parse(event.data);
  // msg.event_type: "book" | "price_change" | "last_trade_price" | "tick_size_change" | "best_bid_ask" | "new_market" | "market_resolved"
};

参照ファイル(必要に応じて読み込んでください)

特定のトピックについて詳しい情報が必要な場合にのみ、以下をお読みください。

  • 認証(L1/L2、ビルダーヘッダー、認証情報のライフサイクル):authentication.md
  • 注文パターン(GTC/GTD/FOK/FAK、ティックサイズ、キャンセル、ハートビート、エラー):order-patterns.md
  • マーケットデータ(Gamma API、Data API、CLOB オーダーブック、サブグラフ):market-data.md
  • WebSocket(マーケット/ユーザー/スポーツのチャンネル、購読、ハートビート):websocket.md
  • CTF 操作(分割、統合、償還、ネガティブリスク、トークン ID):ctf-operations.md
  • ブリッジ(入金、出金、対応チェーン/トークン、ステータス):bridge.md
  • ガスレス取引(リレイヤークライアント、ウォレットのデプロイ、ビルダーのセットアップ):gasless.md

コメント