mcpField
P
polymarket

polymarket

github.com/outsharpその他454 回インストール32 週間前に更新
リポジトリ

polymarket について

polymarketは、Polymarket APIの市場データ、オーダーブック、取引、認証、公式SDKのリファレンスを整理したスキルです。Polymarketの予測市場との連携を開発する人を対象としています。

主な機能

  1. 01Gamma、CLOB、Data APIを収録
  2. 02イベントと市場の検索方法を説明
  3. 03価格とオーダーブックのエンドポイントを記載
  4. 04L1・L2認証と注文タイプを解説
  5. 05TypeScript、Python、RustのSDKを掲載

活用シーン

  1. 01イベント、市場、タグの検索
  2. 02トークン価格、履歴、オーダーブックの取得
  3. 03認証済みクライアントで注文を管理
  4. 04SDKリファレンスを使ったPolymarket連携の開発

インストール

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

$npx skills add https://github.com/outsharp/shipp-skills --skill polymarket

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

同梱ファイルREADME.md

詳細

Polymarket API

Polymarket は、ユーザーが現実世界の出来事の結果を取引する分散型予測市場です。Polygon 上のオフチェーンでのマッチングとオンチェーンでの決済を組み合わせた、ハイブリッド分散型の中央指値注文板(CLOB)を使用しています。

このスキルと公式ドキュメントを 頻繁に 確認してください。すべてのドキュメントを網羅した、正式な機械可読インデックスは次の場所にあります。

https://docs.polymarket.com/llms.txt

構築を始める前に、必ず llms.txt を参照して利用可能なすべてのページを確認してください。これは、エンドポイントのリファレンス、SDK のドキュメント、WebSocket チャンネル、ビルダープログラムの詳細、スタートガイドに関する唯一の信頼できる情報源です。


主要な概念(用語集)

用語定義
イベント共通のトピック(例:「2024 年米国大統領選挙」)のもとにまとめられた、関連市場の集まりです。
市場イベント内の、個別に取引可能な二択の結果です。各市場には Yes と No のサイド、条件 ID、質問 ID、トークン ID のペアがあります。
トークン特定の結果(Yes または No)に対するポジションを表します。価格は 0.00 から 1.00 の範囲です。勝利したトークンは 1 ドル分の USDCe と引き換えられます。結果トークンとも呼ばれます。
トークン ID特定の結果トークンを識別する一意の ID です。注文の発注や価格の照会に必要です。
条件 ID市場の決着条件を示すオンチェーンの識別子です。CTF の操作や、CLOB における市場識別子として使用されます。
質問 ID市場とその決着オラクル(UMA)を結び付ける識別子です。
スラッグ市場またはイベントの、人が読みやすい URL 識別子です(例:polymarket.com/event/[slug])。
CLOB中央指値注文板(Central Limit Order Book)— Polymarket のオフチェーン注文マッチングシステムです。注文はオンチェーンで決済される前に、ここでマッチングされます。
ティックサイズ市場における最小価格変動幅です。通常は 0.01(1 セント)または 0.001(0.1 セント)です。
約定注文がマッチングされ、実行されることです。注文は一部または全額が約定する場合があります。
ネガティブリスク(NegRisk)Yes として決着する結果が 1 つだけの複数結果イベントです。注文パラメーターで negRisk: true を指定する必要があります。
CTF条件付きトークンフレームワーク(Conditional Token Framework)— 結果トークンを管理するオンチェーンのスマートコントラクトです。
分割USDCe を、結果トークンの完全なセット(Yes 1 つ + No 1 つ)に変換します。
統合結果トークンの完全なセットを USDCe に戻します。
償還決着後、勝利したトークンを 1 つにつき 1 ドル分の USDCe と交換します。
USDCePolygon 上のブリッジされた USDC です。Polymarket で担保として使用されるステーブルコインです。
資金提供者アドレス取引に使用する資金とトークンを保有するウォレットアドレスです。
署名タイプウォレットの種類を示します:0 = EOA、1 = Magic Link プロキシ(POLY_PROXY)、2 = Gnosis Safe プロキシ。

用語集の全文:https://docs.polymarket.com/quickstart/reference/glossary.md


注文タイプ

タイプ名称説明
GTCキャンセルされるまで有効約定するか手動でキャンセルされるまで、注文が有効な状態を保ちます。
GTD指定日時まで有効約定しない場合、指定した時刻に期限切れになります。
FOK全量即時約定またはキャンセル注文全量が直ちに約定する必要があり、そうでなければキャンセルされます。一部約定はありません。
FAK即時約定可能分を約定後キャンセル直ちに可能な限り約定し、残った未約定分はキャンセルされます。

ベース URL

APIベース URL説明
CLOB APIhttps://clob.polymarket.com注文管理、価格、注文板、取引
Gamma APIhttps://gamma-api.polymarket.com市場の検索、メタデータ、イベント、タグ
Data APIhttps://data-api.polymarket.comユーザーのポジション、アクティビティ、取引履歴
CLOB WebSocketwss://ws-subscriptions-clob.polymarket.com/ws/注文板の更新、注文ステータス
RTDS WebSocketwss://ws-live-data.polymarket.com低遅延の暗号資産価格、コメント

エンドポイントのリファレンス:https://docs.polymarket.com/quickstart/reference/endpoints.md


ドキュメントと参考資料

詳細な例、リクエスト/レスポンスのスキーマ、手順ガイドはすべて公式ドキュメントに掲載されています。構築を始める前に、必ず参照してください。

リソースURL
ドキュメントの完全なインデックス(llms.txt)https://docs.polymarket.com/llms.txt
開発者向けクイックスタートhttps://docs.polymarket.com/quickstart/overview.md
マーケットデータの取得https://docs.polymarket.com/quickstart/fetching-data.md
最初の注文を出すhttps://docs.polymarket.com/quickstart/first-order.md
API レート制限https://docs.polymarket.com/quickstart/introduction/rate-limits.md
エンドポイントのリファレンスhttps://docs.polymarket.com/quickstart/reference/endpoints.md
用語集https://docs.polymarket.com/quickstart/reference/glossary.md
CLOB の概要https://docs.polymarket.com/developers/CLOB/introduction.md
認証https://docs.polymarket.com/developers/CLOB/authentication.md
クライアントメソッドの概要https://docs.polymarket.com/developers/CLOB/clients/methods-overview.md
パブリックメソッドhttps://docs.polymarket.com/developers/CLOB/clients/methods-public.md
L1 メソッドhttps://docs.polymarket.com/developers/CLOB/clients/methods-l1.md
L2 メソッドhttps://docs.polymarket.com/developers/CLOB/clients/methods-l2.md
注文の概要https://docs.polymarket.com/developers/CLOB/orders/orders.md
単一の注文を出すhttps://docs.polymarket.com/developers/CLOB/orders/create-order.md
複数の注文を出すhttps://docs.polymarket.com/developers/CLOB/orders/create-order-batch.md
注文のキャンセルhttps://docs.polymarket.com/developers/CLOB/orders/cancel-orders.md
WebSocket の概要https://docs.polymarket.com/developers/CLOB/websocket/wss-overview.md
マーケットチャンネルhttps://docs.polymarket.com/developers/CLOB/websocket/market-channel.md
ユーザーチャンネルhttps://docs.polymarket.com/developers/CLOB/websocket/user-channel.md
Gamma の構造https://docs.polymarket.com/developers/gamma-markets-api/gamma-structure.md
マーケットの取得方法https://docs.polymarket.com/developers/gamma-markets-api/fetch-markets-guide.md
ネガティブリスクの概要https://docs.polymarket.com/developers/neg-risk/overview.md
CTF の概要https://docs.polymarket.com/developers/CTF/overview.md
ビルダープログラムhttps://docs.polymarket.com/developers/builders/builder-intro.md
マーケットメーカーの概要https://docs.polymarket.com/developers/market-makers/introduction.md
Bridge の概要https://docs.polymarket.com/developers/misc-endpoints/bridge-overview.md
Polymarket プラットフォームhttps://polymarket.com

認証

Polymarket は二段階認証システムを採用しています。パブリックエンドポイント(マーケットデータ、価格、オーダーブック)には認証は不要です。

L1 認証(秘密鍵)

L1 では、ウォレットの秘密鍵を使用して EIP-712 メッセージに署名します。これによりウォレットの所有権を証明し、L2 API 認証情報の作成または導出に使用します。

L1 ヘッダー(REST を直接呼び出す場合):

ヘッダー説明
POLY_ADDRESSPolygon の署名者アドレス
POLY_SIGNATUREEIP-712 署名
POLY_TIMESTAMP現在の UNIX タイムスタンプ
POLY_NONCEノンス(デフォルトは 0)

POLY_SIGNATURE は、ドメインが ClobAuthDomain(バージョン 1、chainId 137)の EIP-712 構造体に署名して生成します。

TypeScript の例:

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

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

const client = new ClobClient(HOST, CHAIN_ID, signer);
const apiCreds = await client.createOrDeriveApiKey();
// Returns: { apiKey, secret, passphrase }

Python の例:

from py_clob_client.client import ClobClient
import os

client = ClobClient(
    host="https://clob.polymarket.com",
    chain_id=137,
    key=os.getenv("PRIVATE_KEY"),
)
api_creds = client.create_or_derive_api_creds()
# Returns: { "apiKey": "...", "secret": "...", "passphrase": "..." }

L1 認証の詳細:https://docs.polymarket.com/developers/CLOB/authentication.md

L2 認証(API 認証情報)

L2 では、L1 から派生した API 認証情報(apiKey、secret、passphrase)を使用します。リクエストには secret を使った HMAC-SHA256 署名が付与されます。

L2 ヘッダー(REST を直接呼び出す場合):

ヘッダー説明
POLY_ADDRESSPolygon の署名者アドレス
POLY_SIGNATUREHMAC-SHA256 署名
POLY_TIMESTAMP現在の UNIX タイムスタンプ
POLY_API_KEYユーザーの API apiKey 値
POLY_PASSPHRASEユーザーの API passphrase 値

TypeScript の例(完全な L2 クライアント):

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

const signer = new Wallet(process.env.PRIVATE_KEY);
const apiCreds = {
  apiKey: process.env.API_KEY,
  secret: process.env.SECRET,
  passphrase: process.env.PASSPHRASE,
};

const client = new ClobClient(
  "https://clob.polymarket.com",
  137,
  signer,
  apiCreds,
  2,  // Signature type: 0=EOA, 1=POLY_PROXY, 2=GNOSIS_SAFE
  process.env.FUNDER_ADDRESS, // proxy wallet address
);

Python の例(完全な L2 クライアント):

from py_clob_client.client import ClobClient
from py_clob_client.clob_types import ApiCreds
import os

api_creds = ApiCreds(
    api_key=os.getenv("API_KEY"),
    api_secret=os.getenv("SECRET"),
    api_passphrase=os.getenv("PASSPHRASE"),
)

client = ClobClient(
    host="https://clob.polymarket.com",
    chain_id=137,
    key=os.getenv("PRIVATE_KEY"),
    creds=api_creds,
    signature_type=2,  # 0=EOA, 1=POLY_PROXY, 2=GNOSIS_SAFE
    funder=os.getenv("FUNDER_ADDRESS"),
)
署名タイプ
タイプ値説明
EOA0標準の Ethereum ウォレットです。Funder は EOA アドレスです。ガス代として POL が必要です。
POLY_PROXY1Magic Link のメール/Google ログイン用プロキシウォレットです。ユーザーは Polymarket.com から PK をエクスポートする必要があります。
GNOSIS_SAFE2Gnosis Safe のマルチシグプロキシウォレットです。Polymarket.com のユーザーに最もよく使われています。

認証ガイド全文:https://docs.polymarket.com/developers/CLOB/authentication.md


SDK

Polymarket は公式 SDK を提供しています。本番環境との連携には、こちらを推奨します。

SDKインストールソース
TypeScriptnpm install @polymarket/clob-clientGitHub
Pythonpip install py-clob-clientGitHub
Rustcargo add polymarket-client-sdk—

ユーザーに代わって注文をルーティングするビルダーは、こちらもインストールしてください。

パッケージインストール用途
Builder Signing SDKnpm install @polymarket/builder-signing-sdkビルダー注文の帰属情報

レート制限

Polymarket は Cloudflare ベースのスロットリングを使用しています(リクエストは即座に拒否されるのではなく、遅延します)。主な制限は次のとおりです。

一般
エンドポイント制限
一般的なレート制限15,000 リクエスト/10 秒
Gamma API
エンドポイント制限
Gamma(一般)4,000/10 秒
/events500/10 秒
/markets300/10 秒
/markets と /events の一覧表示900/10 秒
検索350/10 秒
タグ200/10 秒
コメント200/10 秒
CLOB API
エンドポイント制限
CLOB(一般)9,000/10 秒
/book1,500/10 秒
/price1,500/10 秒
/midprice1,500/10 秒
/books、/prices、/midprices500/10 秒
価格履歴1,000/10 秒
CLOB 取引
エンドポイントバースト制限継続制限
POST /order3,500/10 秒(500/秒)36,000/10 分(60/秒)
DELETE /order3,000/10 秒(300/秒)30,000/10 分(50/秒)
POST /orders(一括)1,000/10 秒(100/秒)15,000/10 分(25/秒)
DELETE /orders(一括)1,000/10 秒(100/秒)15,000/10 分(25/秒)
DELETE /cancel-all250/10 秒(25/秒)6,000/10 分(10/秒)
Data API
エンドポイント制限
Data API(一般)1,000/10 秒
/trades200/10 秒
/positions150/10 秒
/closed-positions150/10 秒

レート制限の詳細:https://docs.polymarket.com/quickstart/introduction/rate-limits.md


REST API エンドポイントの概要

以下に API ごとの概要を示します。リクエスト/レスポンスのスキーマ全文は、リンク先のドキュメントを参照するか、https://docs.polymarket.com/llms.txt をご覧ください。

Gamma API — 市場の発見とメタデータ

ベース:https://gamma-api.polymarket.com

エンドポイントメソッド説明ドキュメント
/eventsGETイベントの一覧を取得します(active、closed、tag_id、series_id などで絞り込み)イベントの一覧
/events/{id}GETID でイベントを取得しますID でイベントを取得
/events/{slug}GETスラッグでイベントを取得しますスラッグでイベントを取得
/events/tagsGETイベントタグを取得しますイベントタグを取得
/marketsGETマーケットの一覧を取得します(さまざまな条件で絞り込み)マーケットの一覧
/markets/{id}GETID でマーケットを取得しますID でマーケットを取得
/markets/{slug}GETスラッグでマーケットを取得しますスラッグでマーケットを取得
/tagsGETタグの一覧を取得しますタグの一覧
/tags/{id}GETID でタグを取得しますID でタグを取得
/tags/{slug}GETスラッグでタグを取得しますスラッグでタグを取得
/seriesGETシリーズの一覧を取得しますシリーズの一覧
/series/{id}GETID でシリーズを取得しますID でシリーズを取得
/sportsGETスポーツのメタデータを取得しますスポーツのメタデータを取得
/sports/market-typesGET有効なスポーツマーケットタイプを取得します有効なスポーツマーケットタイプを取得
/teamsGETチームの一覧を取得しますチームの一覧
/searchGETマーケット、イベント、プロフィールを検索します検索
/commentsGETコメントの一覧を取得しますコメントの一覧
/profiles/{address}GETウォレットアドレスから公開プロフィールを取得しますプロフィールを取得

Gamma の構造ガイド:https://docs.polymarket.com/developers/gamma-markets-api/gamma-structure.md

CLOB API — 価格とオーダーブック(公開)

ベース:https://clob.polymarket.com

エンドポイントメソッド認証説明ドキュメント
/priceGET不要トークンと売買方向を指定して現在価格を取得します市場価格を取得
/pricesPOST不要複数のトークンと売買方向の価格を取得します複数の市場価格を取得
/midpointGET不要トークンの中間価格を取得します中間価格を取得
/bookGET不要トークンのオーダーブックを取得しますオーダーブックの概要を取得
/booksPOST不要複数のトークンのオーダーブックを取得します複数のオーダーブックを取得
/prices-historyGET不要トークンの過去の価格データを取得します価格履歴を取得
/spreadsGET不要複数のトークンの買値と売値のスプレッドを取得します買値と売値のスプレッドを取得
CLOB API — 取引(認証済み)

ベース:https://clob.polymarket.com

エンドポイントメソッド認証説明ドキュメント
/orderPOSTL2単一の注文を発注します単一注文を発注
/orderDELETEL2単一の注文をキャンセルします注文をキャンセル
/ordersPOSTL2複数の注文を発注します(バッチ、最大15件)複数の注文を発注
/ordersDELETEL2複数の注文をキャンセルします注文をキャンセル
/cancel-allDELETEL2すべての未約定注文をキャンセルします注文をキャンセル
/cancel-market-ordersDELETEL2特定の市場のすべての注文をキャンセルします注文をキャンセル
CLOB API — 注文と取引(認証済み)
エンドポイントメソッド認証説明ドキュメント
/data/order/{orderId}GETL2特定の注文を取得します注文を取得
/data/ordersGETL2有効な注文/未約定注文を取得します有効な注文を取得
/data/tradesGETL2ユーザーの取引を取得します取引を取得
/order/scoringGETL2注文が報酬スコアリングの対象となるか確認しますスコアリングを確認
CLOB API — 認証エンドポイント
エンドポイントメソッド認証説明
/auth/api-keyPOSTL1新しい API 認証情報を作成します
/auth/derive-api-keyGETL1既存の API 認証情報を導出します
/auth/api-keysGETL2API キーを一覧表示します
/auth/api-keyDELETEL2API キーを削除/無効化します
Data API — ポジションとアクティビティ

ベース URL:https://data-api.polymarket.com

エンドポイントメソッド説明ドキュメント
/positionsGETユーザーの現在のポジションを取得します現在のポジションを取得
/closed-positionsGETユーザーの決済済みポジションを取得します決済済みポジションを取得
/positions/marketGETマーケットのポジションを取得しますマーケットのポジションを取得
/positions/valueGETユーザーのポジションの合計価値を取得します合計価値を取得
/top-holdersGETマーケットの上位保有者を取得します上位保有者を取得
/tradesGETユーザーまたはマーケットの取引を取得します取引を取得
/activityGETユーザーのオンチェーンアクティビティを取得しますユーザーアクティビティを取得
/leaderboardGETトレーダーのリーダーボードランキングを取得しますリーダーボードを取得
/open-interestGET建玉を取得します建玉を取得
/volumeGETイベントのリアルタイム取引高を取得しますリアルタイム取引高を取得
Bridge API — 入金と出金
エンドポイントメソッド説明ドキュメント
/depositPOST入金アドレスを作成します入金アドレスを作成
/withdrawPOST出金アドレスを作成します出金アドレスを作成
/supported-assetsGET対応するチェーンとトークンを取得します対応資産を取得
/quoteGET入金・出金の見積もりを取得します見積もりを取得
/statusGETトランザクションのステータスを取得しますトランザクションのステータスを取得

Bridge の概要:https://docs.polymarket.com/developers/misc-endpoints/bridge-overview.md

Builder Program エンドポイント
エンドポイントメソッド説明ドキュメント
/builders/leaderboardGET集計済みのビルダーリーダーボードを取得しますビルダーリーダーボード
/builders/volumeGETビルダーの1日ごとの取引高時系列データを取得しますビルダー取引高

Builder プログラム:https://docs.polymarket.com/developers/builders/builder-intro.md


手数料

現在の手数料体系(変更される場合があります):

取引高レベルメイカー手数料(bps)テイカー手数料(bps)
>0 USDC00

手数料の計算方法は、購入か売却かによって異なります。

  • 売却アウトカムトークン:feeQuote = baseRate × min(price, 1 - price) × size
  • 購入アウトカムトークン:feeBase = baseRate × min(price, 1 - price) × (size / price)

手数料の詳細:https://docs.polymarket.com/developers/CLOB/introduction.md

メイカーリベートプログラム:https://docs.polymarket.com/developers/market-makers/maker-rebates-program.md


WebSocket API

Polymarket は、リアルタイムデータ用に2つの WebSocket サービスを提供しています。

CLOB WebSocket
wss://ws-subscriptions-clob.polymarket.com/ws/

2 つのチャネルを利用できます。

チャネル認証が必要説明ドキュメント
marketいいえオーダーブックと価格の更新(公開)マーケットチャネル
userはい注文ステータスと取引の更新ユーザーチャネル
マーケットチャネルのイベント
イベントタイプトリガー説明
book最初の購読/取引買い注文と売り注文を含むオーダーブック全体のスナップショット
price_change新規注文/キャンセル最良買い気配値/売り気配値を含む、価格レベルの差分更新
tick_size_change価格が 0.96 超または 0.04 未満最小ティックサイズの更新
last_trade_price取引のマッチ直近の取引価格、売買方向、数量
best_bid_ask最良価格の変化最良買い気配値、売り気配値、スプレッド(custom_feature_enabled が必要)
new_marketマーケットの作成新しいマーケットの詳細(custom_feature_enabled が必要)
market_resolvedマーケットの解決勝利した結果を含む解決の詳細(custom_feature_enabled が必要)
ユーザーチャネルのイベント
イベントタイプトリガー説明
trade注文のマッチ/ステータスの変更メーカー注文とステータス(MATCHED、MINED、CONFIRMED、RETRYING、FAILED)を含む取引の詳細
order注文の発注/更新/キャンセルタイプ(PLACEMENT、UPDATE、CANCELLATION)を含む注文の詳細
購読

接続時に JSON メッセージを送信します。

{
  "auth": { /* L2 auth for user channel */ },
  "markets": ["0x...conditionId"],
  "assets_ids": ["tokenId1", "tokenId2"],
  "type": "market",
  "custom_feature_enabled": true
}

接続後に、追加のアセットを購読/購読解除します。

{
  "assets_ids": ["tokenId3"],
  "markets": [],
  "operation": "subscribe",
  "custom_feature_enabled": true
}

WebSocket の完全ガイド:https://docs.polymarket.com/developers/CLOB/websocket/wss-overview.md WSS 認証:https://docs.polymarket.com/developers/CLOB/websocket/wss-auth.md

RTDS(リアルタイムデータストリーム)
wss://ws-live-data.polymarket.com

暗号資産の価格やコメントフィードを低レイテンシでストリーミングします。マーケットメーカー向けに最適化されています。

スポーツ WebSocket

WebSocket 経由でスポーツの結果をリアルタイムに取得します。


データモデル

イベント → マーケット → トークンの階層
Event (e.g., "Who will win the 2024 election?")
├── Market 1 (e.g., "Will Candidate A win?")
│   ├── Token: Yes (token_id: "abc...")  price: 0.65
│   └── Token: No  (token_id: "def...")  price: 0.35
├── Market 2 (e.g., "Will Candidate B win?")
│   ├── Token: Yes (token_id: "ghi...")  price: 0.30
│   └── Token: No  (token_id: "jkl...")  price: 0.70
└── ...
  • 価格は暗黙の確率(0.00~1.00)です。「Yes」と「No」の価格の合計は約 1 ドルになります。
  • Gamma API の clobTokenIds は、取引に必要な CLOB トークン ID に対応します。
  • outcomes と outcomePrices の配列は 1 対 1 で対応します。
ネガティブリスクイベント

「Yes」として解決できる結果が 1 つだけの複数結果イベントでは、ネガティブリスクアーキテクチャを使用します。どのマーケットの「No」シェアも、他のすべてのマーケットの「Yes」シェア 1 つに変換でき、資本効率を高められます。

  • イベントの negRisk: true は、ネガティブリスクであることを示します。
  • negRiskAugmented: true は、プレースホルダーの結果を後から明確化できることを意味します。

NegRisk の完全なドキュメント:https://docs.polymarket.com/developers/neg-risk/overview.md


よく使われるパターン

アクティブなイベントを取得する
curl -s "https://gamma-api.polymarket.com/events?active=true&closed=false&limit=10" | jq '.[].title'
マーケットを含むイベントの詳細を取得する
curl -s "https://gamma-api.polymarket.com/events?slug=will-bitcoin-reach-100k-by-2025" | jq '.[0] | {title, markets: [.markets[] | {question, outcomePrices, clobTokenIds}]}'
トークンの現在価格を取得する
curl -s "https://clob.polymarket.com/price?token_id=YOUR_TOKEN_ID&side=buy"
# Returns: { "price": "0.65" }
オーダーブックの深さを取得する
curl -s "https://clob.polymarket.com/book?token_id=YOUR_TOKEN_ID" | jq '{bids: .bids[:3], asks: .asks[:3]}'
中間価格を取得する
curl -s "https://clob.polymarket.com/midpoint?token_id=YOUR_TOKEN_ID"
# Returns: { "mid": "0.655" }
マーケットを検索する
curl -s "https://gamma-api.polymarket.com/search?query=bitcoin&limit=5" | jq '.markets[] | {question, slug}'
スポーツマーケットを見つける
# Get all supported sports leagues
curl -s "https://gamma-api.polymarket.com/sports" | jq '.'

# Get NBA events
curl -s "https://gamma-api.polymarket.com/events?series_id=10345&active=true&closed=false" | jq '.[].title'
ユーザーのポジションを取得する(Data API)
curl -s "https://data-api.polymarket.com/positions?user=0xYOUR_ADDRESS" | jq '.'
注文を発注する(TypeScript)
import { ClobClient, Side, OrderType } from "@polymarket/clob-client";
import { Wallet } from "ethers";

const client = new ClobClient(
  "https://clob.polymarket.com", 137, signer, apiCreds, 2, funderAddress
);

const market = await client.getMarket("CONDITION_ID");
const response = await client.createAndPostOrder(
  { tokenID: "TOKEN_ID", price: 0.50, size: 10, side: Side.BUY },
  { tickSize: market.tickSize, negRisk: market.negRisk },
  OrderType.GTC
);
console.log("Order ID:", response.orderID);
注文を発注する(Python)
from py_clob_client.client import ClobClient
from py_clob_client.clob_types import OrderArgs, OrderType
from py_clob_client.order_builder.constants import BUY

market = client.get_market("CONDITION_ID")
response = client.create_and_post_order(
    OrderArgs(token_id="TOKEN_ID", price=0.50, size=10, side=BUY),
    options={"tick_size": market["tickSize"], "neg_risk": market["negRisk"]},
    order_type=OrderType.GTC,
)
print("Order ID:", response["orderID"])

CTF の運用(分割/統合/償還)

Conditional Token Framework を使用すると、USDCe とアウトカムトークンを相互に変換できます。

操作説明使用するタイミング
分割USDCe → Yes トークン 1 枚 + No トークン 1 枚マーケットメイキング用の在庫を作成する
統合Yes トークン 1 枚 + No トークン 1 枚 → USDCeポジションを解消し、担保を回収する
償還勝利したトークン → $1 USDCeマーケットの結果確定後

Builder プログラム

Builder は、Polymarket をアプリに統合するサードパーティの開発者です。このプログラムでは、段階別のレート制限、報酬、収益機会を備えた、許可不要の統合が可能です。

リソースURL
Builder の概要https://docs.polymarket.com/developers/builders/builder-intro.md
Builder プロフィールとキーhttps://docs.polymarket.com/developers/builders/builder-profile.md
Builder のティアhttps://docs.polymarket.com/developers/builders/builder-tiers.md
注文のアトリビューションhttps://docs.polymarket.com/developers/builders/order-attribution.md
Builder メソッドhttps://docs.polymarket.com/developers/CLOB/clients/methods-builder.md
リレイヤークライアント(ガス代不要のトランザクション)https://docs.polymarket.com/developers/builders/relayer-client.md
サンプル(Next.js)https://docs.polymarket.com/developers/builders/examples.md

Builder の認証情報は、ユーザーの認証情報とは別です。Builder の認証情報は注文にタグを付けてアトリビューションを行うために使用しますが、取引を行うには各ユーザーが自身の L2 認証情報を用意する必要があります。


マーケットメイキング

リソースURL
概要https://docs.polymarket.com/developers/market-makers/introduction.md
セットアップhttps://docs.polymarket.com/developers/market-makers/setup.md
取引https://docs.polymarket.com/developers/market-makers/trading.md
在庫管理https://docs.polymarket.com/developers/market-makers/inventory.md
データフィードhttps://docs.polymarket.com/developers/market-makers/data-feeds.md
流動性報酬https://docs.polymarket.com/developers/market-makers/liquidity-rewards.md
メーカーリベートhttps://docs.polymarket.com/developers/market-makers/maker-rebates-program.md

使用上のヒント

  • まずは必ずllms.txtを確認してください: https://docs.polymarket.com/llms.txt に、すべてのエンドポイントとガイドが掲載されています。
  • 秘密鍵をハードコードしないでください — 環境変数または安全な鍵ストレージを使用してください。
  • 価格は確率です(0.00~1.00)。勝利トークンは1ドルのUSDCeと引き換えられます。
  • イベントをクエリする際はactive=true&closed=falseを使用してください。取引可能な進行中の市場だけを取得できます。
  • トークンIDはGammaから取得します — Gamma APIからイベント/市場を取得し、CLOBのクエリと取引にはclobTokenIdsを使用してください。
  • negRiskを正しく設定してください — 複数の結果があるイベントではネガティブリスクを使用します。イベントのnegRiskフィールドを確認し、注文を作成する際に渡してください。
  • 手動署名ではなくSDKを使用してください — L1/L2署名は複雑です(EIP-712 + HMAC-SHA256)。TypeScriptとPythonのクライアントが処理します。
  • アローワンスを設定してください — 注文を出す前に、ファンダーアドレスでExchangeコントラクトへのUSDCeアローワンス(購入時)または条件付きトークンのアローワンス(売却時)を設定する必要があります。
  • RESTとWebSocketを組み合わせてください — 初期状態にはRESTを、リアルタイムの差分にはWebSocketを使用してください。
  • レート制限を守ってください — スロットリングされた場合に備えてバックオフを実装してください。バッチエンドポイント(/books、/prices)を使用すると、リクエスト数を減らせます。
  • 署名タイプは重要です — 独立したウォレットにはタイプ0(EOA)、ほとんどのPolymarket.comアカウントにはタイプ2(Gnosis Safe)を使用してください。タイプが正しくないと認証に失敗します。
  • プロキシウォレットでは、ファンダーと署名者は異なります — ファンダーはプロキシウォレットのアドレス(polymarket.com/settingsで確認可能)であり、秘密鍵に対応するEOAアドレスではありません。
  • 地域制限が適用されます — 取引の前にhttps://docs.polymarket.com/developers/CLOB/geoblock.mdを確認してください。
  • 注文の有効性は継続的に監視されます — 残高、アローワンス、オンチェーンでのキャンセルがリアルタイムで確認されます。不正利用するとブラックリストに登録されます。

エラー処理

標準的なHTTPエラーコードが適用されます。APIは説明的なメッセージを含むJSON形式のエラーボディを返します。

  • スロットリングされたリクエスト(レート制限):リクエストは直ちに拒否されるのではなく、遅延またはキューに追加されます。バックオフを実装してください。
  • 認証エラー:秘密鍵、署名タイプ、ファンダーアドレス、API認証情報が一致していることを確認してください。
  • 残高不足:既存の未決済注文による拘束分も含め、ファンダーアドレスに十分なUSDCeまたは条件付きトークンがあることを確認してください。
  • 注文の拒否:市場ごとの最大注文サイズはbalance - sum(openOrderSize - fillAmount)です。
  • 地域制限:制限対象地域からの取引はブロックされます。

解決

市場は、スマートコントラクトベースのオプティミスティックオラクルであるUMA Optimistic Oracleによって解決されます。解決結果はUMAプロトコルを通じて異議申し立てできます。


オンチェーンリソース

リソースURL
ExchangeコントラクトのソースコードGitHub
ExchangeコントラクトのドキュメントGitHub
セキュリティ監査(Chainsecurity)監査PDF
Negative Risk AdapterPolygonscan
サブグラフの概要https://docs.polymarket.com/developers/subgraph/overview.md
ブロックチェーンデータのリソースhttps://docs.polymarket.com/developers/builders/blockchain-data-resources.md
Polygon上のUSDC0x2791bca1f2de4661ed88a30c99a7a9449aa84174

変更履歴

CLOB、API、UI、モバイルアプリケーションの更新については、Polymarketの変更履歴を確認してください。

コメント