Polymarket APIガイド 2026年:CLOB APIでの取引方法
2026年のPolymarket CLOB APIを使ったプログラマティック取引の完全ガイド:認証、注文の発注、市場データへのアクセス、Python・TypeScript SDK、トレーディングボットの構築方法をコード例付きで解説。
Polymarket APIにより、開発者やアルゴリズムトレーダーは予測市場をプログラムで操作できます。トレーディングボットの構築、市場データの分析、取引戦略の自動化など、APIはリアルタイムの市場情報へのアクセスと取引実行のための強力なツールを提供します。
APIで取引を始める準備はできましたか?
Polymarketアカウントを作成Polymarket APIとは?
Polymarket APIは中央指値オーダーブック(CLOB)APIであり、以下の操作が可能です。
- プログラムで取引を実行 — ウェブインターフェースを使わずにシェアを売買
- リアルタイムの市場データにアクセス — 価格、流動性、オーダーブック情報を取得
- 注文を管理 — 注文の作成、キャンセル、未決注文の監視
- 取引履歴を取得 — 取引活動とパフォーマンスデータをダウンロード
- 取引アルゴリズムを構築 — アービトラージ、マーケットメイキング、トレンドフォローなどの戦略を自動化
Polymarketがオーダーブックモデルに移行して以来、スピード、精度、自動化を求めるシリアスなトレーダーにとってAPIは不可欠なものとなっています。
APIドキュメントの場所
公式のPolymarket APIドキュメントは以下で公開されています。
docs.polymarket.com/developers/CLOB
ドキュメントの内容:
- クイックスタートガイド — 数分で使い始められる
- 認証 — APIクレデンシャルの取得と使用方法
- APIリファレンス — 完全なエンドポイントドキュメント
- コード例 — 複数の言語でのサンプル実装
- SDKドキュメント — クライアントライブラリのガイド
公式SDK
Polymarketは、API統合を簡素化するための公式SDKを提供しています。
- TypeScript SDK:github.com/Polymarket/clob-client
- Python SDK:github.com/Polymarket/py-clob-client
これらのSDKは認証、リクエストのフォーマット、エラー処理を行い、取引アプリケーションの構築を容易にします。
はじめに:認証
APIで取引するには、リクエストの認証が必要です。手順は以下の通りです。
ステップ1:Polymarketアカウントの作成
まず、Polymarketアカウントが必要です。まだお持ちでない場合:
- polymarket.comにアクセス
- メールまたはウォレット接続でサインアップ
- 必要な認証手続きを完了
ステップ2:APIクレデンシャルの生成
- Polymarketアカウントにログイン
- 設定 → API(またはDeveloper Settings)に移動
- 新しいAPIキーを生成
- クレデンシャルを安全に保存 — 以下が必要です:
- APIキー
- APIシークレット(一度しか表示されません)
ステップ3:リクエストの認証
APIは署名ベースの認証を使用します。各リクエストには以下が必要です:
- APIキー
- APIシークレットを使って生成した暗号化署名
- リプレイ攻撃を防止するためのタイムスタンプ
公式SDKはこれを自動的に処理しますが、ドキュメントを参照して手動で実装することも可能です。
APIを使った取引方法
1. 市場データの取得
取引を行う前に、市場情報を取得しましょう。
例:市場の詳細を取得
// TypeScript SDKを使用
import { ClobClient } from '@polymarket/clob-client';
const client = new ClobClient({
apiKey: 'your-api-key',
apiSecret: 'your-api-secret',
});
// 市場情報を取得
const market = await client.getMarket('0x1234...'); // 市場ID
console.log(market);
取得できる情報:
- Yes/Noの現在価格
- オーダーブックの深さ(ビッドとアスク)
- 最近の取引
- 市場の流動性
- 解決基準
2. 買い注文の発注
プログラムでシェアを購入するには:
例:シェアの購入
// 成行買い注文を発注
const order = await client.createOrder({
market: '0x1234...', // 市場ID
side: 'BUY', // または 'SELL'
type: 'MARKET', // または 'LIMIT'
size: '100', // シェア数
price: '0.60', // 1シェアあたりの価格(LIMIT注文の場合は必須)
});
console.log('注文が発注されました:', order);
注文タイプ:
- MARKET:最良の利用可能な価格で即時実行
- LIMIT:価格が目標に達した場合にのみ実行
3. 指値注文の発注
指値注文では特定の価格を設定できます:
// 指値買い注文を発注
const limitOrder = await client.createOrder({
market: '0x1234...',
side: 'BUY',
type: 'LIMIT',
size: '500', // 500シェア
price: '0.55', // 55セント以下でのみ購入
});
4. 注文のキャンセル
未決注文をキャンセルするには:
// 注文IDでキャンセル
await client.cancelOrder('order-id-123');
5. 注文状況の確認
未決注文を監視します:
// すべての未決注文を取得
const openOrders = await client.getOpenOrders();
// 特定の注文を取得
const order = await client.getOrder('order-id-123');
6. 取引履歴の取得
取引活動をダウンロードします:
// 取引履歴を取得
const trades = await client.getTrades({
market: '0x1234...', // オプション:市場でフィルタ
limit: 100, // 取得する取引数
});
APIを活用した一般的な取引戦略
戦略1:アービトラージボット
複数の市場の価格差を監視します:
// 擬似コード例
async function arbitrageBot() {
const markets = await client.getMarkets();
for (const market of markets) {
const price = market.currentPrice;
// アービトラージ機会のチェック
if (price < 0.50) {
// 割安なら購入
await client.createOrder({
market: market.id,
side: 'BUY',
type: 'MARKET',
size: '100',
});
}
}
}
戦略2:マーケットメイキング
両サイドに注文を出して流動性を提供します:
// 現在の価格の周辺に買い注文と売り注文を配置
const currentPrice = 0.60;
// 0.59で買い注文
await client.createOrder({
market: '0x1234...',
side: 'BUY',
type: 'LIMIT',
size: '100',
price: '0.59',
});
// 0.61で売り注文
await client.createOrder({
market: '0x1234...',
side: 'SELL',
type: 'LIMIT',
size: '100',
price: '0.61',
});
戦略3:自動ポジション管理
ストップロスと利益確定を設定します:
// ポジションを監視し、条件に基づいて取引を実行
async function managePositions() {
const positions = await client.getPositions();
for (const position of positions) {
if (position.pnl < -0.10) {
// ストップロス:10%下落でポジション解消
await client.createOrder({
market: position.market,
side: 'SELL',
type: 'MARKET',
size: position.size,
});
}
}
}
APIレート制限とベストプラクティス
レート制限
Polymarket APIには不正使用を防止するためのレート制限があります:
- パブリックエンドポイント:通常1分間に60リクエスト
- 取引エンドポイント:アカウントのティアにより変動
- WebSocket接続:無制限(リアルタイムデータ用)
ヒント:
- ポーリングの代わりにリアルタイムデータにはWebSocket接続を使用
- リトライには指数バックオフを実装
- 可能な場合は市場データをキャッシュ
- 該当する場合はリクエストをバッチ処理
ベストプラクティス
- エラー処理:ネットワークの問題、無効な注文、APIエラーに対して適切なエラー処理を必ず実装
- テスト:開発時はテストネットまたは少額で行う
- セキュリティ:APIシークレットをクライアントサイドのコードやパブリックリポジトリに公開しない
- モニタリング:デバッグのためにすべてのAPI呼び出しとレスポンスをログに記録
- リスク管理:コードにポジション制限とストップロスを実装
一般的なユースケース
- アルゴリズム取引:複雑な戦略を自動的に実行
- アービトラージ:市場間の価格差を見つけて活用
- 市場分析:市場トレンドとセンチメントを分析するツールを構築
- ポートフォリオ管理:リバランスとリスク管理の自動化
- データ収集:研究やバックテスト用のヒストリカルデータを収集
トラブルシューティング
認証エラー
- APIキーとシークレットが正しいか確認
- システムクロックが同期されているか確認(タイムスタンプが重要)
- 正しいAPIエンドポイントを使用しているか確認
注文の拒否
- 残高が十分にあるか確認
- 市場がまだアクティブか確認
- 注文パラメーター(サイズ、価格など)が有効か確認
レート制限エラー
- リクエストのスロットリングを実装
- リアルタイム更新にはWebSocketを使用
- 利用可能であればAPIティアのアップグレードを検討
次のステップ
- ドキュメントを読む:docs.polymarket.com/developers/CLOBで完全なAPIリファレンスを確認
- SDKをダウンロード:GitHubリポジトリからTypeScriptまたはPython SDKを選択
- 小さく始める:取引を行う前に、シンプルな市場データクエリから開始
- 十分にテスト:少額で戦略をテスト
- コミュニティに参加:PolymarketのDiscordやフォーラムで他のAPIユーザーとつながる
Polymarket APIは、自動取引と市場分析のための強力な可能性を開きます。適切な認証、エラー処理、リスク管理があれば、24時間365日稼働する高度な取引システムを構築できます。