Skip to main content
提交订单后,使用经过身份验证的账户读取来检查订单当前状态、核对未成交订单及由此产生的交易,并取消不再希望挂在订单簿上的流动性。

获取单个订单

按 ID 查询单个订单。适合用于检查已知订单的当前状态,而不必扫描完整的未成交订单列表。
SecureClient 上调用 fetchOrder(),按 ID 获取订单:
该方法返回一个 OpenOrder,其中包含经过规范化的代币、小数和日期值:
响应包含到期时间时会提供 expiresAt;否则省略该字段。
请参阅订单状态,了解返回的 status

列出未成交订单

检索账户中的所有挂单,也可以缩小到某个代币、市场或特定订单 ID。用它来核对本地状态与订单簿上的实际有效订单。
SecureClient 上调用 listOpenOrders(),遍历账户的未成交订单:
传入筛选条件以缩小结果范围。虽然参数名为 market,但它接收市场的条件 ID:
每一页都包含 OpenOrder 项:
请参阅订单状态,了解每个订单的 status

列出账户交易

检索账户已执行的成交记录,而不是仍挂在订单簿上的订单。用它来重建成交历史、计算已实现的头寸规模,或审计实际撮合情况。
SecureClient 上调用 listAccountTrades(),遍历账户的交易:
传入筛选条件以缩小结果范围。虽然参数名为 market,但它接收市场的条件 ID:
每一页都包含 ClobTrade 项:
请参阅交易状态,跟踪每笔交易的 status 直至结算。

列出 Builder 交易

检索归因于某个 Builder 代码、且来自应用所服务账户的已撮合交易。当你需要核对整个 Builder 集成的成交情况或衡量其活动时,请使用此读取,而不是账户交易读取。订单在撮合之前不会出现在这里。
PublicClientSecureClient 上调用 listBuilderTrades(),遍历归因于你的 Builder 代码的交易:
传入筛选条件以缩小结果范围:
每一页都包含 BuilderTrade 项:
请参阅 Builder 计划,了解归因的工作原理。

取消订单

仅按所需范围取消订单。优先使用已知订单 ID;撤回一组报价时使用市场或代币筛选条件;只有在特殊情况下才取消整个账户的订单。当交易所在仅允许取消模式下拒绝新订单时,取消操作仍然可用。对于部分成交的订单,取消操作只会移除其未成交部分。

取消订单 by ID

知道订单 ID 时,可取消单个订单。若要通过一次请求取消一组已知订单,请提交最多 3,000 个 ID 的批次。批次中的重复 ID 会被忽略。
SecureClient 上调用 cancelOrder(),取消单个订单:
调用 cancelOrders(),在一次请求中取消多个已知订单:

取消市场订单

按代币取消可撤回某个结果的订单;按市场取消可撤回该条件下所有结果的订单。必须提供至少一个筛选条件。
SecureClient 上调用 cancelMarketOrders(),并传入代币 ID 或条件 ID:
market 字段接收市场的条件 ID。

取消所有订单

需要移除所有挂单时(例如紧急停机期间),请使用账户级取消。
此操作会取消与经过身份验证的 CLOB API 凭据关联的所有未成交订单。
SecureClient 上调用 cancelAll()

取消结果

取消操作可能只对部分请求的订单成功。重试前请核对结果:其中会标识已取消的订单,并给出每个无法取消的订单的原因。
TypeScript SDK 返回 CancelOrdersResponse
Type
在此示例中,一个订单已取消,另一个订单因已撮合而无法取消:
Example

订单心跳

使用订单心跳,在交易进程停止响应时自动取消挂单。首次心跳被接受后,CLOB 会要求账户持续发送心跳;如果 10 秒内未收到有效心跳,则会取消这些 CLOB API 凭据所拥有的全部未成交订单。取消检查每五秒运行一次,因此最晚可能在超时后五秒才执行取消。
5 秒发送一次心跳。
1

启动心跳

POST /v1/heartbeats 发送空的 heartbeat_id。使用拥有待保护订单的同一组 CLOB API 凭据对请求进行身份验证:
使用 API 身份验证中的签名者地址和 CLOB API 凭据,创建新的 <clob_request_timestamp>,并根据通过网络发送的精确序列化请求体生成 <clob_l2_signature>
保存响应中返回的 ID:
2

继续发送心跳

五秒后,将最新的 heartbeat_id 发回同一路由。每次成功响应都会返回一个新 ID,供下一次心跳使用:
为此请求创建新的 <clob_request_timestamp><clob_l2_signature>,并在上述签名计算中用包含最新 ID 的精确序列化请求体替换 body如果 ID 无效或已过期,CLOB 会返回 400 Bad Request 并提供预期的 ID。使用该 ID 对新请求签名,然后重试:

检查仅允许平仓模式

仅允许平仓模式是针对市场的账户级熔断机制。启用后,账户只能下达减少现有头寸的订单,不能下达新的开仓订单。如果希望快速失败而不是等待订单被拒绝,请在下单前检查此状态。
SecureClient 上调用 fetchClosedOnlyMode()
该方法以布尔值返回账户的仅允许平仓状态:

检查订单计分状态

当订单在提供流动性奖励的市场中处于有效状态,并满足该市场的最低合格规模、最大合格价差和所需有效时长时,订单会获得计分。由于资格会随订单簿变化,请将结果视为某个时间点的检查。
SecureClient 上调用 fetchOrderScoring(),并传入订单 ID:
若要在一次请求中检查多个订单的计分状态,请调用 fetchOrdersScoring() 并传入这些订单的 ID:
响应将每个订单 ID 映射到其计分状态: