- TypeScript
- Python
- API
从市场对象中读取结果代币 ID:
const yesTokenId = market.outcomes.yes.tokenId!;
const noTokenId = market.outcomes.no.tokenId!;
从市场对象中读取结果代币 ID:
if market.outcomes.yes.token_id is None or market.outcomes.no.token_id is None:
raise RuntimeError("Market token IDs not found")
yes_token_id = market.outcomes.yes.token_id
no_token_id = market.outcomes.no.token_id
在市场对象中,结果代币 ID 存储为经过 JSON 编码的数组:解析数组,然后选择要读取的结果:
{
"clobTokenIds": "[\"<yes_token_id>\", \"<no_token_id>\"]"
}
TOKEN_ID="<yes_token_id>"
订单簿
获取某个结果代币当前挂出的买单和卖单。买单按价格升序排列,卖单按价格降序排列,因此最优买价和卖价分别位于对应数组的最后一项。每个响应还包含订单簿状态的hash。将其与上一次响应的哈希比较,即可判断两次读取之间订单簿是否发生变化。
获取订单簿
- TypeScript
- Python
- API
在 返回的
PublicClient 或 SecureClient 上调用 fetchOrderBook(),获取某个结果的订单簿。const book = await client.fetchOrderBook({ tokenId: yesTokenId });
// book: OrderBook
OrderBook 描述各价格档位,以及解读这些档位所需的市场详情:type OrderBookLevel = {
price: DecimalString;
size: DecimalString;
};
type OrderBook = {
conditionId: CtfConditionId;
tokenId: TokenId;
timestamp?: EpochMilliseconds | null;
bids: OrderBookLevel[];
asks: OrderBookLevel[];
minOrderSize: DecimalString;
tickSize: DecimalString;
negRisk: boolean;
lastTradePrice?: DecimalString | null;
hash: OrderBookHash;
};
{
"conditionId": "0x747dc809fb79e1b05be09c42d6179459a58de2ef3e40f02484a4e1260f741f75",
"tokenId": "107505882767731489358349912513945399560393482969656700824895970500493757150417",
"timestamp": 1782753404902,
"bids": [
{ "price": "0.01", "size": "2116131.59" },
{ "price": "0.02", "size": "139963.89" },
{ "price": "0.03", "size": "208169.44" },
"..."
],
"asks": [
{ "price": "0.99", "size": "93442.27" },
{ "price": "0.98", "size": "13229.55" },
{ "price": "0.97", "size": "4338.7" },
"..."
],
"minOrderSize": "5",
"tickSize": "0.01",
"negRisk": false,
"lastTradePrice": "0.090",
"hash": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
}
在 返回的
AsyncPublicClient 或 AsyncSecureClient 上调用 get_order_book(),获取某个结果的订单簿。同步 PublicClient 和 SecureClient 也提供相同方法。book = await client.get_order_book(token_id=yes_token_id)
# book: OrderBook
OrderBook 描述各价格档位,以及解读这些档位所需的市场详情:class OrderBookLevel:
price: Decimal
size: Decimal
class OrderBook:
condition_id: CtfConditionId
token_id: TokenId
timestamp: datetime | None
bids: tuple[OrderBookLevel, ...]
asks: tuple[OrderBookLevel, ...]
min_order_size: Decimal
tick_size: Decimal
neg_risk: bool
last_trade_price: Decimal | None
hash: str
{
"condition_id": "0x747dc809fb79e1b05be09c42d6179459a58de2ef3e40f02484a4e1260f741f75",
"token_id": "107505882767731489358349912513945399560393482969656700824895970500493757150417",
"timestamp": "2026-06-29T17:16:44.902000+00:00",
"bids": [
{ "price": "0.01", "size": "2116131.59" },
{ "price": "0.02", "size": "139963.89" },
{ "price": "0.03", "size": "208169.44" },
"..."
],
"asks": [
{ "price": "0.99", "size": "93442.27" },
{ "price": "0.98", "size": "13229.55" },
{ "price": "0.97", "size": "4338.7" },
"..."
],
"min_order_size": "5",
"tick_size": "0.01",
"neg_risk": false,
"last_trade_price": "0.090",
"hash": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
}
获取某个结果的订单簿:除价格档位外,响应还包含验证订单所需的交易限制:
curl "https://clob.polymarket.com/book?token_id=$TOKEN_ID"
{
"market": "0x747dc809fb79e1b05be09c42d6179459a58de2ef3e40f02484a4e1260f741f75",
"asset_id": "107505882767731489358349912513945399560393482969656700824895970500493757150417",
"timestamp": "1782753357257",
"hash": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
"bids": [
{ "price": "0.01", "size": "2151131.59" },
{ "price": "0.02", "size": "139963.89" },
{ "price": "0.03", "size": "208169.44" },
"..."
],
"asks": [
{ "price": "0.99", "size": "218442.27" },
{ "price": "0.98", "size": "13229.55" },
{ "price": "0.97", "size": "4338.7" },
"..."
],
"min_order_size": "5",
"tick_size": "0.01",
"neg_risk": false,
"last_trade_price": "0.090"
}
获取多个订单簿
批量读取订单簿可在一次请求中返回多个结果当前挂出的买单和卖单。每次请求最多 500 项。
- TypeScript
- Python
- API
在 每一项都采用上文所述的
PublicClient 或 SecureClient 上调用 fetchOrderBooks(),通过一次请求获取多个订单簿。const books = await client.fetchOrderBooks([
{ tokenId: yesTokenId },
{ tokenId: noTokenId },
]);
// books: OrderBook[]
OrderBook 结构:[
{
"conditionId": "0x747dc809fb79e1b05be09c42d6179459a58de2ef3e40f02484a4e1260f741f75",
"bids": [
{ "price": "0.01", "size": "2116131.59" },
{ "price": "0.02", "size": "139963.89" },
{ "price": "0.03", "size": "208169.44" },
"..."
],
"asks": [
{ "price": "0.99", "size": "93442.27" },
{ "price": "0.98", "size": "13229.55" },
{ "price": "0.97", "size": "4338.7" },
"..."
]
},
{
"conditionId": "0x747dc809fb79e1b05be09c42d6179459a58de2ef3e40f02484a4e1260f741f75",
"bids": [
{ "price": "0.01", "size": "93442.27" },
{ "price": "0.02", "size": "13229.55" },
{ "price": "0.03", "size": "4338.7" },
"..."
],
"asks": [
{ "price": "0.99", "size": "2116131.59" },
{ "price": "0.98", "size": "139963.89" },
{ "price": "0.97", "size": "208169.44" },
"..."
]
}
]
在 每一项都采用上文所述的
AsyncPublicClient 或 AsyncSecureClient 上调用 get_order_books(),通过一次请求获取多个订单簿。同步 PublicClient 和 SecureClient 也提供相同方法。books = await client.get_order_books(token_ids=[yes_token_id, no_token_id])
# books: tuple[OrderBook, ...]
OrderBook 结构:[
{
"condition_id": "0x747dc809fb79e1b05be09c42d6179459a58de2ef3e40f02484a4e1260f741f75",
"bids": [
{ "price": "0.01", "size": "2116131.59" },
{ "price": "0.02", "size": "139963.89" },
{ "price": "0.03", "size": "208169.44" },
"..."
],
"asks": [
{ "price": "0.99", "size": "93442.27" },
{ "price": "0.98", "size": "13229.55" },
{ "price": "0.97", "size": "4338.7" },
"..."
]
},
{
"condition_id": "0x747dc809fb79e1b05be09c42d6179459a58de2ef3e40f02484a4e1260f741f75",
"bids": [
{ "price": "0.01", "size": "93442.27" },
{ "price": "0.02", "size": "13229.55" },
{ "price": "0.03", "size": "4338.7" },
"..."
],
"asks": [
{ "price": "0.99", "size": "2116131.59" },
{ "price": "0.98", "size": "139963.89" },
{ "price": "0.97", "size": "208169.44" },
"..."
]
}
]
通过一次请求获取多个订单簿:响应会为每个请求的代币 ID 返回一个订单簿:
curl -X POST "https://clob.polymarket.com/books" \
-H "Content-Type: application/json" \
--data '[{"token_id":"<yes_token_id>"},{"token_id":"<no_token_id>"}]'
[
{
"market": "0x747dc809fb79e1b05be09c42d6179459a58de2ef3e40f02484a4e1260f741f75",
"asset_id": "107505882767731489358349912513945399560393482969656700824895970500493757150417",
"timestamp": "1782753357257",
"hash": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
"bids": [
{ "price": "0.01", "size": "2151131.59" },
{ "price": "0.02", "size": "139963.89" },
{ "price": "0.03", "size": "208169.44" },
"..."
],
"asks": [
{ "price": "0.99", "size": "218442.27" },
{ "price": "0.98", "size": "13229.55" },
{ "price": "0.97", "size": "4338.7" },
"..."
],
"min_order_size": "5",
"tick_size": "0.01",
"neg_risk": false,
"last_trade_price": "0.090"
},
{
"market": "0x747dc809fb79e1b05be09c42d6179459a58de2ef3e40f02484a4e1260f741f75",
"asset_id": "7305630249804085635496399869905769372294302716159034447326228509068694952392",
"timestamp": "1782753357257",
"hash": "f6e5d4c3b2a1f6e5d4c3b2a1f6e5d4c3b2a1f6e5d4c3b2a1f6e5d4c3b2a1f6e5",
"bids": [
{ "price": "0.01", "size": "218442.27" },
{ "price": "0.02", "size": "13229.55" },
{ "price": "0.03", "size": "4338.7" },
"..."
],
"asks": [
{ "price": "0.99", "size": "2151131.59" },
{ "price": "0.98", "size": "139963.89" },
{ "price": "0.97", "size": "208169.44" },
"..."
],
"min_order_size": "5",
"tick_size": "0.01",
"neg_risk": true,
"last_trade_price": "0.910"
}
]
最优市场价格
读取某个结果和方向的最优可成交价格。BUY 返回最低卖价,即买入时需要支付的价格;SELL 返回最高买价,即卖出时可以获得的价格。
获取价格
- TypeScript
- Python
- API
在 该方法以十进制字符串返回价格:
PublicClient 或 SecureClient 上调用 fetchPrice(),获取某一方向的最优价格。对于 BUY,该方法返回最低卖价。import { OrderSide } from "@polymarket/client";
const price = await client.fetchPrice({
tokenId: yesTokenId,
side: OrderSide.BUY,
});
// price: DecimalString
"0.08"
在 该方法以
AsyncPublicClient 或 AsyncSecureClient 上调用 get_price(),获取某一方向的最优价格。对于 BUY,该方法返回最低卖价。同步 PublicClient 和 SecureClient 也提供相同方法。price = await client.get_price(token_id=yes_token_id, side="BUY")
# price: Decimal
Decimal 返回价格:Decimal("0.08")
获取买方可成交的最低卖价:响应包含以十进制字符串表示的价格:
curl "https://clob.polymarket.com/price?token_id=$TOKEN_ID&side=BUY"
{ "price": "0.08" }
获取多个价格
批量读取价格可在一次请求中返回多组“结果与方向”组合的最优市场价格。当同一视图或计算需要多个结果时,请使用此方式。每次请求最多 500 项。
- TypeScript
- Python
- API
在
PublicClient 或 SecureClient 上调用 fetchPrices(),通过一次请求获取多个价格。import { OrderSide } from "@polymarket/client";
const prices = await client.fetchPrices([
{ tokenId: yesTokenId, side: OrderSide.BUY },
{ tokenId: noTokenId, side: OrderSide.BUY },
]);
// prices: Prices (map of tokenId -> side -> price)
Prices 将每个代币 ID 映射到请求的方向和价格:type Prices = Record<TokenId, Partial<Record<OrderSide, DecimalString>>>;
{
"107505882767731489358349912513945399560393482969656700824895970500493757150417": {
"BUY": "0.08"
},
"7305630249804085635496399869905769372294302716159034447326228509068694952392": {
"BUY": "0.91"
}
}
在 结果将每个代币 ID 映射到请求的方向和价格:
AsyncPublicClient 或 AsyncSecureClient 上调用 get_prices(),通过一次请求获取多个价格。同步 PublicClient 和 SecureClient 也提供相同方法。from polymarket import PriceRequest
prices = await client.get_prices(
requests=[
PriceRequest(token_id=yes_token_id, side="BUY"),
PriceRequest(token_id=no_token_id, side="BUY"),
],
)
# prices: dict[TokenId, dict[OrderSide, Decimal]]
{
"107505882767731489358349912513945399560393482969656700824895970500493757150417": {
"BUY": "0.08"
},
"7305630249804085635496399869905769372294302716159034447326228509068694952392": {
"BUY": "0.91"
}
}
通过一次请求获取多个价格:响应将每个代币 ID 映射到请求的方向和价格:
curl -X POST "https://clob.polymarket.com/prices" \
-H "Content-Type: application/json" \
--data '[{"token_id":"<yes_token_id>","side":"BUY"},{"token_id":"<no_token_id>","side":"BUY"}]'
{
"107505882767731489358349912513945399560393482969656700824895970500493757150417": {
"BUY": 0.08
},
"7305630249804085635496399869905769372294302716159034447326228509068694952392": {
"BUY": 0.91
}
}
中间价
中间价是最优买价与最优卖价的平均值,用作订单簿买卖双方之间的参考价格。获取中间价
- TypeScript
- Python
- API
在 该方法以十进制字符串返回中间价:
PublicClient 或 SecureClient 上调用 fetchMidpoint(),获取中间价。const midpoint = await client.fetchMidpoint({ tokenId: yesTokenId });
// midpoint: DecimalString
"0.085"
在 该方法以
AsyncPublicClient 或 AsyncSecureClient 上调用 get_midpoint(),获取中间价。同步 PublicClient 和 SecureClient 也提供相同方法。midpoint = await client.get_midpoint(token_id=yes_token_id)
# midpoint: Decimal
Decimal 返回中间价:Decimal("0.085")
获取中间价:响应包含以十进制字符串表示的中间价:
curl "https://clob.polymarket.com/midpoint?token_id=$TOKEN_ID"
{ "mid": "0.085" }
获取多个中间价
通过一次请求获取多个结果的中间价。每次请求最多 500 项。
- TypeScript
- Python
- API
在
PublicClient 或 SecureClient 上调用 fetchMidpoints(),获取多个中间价。const midpoints = await client.fetchMidpoints([
{ tokenId: yesTokenId },
{ tokenId: noTokenId },
]);
// midpoints: Midpoints
Midpoints 将每个代币 ID 映射到其中间价:type Midpoints = Record<TokenId, DecimalString>;
{
"107505882767731489358349912513945399560393482969656700824895970500493757150417": "0.085",
"7305630249804085635496399869905769372294302716159034447326228509068694952392": "0.915"
}
在 结果将每个代币 ID 映射到其中间价:
AsyncPublicClient 或 AsyncSecureClient 上调用 get_midpoints(),获取多个中间价。同步 PublicClient 和 SecureClient 也提供相同方法。midpoints = await client.get_midpoints(token_ids=[yes_token_id, no_token_id])
# midpoints: dict[TokenId, Decimal]
{
"107505882767731489358349912513945399560393482969656700824895970500493757150417": "0.085",
"7305630249804085635496399869905769372294302716159034447326228509068694952392": "0.915"
}
通过一次请求获取多个中间价:响应将每个代币 ID 映射到其中间价:
curl -X POST "https://clob.polymarket.com/midpoints" \
-H "Content-Type: application/json" \
--data '[{"token_id":"<yes_token_id>"},{"token_id":"<no_token_id>"}]'
{
"107505882767731489358349912513945399560393482969656700824895970500493757150417": "0.085",
"7305630249804085635496399869905769372294302716159034447326228509068694952392": "0.915"
}
买卖价差
买卖价差是最优卖价与最优买价之间的差值。价差越窄,表示订单簿买卖双方的价格越接近。获取买卖价差
- TypeScript
- Python
- API
在 该方法以十进制字符串返回买卖价差:
PublicClient 或 SecureClient 上调用 fetchSpread(),获取买卖价差。const spread = await client.fetchSpread({ tokenId: yesTokenId });
// spread: DecimalString
"0.01"
在 该方法以
AsyncPublicClient 或 AsyncSecureClient 上调用 get_spread(),获取买卖价差。同步 PublicClient 和 SecureClient 也提供相同方法。spread = await client.get_spread(token_id=yes_token_id)
# spread: Decimal
Decimal 返回买卖价差:Decimal("0.01")
获取买卖价差:响应包含以十进制字符串表示的买卖价差:
curl "https://clob.polymarket.com/spread?token_id=$TOKEN_ID"
{ "spread": "0.01" }
获取多个买卖价差
批量读取价差可在一次请求中返回多个结果的买卖价差。每次请求最多 500 项。
- TypeScript
- Python
- API
在 结果将每个代币 ID 映射到其买卖价差:
PublicClient 或 SecureClient 上调用 fetchSpreads(),通过一次请求获取多个买卖价差。const spreads = await client.fetchSpreads([
{ tokenId: yesTokenId },
{ tokenId: noTokenId },
]);
// spreads: Spreads
type Spreads = Record<TokenId, DecimalString>;
{
"107505882767731489358349912513945399560393482969656700824895970500493757150417": "0.01",
"7305630249804085635496399869905769372294302716159034447326228509068694952392": "0.02"
}
在 结果将每个代币 ID 映射到其买卖价差:
AsyncPublicClient 或 AsyncSecureClient 上调用 get_spreads(),通过一次请求获取多个买卖价差。同步 PublicClient 和 SecureClient 也提供相同方法。spreads = await client.get_spreads(token_ids=[yes_token_id, no_token_id])
# spreads: dict[TokenId, Decimal]
{
"107505882767731489358349912513945399560393482969656700824895970500493757150417": "0.01",
"7305630249804085635496399869905769372294302716159034447326228509068694952392": "0.02"
}
通过一次请求获取多个买卖价差:响应将每个代币 ID 映射到其买卖价差:
curl -X POST "https://clob.polymarket.com/spreads" \
-H "Content-Type: application/json" \
--data '[{"token_id":"<yes_token_id>"},{"token_id":"<no_token_id>"}]'
{
"107505882767731489358349912513945399560393482969656700824895970500493757150417": "0.01",
"7305630249804085635496399869905769372294302716159034447326228509068694952392": "0.02"
}
最新成交价
最新成交价记录某个结果最近一次撮合成交的信息,包括成交价格和方向。获取最新成交价
- TypeScript
- Python
- API
在
PublicClient 或 SecureClient 上调用 fetchLastTradePrice(),获取最新成交记录。const lastTrade = await client.fetchLastTradePrice({ tokenId: yesTokenId });
// lastTrade: LastTradePrice
LastTradePrice 将成交价格与订单方向组合在一起:type LastTradePrice = {
price: DecimalString;
side: OrderSide;
};
{
"price": "0.08",
"side": "SELL"
}
在
AsyncPublicClient 或 AsyncSecureClient 上调用 get_last_trade_price(),获取最新成交记录。同步 PublicClient 和 SecureClient 也提供相同方法。last_trade = await client.get_last_trade_price(token_id=yes_token_id)
# last_trade: LastTradePrice
LastTradePrice 将成交价格与订单方向组合在一起:class LastTradePrice:
price: Decimal
side: OrderSide
{
"price": "0.08",
"side": "SELL"
}
获取最新成交记录:响应包含成交价格和方向:
curl "https://clob.polymarket.com/last-trade-price?token_id=$TOKEN_ID"
{
"price": "0.08",
"side": "SELL"
}
获取多个最新成交价
通过一次请求获取多个结果最近一次撮合成交的信息。每次请求最多 500 项。
- TypeScript
- Python
- API
在 每个
PublicClient 或 SecureClient 上调用 fetchLastTradePrices(),获取多条最新成交记录。const lastTrades = await client.fetchLastTradePrices([
{ tokenId: yesTokenId },
{ tokenId: noTokenId },
]);
// lastTrades: LastTradePriceForToken[]
LastTradePriceForToken 都标识相应结果及其成交价格和方向:type LastTradePriceForToken = {
tokenId: TokenId;
price: DecimalString;
side: OrderSide;
};
[
{
"tokenId": "107505882767731489358349912513945399560393482969656700824895970500493757150417",
"price": "0.08",
"side": "SELL"
},
{
"tokenId": "7305630249804085635496399869905769372294302716159034447326228509068694952392",
"price": "0.91",
"side": "BUY"
}
]
在 每个
AsyncPublicClient 或 AsyncSecureClient 上调用 get_last_trade_prices(),获取多条最新成交记录。同步 PublicClient 和 SecureClient 也提供相同方法。last_trades = await client.get_last_trade_prices(
token_ids=[yes_token_id, no_token_id]
)
# last_trades: tuple[LastTradePriceForToken, ...]
LastTradePriceForToken 都标识相应结果及其成交价格和方向:class LastTradePriceForToken:
token_id: TokenId
price: Decimal
side: OrderSide
[
{
"token_id": "107505882767731489358349912513945399560393482969656700824895970500493757150417",
"price": "0.08",
"side": "SELL"
},
{
"token_id": "7305630249804085635496399869905769372294302716159034447326228509068694952392",
"price": "0.91",
"side": "BUY"
}
]
通过一次请求获取多个最新成交价:响应会标识每个结果及其成交价格和方向:
curl -X POST "https://clob.polymarket.com/last-trades-prices" \
-H "Content-Type: application/json" \
--data '[{"token_id":"<yes_token_id>"},{"token_id":"<no_token_id>"}]'
[
{
"token_id": "107505882767731489358349912513945399560393482969656700824895970500493757150417",
"price": "0.08",
"side": "SELL"
},
{
"token_id": "7305630249804085635496399869905769372294302716159034447326228509068694952392",
"price": "0.91",
"side": "BUY"
}
]
价格历史
价格历史是某个结果的一组观测价格时间序列。你可以获取相对时间窗口或绝对时间范围,但不能同时使用这两种形式。还可以控制返回观测值之间的间隔;时间范围较长时必须设置采样间隔。| 范围设置 | 行为 |
|---|---|
| 相对时间窗口 | 获取最近 1h、6h、1d、1w 的数据,或使用 max 获取所有可用数据。 |
| 绝对时间范围 | 获取以 Unix 秒表示的开始时间与结束时间之间的观测值。 |
| 采样间隔 | 以分钟为单位设置观测值之间的间隔。 |
- TypeScript
- Python
- API
在 每个
PublicClient 或 SecureClient 上调用 fetchPriceHistory(),获取历史价格。设置 interval 可指定相对时间窗口;设置 startTs 和 endTs 可指定绝对时间范围。使用 fidelity 以分钟为单位设置采样间隔。const history = await client.fetchPriceHistory({
tokenId: yesTokenId,
interval: "1d",
fidelity: 60,
});
// history: PriceHistoryPoint[]
const history = await client.fetchPriceHistory({
tokenId: yesTokenId,
startTs: 1782666000,
endTs: 1782676800,
fidelity: 60,
});
// history: PriceHistoryPoint[]
PriceHistoryPoint 都包含时间戳及其观测价格:type PriceHistoryPoint = {
t: number;
p: number;
};
[
{ "t": 1782666007, "p": 0.085 },
{ "t": 1782669606, "p": 0.085 },
{ "t": 1782673206, "p": 0.085 },
"..."
]
在 每个
AsyncPublicClient 或 AsyncSecureClient 上调用 get_price_history(),获取历史价格。设置 interval 可指定相对时间窗口;设置 start_ts 和 end_ts 可指定绝对时间范围。使用 fidelity 以分钟为单位设置采样间隔。同步 PublicClient 和 SecureClient 也提供相同方法。history = await client.get_price_history(
token_id=yes_token_id,
interval="1d",
fidelity=60,
)
# history: tuple[PriceHistoryPoint, ...]
history = await client.get_price_history(
token_id=yes_token_id,
start_ts=1782666000,
end_ts=1782676800,
fidelity=60,
)
# history: tuple[PriceHistoryPoint, ...]
PriceHistoryPoint 都包含时间戳及其观测价格:class PriceHistoryPoint:
t: int
p: float
[
{ "t": 1782666007, "p": 0.085 },
{ "t": 1782669606, "p": 0.085 },
{ "t": 1782673206, "p": 0.085 },
"..."
]
设置 响应的
interval 可指定相对时间窗口;设置 startTs 和 endTs 可指定绝对时间范围。使用 fidelity 以分钟为单位设置采样间隔。curl "https://clob.polymarket.com/prices-history?market=$TOKEN_ID&interval=1d&fidelity=60"
curl "https://clob.polymarket.com/prices-history?market=$TOKEN_ID&startTs=1782666000&endTs=1782676800&fidelity=60"
history 字段包含价格点:{
"history": [
{ "t": 1782666007, "p": 0.085 },
{ "t": 1782669606, "p": 0.085 },
{ "t": 1782673206, "p": 0.085 },
"..."
]
}