Skip to main content
Polymarket 的每个结果都对应一种在 CLOB 上交易的代币。代币价格反映交易者愿意为该结果支付的金额,订单簿则显示当前挂出的买单和卖单。 以下示例假设你已经有一个市场对象,可以从中读取结果代币 ID。要查找或获取市场,请参阅 发现市场
从市场对象中读取结果代币 ID:

订单簿

获取某个结果代币当前挂出的买单和卖单。买单按价格升序排列,卖单按价格降序排列,因此最优买价和卖价分别位于对应数组的最后一项。每个响应还包含订单簿状态的 hash。将其与上一次响应的哈希比较,即可判断两次读取之间订单簿是否发生变化。

获取订单簿

PublicClientSecureClient 上调用 fetchOrderBook(),获取某个结果的订单簿。
返回的 OrderBook 描述各价格档位,以及解读这些档位所需的市场详情:

获取多个订单簿

批量读取订单簿可在一次请求中返回多个结果当前挂出的买单和卖单。
每次请求最多 500 项。
PublicClientSecureClient 上调用 fetchOrderBooks(),通过一次请求获取多个订单簿。
每一项都采用上文所述的 OrderBook 结构:

最优市场价格

读取某个结果和方向的最优可成交价格。BUY 返回最低卖价,即买入时需要支付的价格;SELL 返回最高买价,即卖出时可以获得的价格。

获取价格

PublicClientSecureClient 上调用 fetchPrice(),获取某一方向的最优价格。对于 BUY,该方法返回最低卖价。
该方法以十进制字符串返回价格:

获取多个价格

批量读取价格可在一次请求中返回多组“结果与方向”组合的最优市场价格。当同一视图或计算需要多个结果时,请使用此方式。
每次请求最多 500 项。
PublicClientSecureClient 上调用 fetchPrices(),通过一次请求获取多个价格。
Prices 将每个代币 ID 映射到请求的方向和价格:

中间价

中间价是最优买价与最优卖价的平均值,用作订单簿买卖双方之间的参考价格。

获取中间价

PublicClientSecureClient 上调用 fetchMidpoint(),获取中间价。
该方法以十进制字符串返回中间价:

获取多个中间价

通过一次请求获取多个结果的中间价。
每次请求最多 500 项。
PublicClientSecureClient 上调用 fetchMidpoints(),获取多个中间价。
Midpoints 将每个代币 ID 映射到其中间价:

买卖价差

买卖价差是最优卖价与最优买价之间的差值。价差越窄,表示订单簿买卖双方的价格越接近。

获取买卖价差

PublicClientSecureClient 上调用 fetchSpread(),获取买卖价差。
该方法以十进制字符串返回买卖价差:

获取多个买卖价差

批量读取价差可在一次请求中返回多个结果的买卖价差。
每次请求最多 500 项。
PublicClientSecureClient 上调用 fetchSpreads(),通过一次请求获取多个买卖价差。
结果将每个代币 ID 映射到其买卖价差:

最新成交价

最新成交价记录某个结果最近一次撮合成交的信息,包括成交价格和方向。

获取最新成交价

PublicClientSecureClient 上调用 fetchLastTradePrice(),获取最新成交记录。
LastTradePrice 将成交价格与订单方向组合在一起:

获取多个最新成交价

通过一次请求获取多个结果最近一次撮合成交的信息。
每次请求最多 500 项。
PublicClientSecureClient 上调用 fetchLastTradePrices(),获取多条最新成交记录。
每个 LastTradePriceForToken 都标识相应结果及其成交价格和方向:

价格历史

查看某个结果代币在所选时间段内的历史价格。
PublicClientSecureClient 上调用 listPriceHistory()。选择相对 时间窗口、指定时间范围或某个时间点。
每个 PriceHistoryPoint 携带以毫秒计的观测时间、以十进制字符串表示的价格, 以及它的观测粒度:
数据点按时间升序返回。末尾的真实观测可能不在桶边界上。请读取 resolutionSeconds,不要假设点间距固定。
  • 显式 start/end 范围最多 15 天。start 包含边界,end 不包含边界。
  • PriceHistoryInterval.Max 默认以 12 小时粒度返回完整历史。显式设置 bucketSeconds 为 10800 或 43200 也可获取完整历史。更细的粒度只返回最近 30 天。
  • bucketSeconds 接受 60 到 86400 秒。max/1m 的下限为 600,1w 的下限为 300。省略时,服务端按时间范围与数据保留期选择粒度。
  • 1 分钟数据保留 7 天,5 分钟保留 60 天,30 分钟保留 90 天。3 小时与 12 小时数据永久保留。显式请求已过保留期的粒度会返回空页。