如果你更喜欢直接使用 REST API,则需要自行管理订单签名。有关构造所需请求头的详细信息,请参阅身份验证。
订单类型
- FOK 和 FAK 是市价单类型——它们立即与挂单流动性成交。
- 买入: 指定你想要花费的美元金额
- 卖出: 指定你想要出售的份额数量
- GTC 和 GTD 是限价单类型——它们以你指定的价格挂在盘口。
GTD 过期时间: 作为安全阈值,订单会在其设定的过期时间前一分钟过期,且过期时间必须至少在三分钟之后。如果你需要 5 分钟的有效生命周期,正确的过期值是
现在 + 1 分钟 + 5 分钟。Post-Only 订单
Post-only 订单是只会挂在盘口而不会在进入时立即匹配的限价单。- 如果 post-only 订单会穿过价差(即可立即成交),它将被拒绝而不是执行。
- Post-only 不能与市价单类型(FOK 或 FAK)组合使用。如果市价单类型发送
postOnly = true,订单将被拒绝。 - Post-only 只能与 GTC 和 GTD 订单类型一起使用。
最小价格变动单位
市场有不同的最小价格增量(最小价格变动单位)。你的订单价格必须符合市场的最小价格变动单位,否则订单将被拒绝。0.0025(0.25¢)最小价格变动单位仅适用于世界杯 晋级(to advance)、胜负(moneyline)、让分(spreads) 和 总分(totals) 市场。报价前请始终查询市场的最小价格变动单位,不要假设某个固定值。Negative Risk
多结果事件(例如”谁会赢得选举?”有 3 个以上候选人)使用不同的交易合约,称为 Neg Risk CTF Exchange。在这些市场下单时,你必须在订单选项中传递negRisk: true。
neg_risk 字段检查市场是否使用 negative risk:
授权额度
在下单之前,你的资金地址必须已批准 Exchange 合约使用相关代币:- 买入: 资金方必须设置大于或等于支出金额的 pUSD 授权额度。
- 卖出: 资金方必须设置大于或等于出售金额的条件代币授权额度。
有效性检查
系统会持续监控订单以确保它们保持有效。这包括跟踪:- 底层余额
- 授权额度
订单查询
所有查询端点都需要 L2 身份验证。Builder 身份验证的客户端也可以使用相同的方法查询归属于其 builder 账户的订单。获取单个订单
通过订单 ID 检索特定订单的详细信息:获取未成交订单
检索你的未成交订单,可选择按市场或资产筛选:OpenOrder 对象
每个返回的订单包含以下字段:交易历史
当订单被匹配时,会创建一笔交易。交易经历以下状态:Trade 对象
每笔交易包含以下字段:MakerOrder 字段
maker_orders 数组中的每个条目包含:
使用 SDK 检索你的交易:
心跳
心跳端点维护会话存活以确保订单安全。如果在 10 秒内(最多有 5 秒缓冲)未收到有效心跳,你的所有未成交订单将被取消。- 在每个请求中,包含你收到的最新
heartbeat_id。对于你的第一个请求,使用空字符串。 - 如果你发送无效或过期的
heartbeat_id,服务器会响应400 Bad Request并在响应中提供正确的heartbeat_id。更新你的客户端并重试。
订单评分
检查你的挂单是否符合 maker 返佣评分条件:链上订单信息
当交易在链上结算时,Exchange 合约会发出OrderFilled 事件,包含以下字段:
错误消息
下单时,如果无法下单,响应可能包含errorMsg。如果 success 为 false,则发生服务器端错误:
插入状态
当订单成功下单时,响应包含status 字段:
安全性
Polymarket 的 Exchange 合约已由 Chainsecurity 审计(查看审计报告)。 运营商的权限仅限于订单匹配和确保正确排序。运营商无法设置价格或执行未经授权的交易。下一步
创建订单
构建、签名和提交订单
取消订单
取消单个、多个或所有订单