Documentation Index
Fetch the complete documentation index at: https://docs.polymarket.com/llms.txt
Use this file to discover all available pages before exploring further.
几分钟内上手 Polymarket API——获取市场数据并下达你的第一笔订单。
获取市场数据
所有数据接口都是公开的,无需 API 密钥或身份验证。使用 markets 接口查找市场并获取其 token ID:curl "https://gamma-api.polymarket.com/markets?active=true&closed=false&limit=1"
const response = await fetch(
"https://gamma-api.polymarket.com/markets?active=true&closed=false&limit=1"
);
const markets = await response.json();
const market = markets[0];
console.log(market.question);
console.log(market.clobTokenIds);
// ["123456...", "789012..."] — [Yes token ID, No token ID]
import requests
response = requests.get(
"https://gamma-api.polymarket.com/markets",
params={"active": "true", "closed": "false", "limit": 1}
)
markets = response.json()
market = markets[0]
print(market["question"])
print(market["clobTokenIds"])
# ["123456...", "789012..."] — [Yes token ID, No token ID]
从 clobTokenIds 中保存一个 token ID——下单时需要用到。第一个 ID 是 Yes 代币,第二个是 No 代币。更多获取方式(如按 slug、标签或事件获取)请参阅获取市场数据。 安装 SDK
npm install @polymarket/clob-client-v2 viem
配置客户端
派生 API 凭证并初始化交易客户端:import { ClobClient } from "@polymarket/clob-client-v2";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
const HOST = "https://clob.polymarket.com";
const CHAIN_ID = 137; // Polygon mainnet
const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`);
const signer = createWalletClient({ account, transport: http() });
// Derive API credentials (L1 → L2 auth)
const tempClient = new ClobClient({ host: HOST, chain: CHAIN_ID, signer });
const apiCreds = await tempClient.createOrDeriveApiKey();
// Initialize trading client
const client = new ClobClient({
host: HOST,
chain: CHAIN_ID,
signer,
creds: apiCreds,
signatureType: 0, // Signature type: 0 = EOA
funderAddress: account.address, // Funder address
});
from py_clob_client_v2 import ClobClient
import os
host = "https://clob.polymarket.com"
chain = 137 # Polygon mainnet
private_key = os.getenv("PRIVATE_KEY")
# Derive API credentials (L1 → L2 auth)
temp_client = ClobClient(host, key=private_key, chain_id=chain)
api_creds = temp_client.create_or_derive_api_key()
# Initialize trading client
client = ClobClient(
host,
key=private_key,
chain_id=chain,
creds=api_creds,
signature_type=0, # Signature type: 0 = EOA
funder="YOUR_WALLET_ADDRESS", # Funder address
)
本示例使用 EOA 钱包(签名类型 0),由你的钱包自行支付 gas 费。代理钱包用户(类型 1 和 2)可以使用 Polymarket 的 gasless
relayer。详情请参阅身份验证中关于签名类型的说明。 交易前,你的 funder 地址需要持有 pUSD(用于购买结果代币)和 POL(用于支付 gas 费,仅 EOA 类型 0 需要)。
下达订单
使用第 1 步获取的 token_id 下达限价单:import { Side, OrderType } from "@polymarket/clob-client-v2";
// Fetch market details to get tick size and neg risk
const market = await client.getMarket("YOUR_CONDITION_ID");
const tickSize = String(market.minimum_tick_size); // e.g., "0.01"
const negRisk = market.neg_risk; // e.g., false
const response = await client.createAndPostOrder(
{
tokenID: "YOUR_TOKEN_ID", // From Step 1
price: 0.50,
size: 10,
side: Side.BUY,
},
{
tickSize,
negRisk,
},
);
console.log("Order ID:", response.orderID);
console.log("Status:", response.status);
from py_clob_client_v2 import OrderArgs, OrderType, PartialCreateOrderOptions
from py_clob_client_v2.order_builder.constants import BUY
# Fetch market details to get tick size and neg risk
market = client.get_market("YOUR_CONDITION_ID")
tick_size = str(market["minimum_tick_size"]) # e.g., "0.01"
neg_risk = market["neg_risk"] # e.g., False
response = client.create_and_post_order(
OrderArgs(
token_id="YOUR_TOKEN_ID", # From Step 1
price=0.50,
size=10,
side=BUY,
),
options=PartialCreateOrderOptions(tick_size=tick_size, neg_risk=neg_risk),
order_type=OrderType.GTC,
)
print("Order ID:", response["orderID"])
print("Status:", response["status"])
下一步
身份验证
了解 L1/L2 认证、签名类型和 API 凭证。
交易快速入门
包含订单管理和问题排查的详细交易指南。
获取市场数据
按 slug、标签或分类查找市场的策略。