Skip to main content
POST
Place orders
提交一笔或多笔订单。该接口接受批量请求——每笔订单的结果在 data.createdSessions 中返回,并与输入的 orders 数组按位置一一对应。每条结果要么是成功的 { matched, unmatched },要么是失败的 { error, errorType }。

请求

POST /session/v3/place

订单字段

订单类型

limit

默认订单类型。作为 taker(收取 taker 佣金)按你的价格或更优价格吃掉任何可匹配流动性,未成交部分作为 maker 留在订单簿上。limit 订单最终可以是全部成交、全部挂单,或部分成交、剩余挂单。

post

创建一笔挂单。如果下单时该订单会与已有流动性成交,服务器会拒绝它(rejected_order_type_rules,例如 "post order cannot have matches")。

postArb

行为类似 post,但即使订单会成交也可以挂单,前提是你的美式赔率与将被成交的挂单赔率相差不超过 1%。若价差超过 1%,下单会被拒绝。 示例:
  • 最优报价 +100,你挂 +100 — post 会被拒绝(会成交);postArb 允许。
  • 最优报价 +200 — 以 +190 提交的 postArb 会被拒绝(距离 +200 过远)。约 +198 处于相对 +200 的 1% 区间边缘。
  • 最优订单 −200 — 负向一侧区间大约延伸到 −202(同一条 1% 规则)。
  • 订单簿上有 +100 时,对侧的 1% 容差参考限价为 −101。
postArb 可避免普通成交中的 taker 手续费 — 走该流程时,不会像作为 taker 主动吃掉挂单流动性那样被收取 taker 手续费。 以 postArb 下的订单,会在其用户推送和行情推送更新中带有 isPostArb: true;其他订单类型会省略该字段。下单响应本身不包含该标志。

fillAndKill

立即作为 taker 按你的价格或更优价格吃掉当前可成交数量,并取消剩余部分。fillAndKill 永远不会留在订单簿上。 部分成交也是成功结果:如果你发送 bet: 1000 而可匹配流动性只有 400,则成交400,则成交 400,剩余 $600 被取消——响应为成功,而非错误。仅当完全没有可匹配流动性时,订单才会被拒绝(rejected_order_type_rules,"fill and kill has no matches")。参见下方示例中的 Fill And Kill 场景。

fillOrKill

全成或全撤。你的整笔 bet 必须立即按你的价格或更优价格成交,否则整笔订单被拒绝——包括途中已发生的成交,都会回滚。fillOrKill 永远不会留在订单簿上,也不会留下部分仓位。 适用于部分仓位还不如没有仓位的情形,例如该订单是一笔必须整笔执行的对冲腿。 拒绝时 errorType: rejected_order_type_rules,并带有以下两条消息之一,用于区分「完全没有流动性」和「流动性不足」:
  • "fill or kill has no matches" — 你的价格上没有任何可匹配流动性。
  • "fill or kill matched but not fully" — 有部分流动性成交,但未达到你的全部数量。这些成交已被回滚。
剩余量 **10及以下∗∗视为已完成:一笔10 及以下** 视为已完成:一笔 1,000 的 fillOrKill 若成交 992即算成功,因为未能成交的992 即算成功,因为未能成交的 8 低于订单簿上可挂单的最小数量。剩余量大于 $10 则会拒绝该订单。

响应

array
每笔订单的结果,与输入的 orders 数组按位置对应。每条要么是成功下单,要么是错误。

示例

场景 1 — 订单全部成交、无剩余挂单

三笔订单均立即与可用流动性成交。

场景 2 — 限价单有剩余挂单

一笔数量为 300 的限价单部分成交,剩余部分挂在订单簿上。

场景 3 — Fill and Kill,全部成交

场景 4 — Fill and Kill,无成交

没有成交的 fillAndKill 会返回单笔订单错误。

场景 5 — Fill or Kill,流动性不足

fillOrKill 是 fillAndKill 的全成或全撤对应物。一笔 1,000的‘fillAndKill‘面对1,000 的 `fillAndKill` 面对 400 流动性会成交 400并取消剩余;而‘fillOrKill‘会拒绝整笔订单并回滚那400 并取消剩余;而 `fillOrKill` 会拒绝整笔订单并回滚那 400——你不会留下部分仓位。
若完全没有可匹配流动性,同一笔订单会改为以 "fill or kill has no matches" 被拒绝。

场景 6 — 订单簿会成交时的 postArb 与 post

post 会拒绝将与挂单流动性成交的订单(例如最优报价 +100,你尝试挂 +100)。当你的赔率与将被成交订单相差不超过 1% 时,postArb 允许这种情况——因此同样挂 +100 可以作为 postArb 成功,并避免普通成交中需支付的 taker 手续费。若你的价格距离挂单报价过远(例如最优报价 +200 但你发送 +190),postArb 会被拒绝。

场景 7 — moneyline1x2(足球三项盘)

moneyline1x2 是足球三项盘——主胜 / 客胜 / 平局——以 market 所指定结果的是/否投注形式下单。以下为平局 yes,赔率 +250。
若要投注主队不胜,发送 side: "no",并将 market 设为主队参赛者 id。

滚球延迟

在标记为滚球的赛事上下单时,遵循以下规则:
  1. 若订单不与任何已有流动性成交,则立即挂单。
  2. 若订单会与已有流动性成交,则在执行前会有一段延迟。
  3. 不同联赛的滚球延迟不同:
    • NFL、UFCMMA、NCAAF — 3 秒。
    • NCAAB、NBA — 5 秒。
    • ATP、WTA — 8 秒。
    • 默认 — 10 秒。
  4. 延迟结束后,订单尝试执行:
    • 若赔率变得更优,则立即成交。
    • 若赔率变差,则不成交。

单笔订单错误

多笔下单、部分出错的示例:

授权

Authorization
string
header
必填

Pass your auth token in the Authorization header. The Bearer prefix is optional; the server also accepts a signed auth cookie or a token field in the request body.

请求体

application/json
orders
object[]
必填

响应

Per-order results (positional with input).

data
object