Navbar
简体中文

更新日志

重要文档通知

Binance 推出了全新的 API 文档门户。现有的 GitHub API 文档 已废弃 (2024-06-17),并将在用户迁移完成后的几个月内下线;具体日期将在适当时候确定并通知。

在此过渡阶段,两者网站将同时维持。然而,任何新服务将只会在新的门户上发布。

下面是当前和新 API 文档的链接的参考表:

功能 当前文档 新文档
现货交易 当前文档 新文档
现货Websocket API 当前文档 新文档
杠杆交易 当前文档 新文档
U本位合约 当前文档 新文档
币本位合约 当前文档 新文档
欧式期权 当前文档 新文档
统一账户 当前文档 新文档
钱包 当前文档 新文档
子母账户 当前文档 新文档
赚币 当前文档 新文档
双币投资 当前文档 新文档
定投 当前文档 新文档
ETH质押 当前文档 新文档
矿池接口 当前文档 新文档
策略交易 当前文档 新文档
跟单交易 当前文档 新文档
统一账户专业版 当前文档 新文档
法币 当前文档 新文档
C2C 当前文档 新文档
VIP借币 当前文档 新文档
质押借币 当前文档 新文档
Pay 当前文档 新文档
闪兑 当前文档 新文档
返佣 当前文档 新文档
NFT 当前文档 新文档
礼品卡 当前文档 新文档

2024-10-18

Rest 和 WebSocket API:


2024-10-17

Exchange Information 的更改 (即 REST API 的 GET /api/v3/exchangeInfo 和 WebSocket API 的 exchangeInfo)。


2024-09-02


2024-06-11

6月11日 UTC 时间 05:00, 我们将开始推出新功能 One-Triggers-the-Other (OTO) 订单和 One-Triggers-a-One-Cancels-The-Other (OTOCO) 订单。(请注意,我们可能需要花几个小时来部署到所有服务器。)


2024-06-06

此功能将在 6月6日 11:59 UTC 前上线。


2024-04-10

以下更新的生效时间已被推迟到 4月25日 05:00 UTC

SBE


2024-04-02

注意: 以下的变更将逐步推出,并预计需要大约一周的时间完成。

以下内容将于发布日期 大约 一周后生效:

SBE


2024-02-28

将于 2024 年 3 月 5 日生效。

简单二进制编码 (SBE) 将部署到现货的 Rest API 和 WebSocket API 生产系统上。

更多关于SBE的信息,请参考常见问题解答 (FAQ)


2024-02-08

现货的 WebSocket API 现在在测试网上支持简单二进制编码(SBE)。

SBE 模式已经更新了 WebSocket API 元数据,但并没有增加 schemaId 或者 version

SBE 的 FAQ 已经更新。


2023-12-04

注意: 以下的变更将逐步推出,并预计需要大约一周的时间完成。

WebSocket API

以下将在发布日期后大约一周后生效:


2023-10-19

从 2023-10-19 00:00 UTC 开始生效

调高如下接口的请求权重:

WebSocket API 条件 之前的权重 调整后权重
trades.recent N/A 2 10
depth Limit 1-100 2 5
Limit 101-500 10 25
Limit 501-1000 20 50
Limit 1001-5000 100 250

2023-08-25

下面的变更会在UTC时间 2023-08-25 00:00 上线

请求 之前的权重 现在的权重
order.status 2 4
orderList.status 2 4
openOrders.status - symbol 3 6
openOrders.status - 不带 symbol 40 80
openOrderLists.status 3 6
allOrders 10 20
allOrderLists 10 20
myTrades 10 20
myAllocations 10 20
myPreventedMatches - 使用 preventedMatchId 1 2
myPreventedMatches - 使用 orderId 10 20
account.status 10 20
account.rateLimits.orders 20 40
exchangeInfo 10 20
depth - Limit 1-100 1 2
depth - Limit 101-500 5 10
depth - Limit 501-1000 10 20
depth - Limit 1001-5000 50 100
trades.aggregate 1 2
trades.recent 1 2
trades.historical 5 10
klines 1 2
uiKlines 1 2
ticker.book - symbol 1 2
ticker.book - 不带 symbol 或者 symbols 2 4
ticker.price - symbol 1 2
ticker.price - 不带 symbol 或者 symbols 2 4
ticker.24hr - symbol 或者 ** symbols 带 1-20 交易对** 1 2
ticker.24hr - symbols 带 21-100 交易对 20 40
ticker.24hr - 不带 symbol 或者 symbols 带101个或者更多交易对 40 80
avgPrice 1 2
ticker 2 4
ticker - 请求的最大权重 100 200
userDataStream.start 1 2
userDataStream.ping 1 2
userDataStream.stop 1 2

2023-08-08

智能订单路由(Smart Order Routing:SOR)添加到 API 中。您可以在SOR 常见问题文档中找到更多详细信息。 具体上线时间请关注相关公告。


2023-07-18


2023-07-11

注意: 所有更改都将逐步推出,可能需要一周时间才能完成。


2023-03-13

注意: 所有更改都将逐步推出到我们的所有服务器,并可能需要一周时间才能完成。

情况 之前的错误消息 新错误消息
由于交易权限被禁用,账户无法下订单或取消订单。 This action is disabled on this account. This account may not place or cancel orders.
当配置在交易对上的权限与账户上的权限不匹配时。 This symbol is not permitted for this account.
当账户在其没有权限的交易对上下订单时。 This symbol is restricted for this account.
symbol 不在 TRADING 时下订单。 Unsupported order combination. This order type is not possible in this trading phase.
在不支持 IOCFOK 的交易阶段上使用 timeinForce = IOCFOK 下订单时。 Limit orders require GTC for this phase.

虽然以下更改将在发布日期后 大约一周内生效,但是与其相关的文档已经被更改了:


2023-02-17

WebSocket频率限制变动

Websocket API 现在限制每个IP地址、每5分钟可以发送连接请求的上限是300次。

2023-01-26

根据此公告,Self-Trade Prevention 将在 2023-01-26 08:00 UTC 发布。


2023-01-23

实际发布日期待定

新功能:Self-Trade Prevention(STP)会添加到系统中。此功能将阻止订单与来自同一账户或者同一 tradeGroupId 账户的订单交易。

请使用现货 REST API 的 GET /api/v3/exchangeInfo 或 Websocket API 的 exchangeInfo 看 STP 的状态。


2022-12-28


2012-12-26


2022-12-15

现货 WebSocket API 现在可以在 SPOT 测试网上使用。

WEBSOCKET API 会晚些时候在生产系统中可用。

介绍

API Key 设置

API Key 权限设置

现货测试网

用户可以使用现货的测试网来体验SPOT交易。目前只能通过API测试交易。

更多信息请参考现货测试网

联系我们

基本信息

API 基本信息

请求格式

请求必须在 text 帧 中以 JSON 格式发送,每帧一个请求。

请求示例:

{
  "id": "e2a85d9f-07a5-4f94-8d5f-789dc3deb097",
  "method": "order.place",
  "params": {
    "symbol": "BTCUSDT",
    "side": "BUY",
    "type": "LIMIT",
    "price": "0.1",
    "quantity": "10",
    "timeInForce": "GTC",
    "timestamp": 1655716096498,
    "apiKey": "T59MTDLWlpRW16JVeZ2Nju5A5C98WkMm8CSzWC4oqynUlTm1zXOxyauT8LmwXEv9",
    "signature": "5942ad337e6779f2f4c62cd1c26dba71c91514400a24990a3e7f5edec9323f90"
  }
}

请求字段:

名称 类型 是否必需 描述
id INT / STRING / null YES 任意的 ID 用于匹配对请求的响应
method STRING YES 请求函数名称
params OBJECT NO 请求参数。如果没有参数可以省略

可以在一个会话中自由重复使用 ID,不过请注意不要一次发送多个具有相同 ID 的请求,因为否则可能无法区分响应。

响应格式

响应在 text 帧 中以 JSON 格式返回,每帧一个响应。

成功响应示例:

{
  "id": "e2a85d9f-07a5-4f94-8d5f-789dc3deb097",
  "status": 200,
  "result": {
    "symbol": "BTCUSDT",
    "orderId": 12510053279,
    "orderListId": -1,
    "clientOrderId": "a097fe6304b20a7e4fc436",
    "transactTime": 1655716096505,
    "price": "0.10000000",
    "origQty": "10.00000000",
    "executedQty": "0.00000000",
    "cummulativeQuoteQty": "0.00000000",
    "status": "NEW",
    "timeInForce": "GTC",
    "type": "LIMIT",
    "side": "BUY",
    "workingTime": 1655716096505,
    "selfTradePreventionMode": "NONE"
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 12
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 4043
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 321
    }
  ]
}

失败响应示例:

{
  "id": "e2a85d9f-07a5-4f94-8d5f-789dc3deb097",
  "status": 400,
  "error": {
    "code": -2010,
    "msg": "Account has insufficient balance for requested action."
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 13
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 4044
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 322
    }
  ]
}

响应字段:

名称 类型 是否必需 描述
id INT / STRING / null YES 与原来请求的ID一样
status INT YES 响应状态。请看 状态代码
result OBJECT / ARRAY YES 响应内容。请求成功则显示
error OBJECT 错误描述。请求失败则显示
rateLimits ARRAY NO 速率限制状态。请看 速率限制

状态代码

status 字段的状态代码与HTTP的状态代码相同。

一些常见状态代码:

有关错误代码和消息的列表,请参阅 错误代码

限制

连接数量限制

每IP地址、每5分钟最多可以发送300次连接请求。

速率限制基本信息

如何咨询频率限制

频率限制状态的响应可能如下所示:

{
  "id": "7069b743-f477-4ae3-81db-db9b8df085d2",
  "status": 200,
  "result": {
    "serverTime": 1656400526260
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 70
    }
  ]
}

rate Limits 数组描述了受请求影响的所有当前的速率限制。

名称 类型 是否必须 描述
rateLimitType ENUM YES 频率限制类型: REQUEST_WEIGHT, ORDERS
interval ENUM YES 频率限制间隔: SECOND, MINUTE, HOUR, DAY
intervalNum INT YES 频率限制间隔乘数
limit INT YES 每个间隔的请求限制
count INT YES 每个间隔的当前使用情况

频率限制按间隔计算。

例如,1 MINUTE 间隔表示每分钟开始。 在 00:01:23.456 提交的请求计入 00:01:00 分钟的限制。 一旦 00:02:00 分钟开始,计数将再次重置为零。

其他间隔的行为方式类似。 例如,1 DAY 频率限制是在每天 00:00 UTC 重置,并且 10 SECOND 间隔重置为每分钟的 00、10、20...秒。

API 有多种频率限制间隔。 如果您用完了较短的间隔但较长的间隔仍然允许请求,您将不得不等待较短的间隔到期并重置。 如果你用完了更长的间隔,你将不得不等待那个间隔重置,即使较短的频率限制计数为零。

如何显示/隐藏频率限制信息

默认情况下,每个响应都包含 rateLimits 字段。

但是,频率限制信息可能非常大。 如果您对每个请求的详细频率限制状态不感兴趣,可以从响应中省略 rateLimits 字段。

使用 returnRateLimits 参数控制是否包含 rateLimits 字段以响应单个请求。

默认请求和响应:

  {"id":1,"method":"time"}
  {"id":1,"status":200,"result":{"serverTime":1656400526260},"rateLimits":[{"rateLimitType":"REQUEST_WEIGHT","interval":"MINUTE","intervalNum":1,"limit":6000,"count":70}]}

没有频率限制状态的请求和响应:

  {"id":2,"method":"time","params":{"returnRateLimits":false}}
  {"id":2,"status":200,"result":{"serverTime":1656400527891}}

如果您希望在默认情况下从所有响应中省略 rateLimits,可以在 query string 中使用 returnRateLimits 参数:

wss://ws-api.binance.com/ws-api/v3?returnRateLimits=false

这将使通过此连接发出的所有请求的行为就像您已传了 "returnRateLimits":false 一样。

如果您查看特定请求的频率限制,您需要特定传 "returnRateLimits":true 参数。

注意: 如果您在响应中隐藏 rateLimits 字段,您的请求仍然还是会受到频率限制的。

IP 访问限制

表示在1分钟内使用了(6000权重限制中的)70权重的成功响应:

{
  "id": "7069b743-f477-4ae3-81db-db9b8df085d3",
  "status": 200,
  "result": [],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 70
    }
  ]
}

表示已被封禁且封禁将在 epoch 1659146400000 解锁的失败响应::

{
  "id": "fc93a61a-a192-4cf4-bb2a-a8f0f0c51e06",
  "status": 418,
  "error": {
    "code": -1003,
    "msg": "Way too much request weight used; IP banned until 1659146400000. Please use WebSocket Streams for live updates to avoid bans.",
    "data": {
      "serverTime": 1659142907531,
      "retryAfter": 1659146400000
    }
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2411
    }
  ]
}

未成交订单计数

表示在10秒内下了12个订单和在24小时内下了4043个订单的成功响应:

{
  "id": "e2a85d9f-07a5-4f94-8d5f-789dc3deb097",
  "status": 200,
  "result": {
    "symbol": "BTCUSDT",
    "orderId": 12510053279,
    "orderListId": -1,
    "clientOrderId": "a097fe6304b20a7e4fc436",
    "transactTime": 1655716096505,
    "price": "0.10000000",
    "origQty": "10.00000000",
    "executedQty": "0.00000000",
    "cummulativeQuoteQty": "0.00000000",
    "status": "NEW",
    "timeInForce": "GTC",
    "type": "LIMIT",
    "side": "BUY",
    "workingTime": 1655716096505,
    "selfTradePreventionMode": "NONE"
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 12
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 4043
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 321
    }
  ]
}

请求鉴权类型

鉴权类型 API key 签名 描述
NONE 公开市场数据
TRADE required required 在交易所交易,下单和取消订单
USER_DATA required required 私人账户信息,例如订单状态和交易历史
USER_STREAM required 管理用户数据流订阅

SIGNED (TRADE 和 USER_DATA) 请求鉴权

时间同步安全

  if (timestamp < (serverTime + 1000) && (serverTime - timestamp) <= recvWindow) {
    // 处理请求
  } else {
    // 拒绝请求
  }

关于交易时效性 互联网状况并不完全稳定可靠,因此你的程序本地到币安服务器的时延会有抖动, 这是我们设置 recvWindow 的目所在。如果你从事高频交易,对交易时效性有较高的要求,可以灵活设置 recvWindow 以达到你的要求。

建议使用5000毫秒以下的 recvWindow

SIGNED 请求示例 (HMAC)

这是有关如何用 HMAC secret key 签署请求的分步指南。

示例 API key 和 secret key:

Key Value
apiKey vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A
secretKey NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j

警告:请勿与任何人共享您的私钥。

示例密钥仅供参考。

目前缺少 signature 参数的请求示例:

{
  "id": "4885f793-e5ad-4c3b-8f6c-55d891472b71",
  "method": "order.place",
  "params": {
    "symbol":           "BTCUSDT",
    "side":             "SELL",
    "type":             "LIMIT",
    "timeInForce":      "GTC",
    "quantity":         "0.01000000",
    "price":            "52000.00",
    "newOrderRespType": "ACK",
    "recvWindow":       100,
    "timestamp":        1645423376532,
    "apiKey":           "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature":        "------ 未填写 ------"
  }
}

第一步。签名效载荷示例:

apiKey=vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A&newOrderRespType=ACK&price=52000.00&quantity=0.01000000&recvWindow=100&side=SELL&symbol=BTCUSDT&timeInForce=GTC&timestamp=1645423376532&type=LIMIT

第一步:创建签名内容

除了 signature 之外,获取所有请求 params,然后按名称按字母顺序进行排序:

参数 取值
apiKey vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A
newOrderRespType ACK
price 52000.00
quantity 0.01000000
recvWindow 100
side SELL
symbol BTCUSDT
timeInForce GTC
timestamp 1645423376532
type LIMIT

将参数格式化为 参数=取值 对并用 & 分隔每个参数。

第二步。签名示例:

$ echo -n 'apiKey=vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A&newOrderRespType=ACK&price=52000.00&quantity=0.01000000&recvWindow=100&side=SELL&symbol=BTCUSDT&timeInForce=GTC&timestamp=1645423376532&type=LIMIT' \
  | openssl dgst -hex -sha256 -hmac 'NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j'

cc15477742bd704c29492d96c7ead9414dfd8e0ec4a00f947bb5bb454ddbd08a

第二步:计算签名

  1. secretKey 解释为 ASCII 数据,将其用作 HMAC-SHA-256 的 key。
  2. 将签名有效负载签名为 ASCII 数据。
  3. 将 HMAC-SHA-256 输出编码为 hex string。

请注意,apiKeysecretKey 和有效负载是大小写敏感的。 生成的签名值是不区分大小写的。

可以使用 OpenSSL 交叉检查您的签名算法实现:

第三步。完整请求:

{
  "id": "4885f793-e5ad-4c3b-8f6c-55d891472b71",
  "method": "order.place",
  "params": {
    "symbol":           "BTCUSDT",
    "side":             "SELL",
    "type":             "LIMIT",
    "timeInForce":      "GTC",
    "quantity":         "0.01000000",
    "price":            "52000.00",
    "newOrderRespType": "ACK",
    "recvWindow":       100,
    "timestamp":        1645423376532,
    "apiKey":           "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature":        "cc15477742bd704c29492d96c7ead9414dfd8e0ec4a00f947bb5bb454ddbd08a"
  }
}

第三步:添加 signatureparams

最后,使用生成的签名完成请求。

SIGNED 请求示例 (RSA)

Key Value
apiKey CAvIjXy3F44yW6Pou5k8Dy1swsYDWJZLeoK2r8G4cFDnE9nosRppc2eKc1T8TRTQ

对于这个例子,Private Key 将被引用为 test-prv-key.pem

警告:请勿与任何人共享您的私钥。

示例密钥仅供参考。

目前缺少 signature 参数的请求示例:

{
  "id": "4885f793-e5ad-4c3b-8f6c-55d891472b71",
  "method": "order.place",
  "params": {
    "symbol":           "BTCUSDT",
    "side":             "SELL",
    "type":             "LIMIT",
    "timeInForce":      "GTC",
    "quantity":         "0.01000000",
    "price":            "52000.00",
    "newOrderRespType": "ACK",
    "recvWindow":       100,
    "timestamp":        1645423376532,
    "apiKey":           "CAvIjXy3F44yW6Pou5k8Dy1swsYDWJZLeoK2r8G4cFDnE9nosRppc2eKc1T8TRTQ",
    "signature":        "------ FILL ME ------"
  }
}

第一步。签名效载荷示例:

apiKey=CAvIjXy3F44yW6Pou5k8Dy1swsYDWJZLeoK2r8G4cFDnE9nosRppc2eKc1T8TRTQ&newOrderRespType=ACK&price=52000.00&quantity=0.01000000&recvWindow=100&side=SELL&symbol=BTCUSDT&timeInForce=GTC&timestamp=1645423376532&type=LIMIT

第一步: 计算 Payload

除了 signature,获取请求的所有其它 params,然后按名称字母顺序对它们进行排序:

参数 取值
apiKey CAvIjXy3F44yW6Pou5k8Dy1swsYDWJZLeoK2r8G4cFDnE9nosRppc2eKc1T8TRTQ
newOrderRespType ACK
price 52000.00
quantity 0.01000000
recvWindow 100
side SELL
symbol BTCUSDT
timeInForce GTC
timestamp 1645423376532
type LIMIT

将参数格式化为 参数=取值 对并用 & 分隔每个参数。

第二步。签名示例:

$ echo -n 'apiKey=CAvIjXy3F44yW6Pou5k8Dy1swsYDWJZLeoK2r8G4cFDnE9nosRppc2eKc1T8TRTQ&newOrderRespType=ACK&price=52000.00&quantity=0.01000000&recvWindow=100&side=SELL&symbol=BTCUSDT&timeInForce=GTC&timestamp=1645423376532&type=LIMIT' \
  | openssl dgst -sha256 -sign test-prv-key.pem \
  | openssl enc -base64 -A

OJJaf8C/3VGrU4ATTR4GiUDqL2FboSE1Qw7UnnoYNfXTXHubIl1iaePGuGyfct4NPu5oVEZCH4Q6ZStfB1w4ssgu0uiB/Bg+fBrRFfVgVaLKBdYHMvT+ljUJzqVaeoThG9oXlduiw8PbS9U8DYAbDvWN3jqZLo4Z2YJbyovyDAvDTr/oC0+vssLqP7NmlNb3fF3Bj7StmOwJvQJTbRAtzxK5PP7OQe+0mbW+D7RqVkUiSswR8qJFWTeSe4nXXNIdZdueYhF/Xf25L+KitJS5IHdIHcKfEw3MQzHFb2ZsGWkjDQwxkwr7Noi0Zaa+gFtxCuatGFm9dFIyx217pmSHtA==

第二步:计算签名

  1. 将签名有效负载编码为 ASCII 数据。
  2. 使用带有 SHA-256 hash 函数的 RSASSA-PKCS1-v1_5 算法对 payload 进行签名。
  3. 将输出编码为 base64 string。

请注意,apiKey, payload 和生成的签名值都是大小写敏感的。

您可以使用 OpenSSL 交叉检查您的签名算法。

第三步。完整请求:

{
  "id": "4885f793-e5ad-4c3b-8f6c-55d891472b71",
  "method": "order.place",
  "params": {
    "symbol":           "BTCUSDT",
    "side":             "SELL",
    "type":             "LIMIT",
    "timeInForce":      "GTC",
    "quantity":         "0.01000000",
    "price":            "52000.00",
    "newOrderRespType": "ACK",
    "recvWindow":       100,
    "timestamp":        1645423376532,
    "apiKey":           "CAvIjXy3F44yW6Pou5k8Dy1swsYDWJZLeoK2r8G4cFDnE9nosRppc2eKc1T8TRTQ",
    "signature":        "OJJaf8C/3VGrU4ATTR4GiUDqL2FboSE1Qw7UnnoYNfXTXHubIl1iaePGuGyfct4NPu5oVEZCH4Q6ZStfB1w4ssgu0uiB/Bg+fBrRFfVgVaLKBdYHMvT+ljUJzqVaeoThG9oXlduiw8PbS9U8DYAbDvWN3jqZLo4Z2YJbyovyDAvDTr/oC0+vssLqP7NmlNb3fF3Bj7StmOwJvQJTbRAtzxK5PP7OQe+0mbW+D7RqVkUiSswR8qJFWTeSe4nXXNIdZdueYhF/Xf25L+KitJS5IHdIHcKfEw3MQzHFb2ZsGWkjDQwxkwr7Noi0Zaa+gFtxCuatGFm9dFIyx217pmSHtA=="
  }
}

第三步:在请求的 params 参数添加签名值

最后,使用生成的签名完成请求。

SIGNED 请求示例 (Ed25519)

参数 取值
symbol BTCUSDT
side SELL
type LIMIT
timeInForce GTC
quantity 1
price 0.2
timestamp 1668481559918
#!/usr/bin/env python3
import base64
import time
import json
from cryptography.hazmat.primitives.serialization import load_pem_private_key
from websocket import create_connection
# 设置身份验证:
API_KEY='替换成您的 API Key'
PRIVATE_KEY_PATH='test-prv-key.pem'
# 加载 private key。
# 在这个例子中,private key 没有加密,但我们建议使用强密码以提高安全性。
with open(PRIVATE_KEY_PATH, 'rb') as f:
    private_key = load_pem_private_key(data=f.read(), password=None)
# 设置请求参数:
params = {
    'apiKey':        API_KEY,   
    'symbol':       'BTCUSDT',
    'side':         'SELL',
    'type':         'LIMIT',
    'timeInForce':  'GTC',
    'quantity':     '1.0000000',
    'price':        '0.20'
}
# 参数中加时间戳:
timestamp = int(time.time() * 1000) # 以毫秒为单位的 UNIX 时间戳
params['timestamp'] = timestamp
# 参数中加签名:
payload = '&'.join([f'{param}={value}' for param, value in sorted(params.items())])
signature = base64.b64encode(private_key.sign(payload.encode('ASCII')))
params['signature'] = signature.decode('ASCII')
# 发送请求:
request = { 
    'id': 'my_new_order',   
    'method': 'order.place',    
    'params': params
}
ws = create_connection('wss://ws-api.binance.com:443/ws-api/v3')    
ws.send(json.dumps(request))    
result =  ws.recv() 
ws.close()  
print(result)

右边有 Python 脚本来示例如何使用 Ed25519 key 签名。

会话身份验证

注意: 仅支持 Ed25519 密钥用于此功能。

如果你不想在每个单独的请求中指定apiKeysignature,你可以为有效的WebSocket会话进行API密钥身份验证。

一旦完成身份验证,你将不需在需要它们的请求中指定apiKeysignature。 这些请求将代表拥有已验证API密钥的帐户执行。

注意: 对于SIGNED请求,你仍需要指定timestamp参数。

连接后进行身份验证

你可以使用会话身份验证请求对已经建立的连接进行身份验证:

关于吊销API密钥:

如果在活动会话期间,由于 任何 原因(例如IP地址未被加入白名单、API密钥被删除、API密钥没有正确的权限等),在下一个请求后,会话将被吊销,并显示以下错误消息:

{
  "id": null,
  "status": 401,
  "error": {
    "code": -2015,
    "msg": "Invalid API-key, IP, or permissions for action." 
  }
}

授权 临时 请求

WebSocket连接只能通过一个API密钥进行身份验证。 默认情况下,经过身份验证的API密钥将用于需要apiKey参数的请求。 但是,你始终可以为单个请求明确指定apiKeysignature,覆盖已认证的API密钥,以使用不同的API密钥授权特定请求。

例如,你可能希望用默认密钥来验证 USER_DATA,但在下单时使用TRADE密钥来签名。

数据源

数据源 延迟 描述
撮合引擎 最低 表示撮合引擎直接产生响应
缓存 表示数据来源于内部或者外部的缓存
数据库 中度 表示数据直接来源于数据库

公共 API 定义

术语

这些术语将在整个文档中使用,因此特别建议新用户阅读。

ENUM 定义

交易对状态 (status):

账户和交易对权限 (permissions):

订单状态 (status):

状态 描述
NEW 订单被交易引擎接受
PARTIALLY_FILLED 部分订单被成交
FILLED 订单完全成交
CANCELED 用户撤销了订单
PENDING_CANCEL 撤销中(目前并未使用)
REJECTED 订单没有被交易引擎接受,也没被处理
EXPIRED 订单被交易引擎取消 (比如 LIMIT FOK 订单没有成交,LIMIT IOC 或者 市价单 没有完全成交)
强平期间被取消的订单 (交易所维护期间被取消的订单)
EXPIRED_IN_MATCH 表示订单由于 STP 触发而过期(e.g. 带有 EXPIRE_TAKER 的订单与订单簿上属于同账户或同 tradeGroupId 的订单撮合)

订单列表状态 (listStatusType):

状态 描述
RESPONSE ListStatus响应失败的操作时使用。(订单完成或取消订单)
EXEC_STARTED 当已经下单或者订单有更新时
ALL_DONE 当订单执行结束或者不在激活状态

订单列表的订单状态 (listOrderStatus):

状态 描述
EXECUTING 当已经下单或者订单有更新时
ALL_DONE 当订单执行结束或者不在激活状态
REJECT 当订单状态响应失败(订单完成或取消订单)

指定订单的类型 * OCO * OTO

分配类型

工作平台

常用请求信息

测试连通性

请求:

{
  "id": "922bcc6e-9de8-440d-9e84-7c80933a8d0d",
  "method": "ping"
}

响应:

{
  "id": "922bcc6e-9de8-440d-9e84-7c80933a8d0d",
  "status": 200,
  "result": {},
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

测试能否联通 WebSocket API。

注意:

您也可以使用常规 WebSocket ping 帧来测试连通性, WebSocket API 将尽快以 pong 帧响应。 ping 请求和 time 是在应用程序中测试请求-响应处理的安全方法。

权重(IP): 1

参数: NONE

数据源: 缓存

检查服务器时间

请求:

{
  "id": "187d3cb2-942d-484c-8271-4e2141bbadb1",
  "method": "time"
}

响应:

{
  "id": "187d3cb2-942d-484c-8271-4e2141bbadb1",
  "status": 200,
  "result": {
    "serverTime": 1656400526260
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

测试与 WebSocket API 的连通性并获取当前服务器时间。

权重(IP): 1

参数: NONE

数据源: 缓存

交易规范信息

请求:

{
  "id": "5494febb-d167-46a2-996d-70533eb4d976",
  "method": "exchangeInfo",
  "params": {
    "symbols": ["BNBBTC"]
  }
}

响应:

{
  "id": "5494febb-d167-46a2-996d-70533eb4d976",
  "status": 200,
  "result": {
    "timezone": "UTC",
    "serverTime": 1655969291181,
    // 全局速率限制。请参阅 "限制" 部分。
    "rateLimits": [
      {
        "rateLimitType": "REQUEST_WEIGHT",    // 速率限制类型: REQUEST_WEIGHT,ORDERS,RAW_REQUESTS
        "interval": "MINUTE",                 // 速率限制间隔: SECOND,MINUTE,DAY
        "intervalNum": 1,                     // 速率限制间隔乘数 (i.e.,"1 minute")
        "limit": 6000                         // 每个间隔的速率限制
      },
      {
        "rateLimitType": "ORDERS",
        "interval": "SECOND",
        "intervalNum": 10,
        "limit": 50
      },
      {
        "rateLimitType": "ORDERS",
        "interval": "DAY",
        "intervalNum": 1,
        "limit": 160000
      },
      {
        "rateLimitType": "CONNECTIONS",
        "interval": "MINUTE",
        "intervalNum": 5,
        "limit": 300
      }
    ],
    // 交易所级别过滤器在 "过滤器" 部分上进行了说明: https://binance-docs.github.io/apidocs/spot/cn/#cc81fff589
    // 全部交易过滤器是可选的。
    "exchangeFilters": [],
    "symbols": [
      {
        "symbol": "BNBBTC",
        "status": "TRADING",
        "baseAsset": "BNB",
        "baseAssetPrecision": 8,
        "quoteAsset": "BTC",
        "quotePrecision": 8,
        "quoteAssetPrecision": 8,
        "baseCommissionPrecision": 8,
        "quoteCommissionPrecision": 8,
        "orderTypes": [
          "LIMIT",
          "LIMIT_MAKER",
          "MARKET",
          "STOP_LOSS_LIMIT",
          "TAKE_PROFIT_LIMIT"
        ],
        "icebergAllowed": true,
        "ocoAllowed": true,
        "quoteOrderQtyMarketAllowed": true,
        "allowTrailingStop": true,
        "cancelReplaceAllowed": true,
        "isSpotTradingAllowed": true,
        "isMarginTradingAllowed": true,
        // 交易对过滤器在"过滤器"部分上进行了说明: https://binance-docs.github.io/apidocs/spot/cn/#cc81fff589
        // 全部交易对过滤器是可选的。
        "filters": [
          {
            "filterType": "PRICE_FILTER",
            "minPrice": "0.00000100",
            "maxPrice": "100000.00000000",
            "tickSize": "0.00000100"
          },
          {
            "filterType": "LOT_SIZE",
            "minQty": "0.00100000",
            "maxQty": "100000.00000000",
            "stepSize": "0.00100000"
          }
        ],
        "permissions": [],
        "permissionSets": [
          [
            "SPOT",
            "MARGIN",
            "TRD_GRP_004"
          ]
        ],
        "defaultSelfTradePreventionMode": "NONE",
        "allowedSelfTradePreventionModes": [
          "NONE"
        ]
      }
    ]
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 20
    }
  ]
}

获取交易规则,速率限制,和交易对信息。

权重(IP): 20

参数:

名称 类型 是否必需 描述
symbol STRING NO 代表单个交易对
symbols ARRAY of STRING 代表多个交易对
permissions ARRAY of STRING 按权限过滤交易对
showPermissionSets BOOLEAN 用于控制是否返回 permissionSets 字段的内容,默认为 true
symbolStatus ENUM 过滤具有此 tradingStatus 的交易对。

有效值: TRADINGHALTBREAK
不能与 symbolsymbols 组合使用

备注:

解释响应中的 permissionSets

数据源: 缓存

行情接口

订单薄深度信息

请求:

{
  "id": "51e2affb-0aba-4821-ba75-f2625006eb43",
  "method": "depth",
  "params": {
    "symbol": "BNBBTC",
    "limit": 5
  }
}

响应:

{
  "id": "51e2affb-0aba-4821-ba75-f2625006eb43",
  "status": 200,
  "result": {
    "lastUpdateId": 2731179239,
    // bid 水平从最高价到最低价排序。
    "bids": [
      [
        "0.01379900",   // 价格
        "3.43200000"    // 重量
      ],
      [
        "0.01379800",
        "3.24300000"
      ],
      [
        "0.01379700",
        "10.45500000"
      ],
      [
        "0.01379600",
        "3.82100000"
      ],
      [
        "0.01379500",
        "10.26200000"
      ]
    ],
    // ask 水平从最低价到最高价排序。
    "asks": [
      [
        "0.01380000",
        "5.91700000"
      ],
      [
        "0.01380100",
        "6.01400000"
      ],
      [
        "0.01380200",
        "0.26800000"
      ],
      [
        "0.01380300",
        "0.33800000"
      ],
      [
        "0.01380400",
        "0.26800000"
      ]
    ]
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 5
    }
  ]
}

获取当前深度信息。

请注意,此请求返回有限的市场深度。

如果需要持续监控深度信息更新,请考虑使用 WebSocket Streams:

如果需要维护本地orderbook,您可以将 depth 请求与 <symbol>@depth streams 一起使用。

权重(IP): 根据限制调整:

限制 重量
1–100 5
101–500 25
501–1000 50
1001-5000 250

参数:

名称 类型 是否必需 描述
symbol STRING YES
limit INT NO 默认 100; 最大值 5000

数据源: 缓存

最近的交易

请求:

{
  "id": "409a20bd-253d-41db-a6dd-687862a5882f",
  "method": "trades.recent",
  "params": {
    "symbol": "BNBBTC",
    "limit": 1
  }
}

响应:

{
  "id": "409a20bd-253d-41db-a6dd-687862a5882f",
  "status": 200,
  "result": [
    {
      "id": 194686783,
      "price": "0.01361000",
      "qty": "0.01400000",
      "quoteQty": "0.00019054",
      "time": 1660009530807,
      "isBuyerMaker": true,
      "isBestMatch": true
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2
    }
  ]
}

获取最近的交易

如果您需要访问实时交易活动,请考虑使用 WebSocket Streams:

权重(IP): 25

参数:

名称 类型 是否必需 描述
symbol STRING YES
limit INT NO 默认 500; 最大值 1000

数据源: 缓存

历史交易

请求:

{
  "id": "cffc9c7d-4efc-4ce0-b587-6b87448f052a",
  "method": "trades.historical",
  "params": {
    "symbol": "BNBBTC",
    "fromId": 0,
    "limit": 1
  }
}

响应:

{
  "id": "cffc9c7d-4efc-4ce0-b587-6b87448f052a",
  "status": 200,
  "result": [
    {
      "id": 0,
      "price": "0.00005000",
      "qty": "40.00000000",
      "quoteQty": "0.00200000",
      "time": 1500004800376,
      "isBuyerMaker": true,
      "isBestMatch": true
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 10
    }
  ]
}

获取历史交易。

权重(IP): 25

参数:

名称 类型 是否必需 描述
symbol STRING YES
fromId INT NO 起始交易ID
limit INT NO 默认 500; 最大值 1000

备注:

数据源: 数据库

归集交易

请求:

{
  "id": "189da436-d4bd-48ca-9f95-9f613d621717",
  "method": "trades.aggregate",
  "params": {
    "symbol": "BNBBTC",
    "fromId": 50000000,
    "limit": 1
  }
}

响应:

{
  "id": "189da436-d4bd-48ca-9f95-9f613d621717",
  "status": 200,
  "result": [
    {
      "a": 50000000,        // 归集交易ID
      "p": "0.00274100",    // 价格
      "q": "57.19000000",   // 重量
      "f": 59120167,        // 被归集的首个交易ID
      "l": 59120170,        // 被归集的末次交易ID
      "T": 1565877971222,   // 时间戳
      "m": true,            // 买方是否是做市方。如true,则此次成交是一个主动卖出单,否则是一个主动买入单。
      "M": true             // 交易是否是最好价格匹配。
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2
    }
  ]
}

获取归集交易。

一个 归集交易 (aggtrade) 代表一个或多个单独的交易。 同时间,同 taker 订单和同价格的执行交易会被聚合为一条归集交易。

如果需要访问实时交易活动,请考虑使用 WebSocket Streams:

如果需要历史总交易数据,可以使用 data.binance.vision

权重(IP): 2

参数:

名称 类型 是否必需 描述
symbol STRING YES
fromId INT NO 起始归集交易ID
startTime INT NO
endTime INT NO
limit INT NO 默认 500; 最大值 1000

备注:

使用 fromIdlimit 会对所有 aggtrades 进行分页。

fromId 不能与 startTimeendTime 一起使用。

数据源: 数据库

K线数据

请求:

{
  "id": "1dbbeb56-8eea-466a-8f6e-86bdcfa2fc0b",
  "method": "klines",
  "params": {
    "symbol": "BNBBTC",
    "interval": "1h",
    "startTime": 1655969280000,
    "limit": 1
  }
}

响应:

{
  "id": "1dbbeb56-8eea-466a-8f6e-86bdcfa2fc0b",
  "status": 200,
  "result": [
    [
      1655971200000,      // 这根K线的起始时间
      "0.01086000",       // 这根K线期间第一笔成交价
      "0.01086600",       // 这根K线期间最高成交价
      "0.01083600",       // 这根K线期间最低成交价
      "0.01083800",       // 这根K线期间末一笔成交价
      "2290.53800000",    // 这根K线期间成交量
      1655974799999,      // 这根K线的结束时间
      "24.85074442",      // 这根K线期间成交额
      2283,               // 这根K线期间成交笔数
      "1171.64000000",    // 主动买入的成交量
      "12.71225884",      // 主动买入的成交额
      "0"                 // 忽略此参数
    ]
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2
    }
  ]
}

获取K线数据。

Klines 由其开盘时间和收盘时间为唯一标识。

如果您需要访问实时 kline 更新,请考虑使用 WebSocket Streams:

如果需要历史K线数据,可以使用 data.binance.vision

权重(IP): 2

参数:

名称 类型 是否必需 描述
symbol STRING YES
interval ENUM YES
startTime INT NO
endTime INT NO
timeZone STRING NO Default: 0 (UTC)
limit INT NO 默认 500; 最大值 1000

支持的 kline 间隔(大小写敏感):

时间间隔 interval
seconds 1s
minutes 1m, 3m, 5m, 15m, 30m
hours 1h, 2h, 4h, 6h, 8h, 12h
days 1d, 3d
weeks 1w
months 1M

备注:

数据源: 数据库

UI K线数据

请求:

{
  "id": "b137468a-fb20-4c06-bd6b-625148eec958",
  "method": "uiKlines",
  "params": {
    "symbol": "BNBBTC",
    "interval": "1h",
    "startTime": 1655969280000,
    "limit": 1
  }
}

请求参数和响应字段与k线接口相同。 uiKlines 是返回修改后的k线数据,针对k线图的呈现进行了优化。

响应:

{
  "id": "b137468a-fb20-4c06-bd6b-625148eec958",
  "status": 200,
  "result": [
    [
      1655971200000,      // 这根K线的起始时间
      "0.01086000",       // 这根K线期间第一笔成交价
      "0.01086600",       // 这根K线期间最高成交价
      "0.01083600",       // 这根K线期间最低成交价
      "0.01083800",       // 这根K线期间末一笔成交价
      "2290.53800000",    // 这根K线期间成交量
      1655974799999,      // 这根K线的结束时间
      "24.85074442",      // 这根K线期间成交额
      2283,               // 这根K线期间成交笔数
      "1171.64000000",    // 主动买入的成交量
      "12.71225884",      // 主动买入的成交额
      "0"                 // 忽略此参数
    ]
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2
    }
  ]
}

权重(IP): 2

参数:

名称 类型 是否必需 描述
symbol STRING YES
interval ENUM YES 请看 k线
startTime INT NO
endTime INT NO
timeZone STRING NO 默认: 0 (UTC)
limit INT NO 默认 500; 最大值 1000

备注:

数据源: 数据库

响应:

{
  "id": "b137468a-fb20-4c06-bd6b-625148eec958",
  "status": 200,
  "result": [
    [
      1655971200000,      // 这根K线的起始时间
      "0.01086000",       // 这根K线期间第一笔成交价
      "0.01086600",       // 这根K线期间最高成交价
      "0.01083600",       // 这根K线期间最低成交价
      "0.01083800",       // 这根K线期间末一笔成交价
      "2290.53800000",    // 这根K线期间成交量
      1655974799999,      // 这根K线的结束时间
      "24.85074442",      // 这根K线期间成交额
      2283,               // 这根K线期间成交笔数
      "1171.64000000",    // 主动买入的成交量
      "12.71225884",      // 主动买入的成交额
      "0"                 // 忽略此参数
    ]
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2
    }
  ]
}

当前平均价格

请求:

{
  "id": "ddbfb65f-9ebf-42ec-8240-8f0f91de0867",
  "method": "avgPrice",
  "params": {
    "symbol": "BNBBTC"
  }
}

响应:

{
  "id": "ddbfb65f-9ebf-42ec-8240-8f0f91de0867",
  "status": 200,
  "result": {
    "mins": 5,              // 以分钟为单位的价格平均间隔 
    "price": "0.01378135",
    "closeTime": 1694061154503
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2
    }
  ]
}

获取交易对的当前平均价格

权重(IP): 2

参数:

名称 类型 是否必需 描述
symbol STRING YES

数据源: 缓存

24hr 价格变动情况

请求:

{
  "id": "93fb61ef-89f8-4d6e-b022-4f035a3fadad",
  "method": "ticker.24hr",
  "params": {
    "symbol": "BNBBTC"
  }
}

响应:

FULL 类型,对于单个交易对:

{
  "id": "93fb61ef-89f8-4d6e-b022-4f035a3fadad",
  "status": 200,
  "result": {
    "symbol": "BNBBTC",
    "priceChange": "0.00013900",
    "priceChangePercent": "1.020",
    "weightedAvgPrice": "0.01382453",
    "prevClosePrice": "0.01362800",
    "lastPrice": "0.01376700",
    "lastQty": "1.78800000",
    "bidPrice": "0.01376700",
    "bidQty": "4.64600000",
    "askPrice": "0.01376800",
    "askQty": "14.31400000",
    "openPrice": "0.01362800",
    "highPrice": "0.01414900",
    "lowPrice": "0.01346600",
    "volume": "69412.40500000",
    "quoteVolume": "959.59411487",
    "openTime": 1660014164909,
    "closeTime": 1660100564909,
    "firstId": 194696115,       // 第一个交易 ID
    "lastId": 194968287,        // 最后一个交易 ID
    "count": 272173             // 成交笔数
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2
    }
  ]
}

MINI 类型,对于单个交易对:

{
  "id": "9fa2a91b-3fca-4ed7-a9ad-58e3b67483de",
  "status": 200,
  "result": {
    "symbol": "BNBBTC",
    "openPrice": "0.01362800",
    "highPrice": "0.01414900",
    "lowPrice": "0.01346600",
    "lastPrice": "0.01376700",
    "volume": "69412.40500000",
    "quoteVolume": "959.59411487",
    "openTime": 1660014164909,
    "closeTime": 1660100564909,
    "firstId": 194696115,       // 第一个交易 ID
    "lastId": 194968287,        // 最后一个交易ID
    "count": 272173             // 成交笔数
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2
    }
  ]
}

如果请求是有多个交易对,响应会是数组类型:

{
  "id": "901be0d9-fd3b-45e4-acd6-10c580d03430",
  "status": 200,
  "result": [
    {
      "symbol": "BNBBTC",
      "priceChange": "0.00016500",
      "priceChangePercent": "1.213",
      "weightedAvgPrice": "0.01382508",
      "prevClosePrice": "0.01360800",
      "lastPrice": "0.01377200",
      "lastQty": "1.01400000",
      "bidPrice": "0.01377100",
      "bidQty": "7.55700000",
      "askPrice": "0.01377200",
      "askQty": "4.37900000",
      "openPrice": "0.01360700",
      "highPrice": "0.01414900",
      "lowPrice": "0.01346600",
      "volume": "69376.27900000",
      "quoteVolume": "959.13277091",
      "openTime": 1660014615517,
      "closeTime": 1660101015517,
      "firstId": 194697254,
      "lastId": 194969483,
      "count": 272230
    },
    {
      "symbol": "BTCUSDT",
      "priceChange": "-938.06000000",
      "priceChangePercent": "-3.938",
      "weightedAvgPrice": "23265.34432003",
      "prevClosePrice": "23819.17000000",
      "lastPrice": "22880.91000000",
      "lastQty": "0.00536000",
      "bidPrice": "22880.40000000",
      "bidQty": "0.00424000",
      "askPrice": "22880.91000000",
      "askQty": "0.04276000",
      "openPrice": "23818.97000000",
      "highPrice": "23933.25000000",
      "lowPrice": "22664.69000000",
      "volume": "153508.37606000",
      "quoteVolume": "3571425225.04441220",
      "openTime": 1660014615977,
      "closeTime": 1660101015977,
      "firstId": 1592019902,
      "lastId": 1597301762,
      "count": 5281861
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2
    }
  ]
}

24 小时滚动窗口价格变动数据。 如果您需要持续监控交易统计,请考虑使用 WebSocket Streams:

如果你想用不同的窗口数量,可以用 ticker 请求。

权重(IP): 根据交易对的数量进行调整:

交易对 重量
1–20 2
21–100 40
101 以上 80
全部交易对 80

参数:

名称 类型 是否必需 描述
symbol STRING NO 获取单个交易对的 ticker
symbols ARRAY of STRING 获取多个交易对的 ticker
type ENUM NO Ticker 类型: FULL (默认) 或者 MINI

备注:

数据源: 缓存

交易日行情(Ticker)

请求

{
  "id": "f4b3b507-c8f2-442a-81a6-b2f12daa030f",
  "method": "ticker.tradingDay",
  "params": {
    "symbols": [
      "BNBBTC",
      "BTCUSDT"
    ],
    "timeZone": "00:00"
  }
}

响应 - FULL

symbol:

{
  "id": "f4b3b507-c8f2-442a-81a6-b2f12daa030f",
  "status": 200,
  "result": {
    "symbol": "BTCUSDT",
    "priceChange": "-83.13000000",                // 绝对价格变动
    "priceChangePercent": "-0.317",               // 相对价格变动百分比
    "weightedAvgPrice": "26234.58803036",         // 报价成交量 / 成交量
    "openPrice": "26304.80000000",
    "highPrice": "26397.46000000",
    "lowPrice": "26088.34000000",
    "lastPrice": "26221.67000000",
    "volume": "18495.35066000",                   // 基础资产的成交量
    "quoteVolume": "485217905.04210480",
    "openTime": 1695686400000,
    "closeTime": 1695772799999,
    "firstId": 3220151555,
    "lastId": 3220849281,
    "count": 697727
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 4
    }
  ]
}

symbols:

{
  "id": "f4b3b507-c8f2-442a-81a6-b2f12daa030f",
  "status": 200,
  "result": [
    {
      "symbol": "BTCUSDT",
      "priceChange": "-83.13000000",
      "priceChangePercent": "-0.317",
      "weightedAvgPrice": "26234.58803036",
      "openPrice": "26304.80000000",
      "highPrice": "26397.46000000",
      "lowPrice": "26088.34000000",
      "lastPrice": "26221.67000000",
      "volume": "18495.35066000",
      "quoteVolume": "485217905.04210480",
      "openTime": 1695686400000,
      "closeTime": 1695772799999,
      "firstId": 3220151555,
      "lastId": 3220849281,
      "count": 697727
    },
    {
      "symbol": "BNBUSDT",
      "priceChange": "2.60000000",
      "priceChangePercent": "1.238",
      "weightedAvgPrice": "211.92276958",
      "openPrice": "210.00000000",
      "highPrice": "213.70000000",
      "lowPrice": "209.70000000",
      "lastPrice": "212.60000000",
      "volume": "280709.58900000",
      "quoteVolume": "59488753.54750000",
      "openTime": 1695686400000,
      "closeTime": 1695772799999,
      "firstId": 672397461,
      "lastId": 672496158,
      "count": 98698
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 8
    }
  ]
}

相应: - MINI

symbol:

{
  "id": "f4b3b507-c8f2-442a-81a6-b2f12daa030f",
  "status": 200,
  "result": {
    "symbol": "BTCUSDT",
    "openPrice": "26304.80000000",
    "highPrice": "26397.46000000",
    "lowPrice": "26088.34000000",
    "lastPrice": "26221.67000000",
    "volume": "18495.35066000",                  // 基础资产的成交量
    "quoteVolume": "485217905.04210480",         // 报价资产的成交量
    "openTime": 1695686400000,
    "closeTime": 1695772799999,
    "firstId": 3220151555,                       // 区间内的第一个交易的交易ID
    "lastId": 3220849281,                        // 区间内的最后一个交易的交易ID
    "count": 697727                              // 区间内的交易数量
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 4
    }
  ]
}

symbols:

{
  "id": "f4b3b507-c8f2-442a-81a6-b2f12daa030f",
  "status": 200,
  "result": [
    {
      "symbol": "BTCUSDT",
      "openPrice": "26304.80000000",
      "highPrice": "26397.46000000",
      "lowPrice": "26088.34000000",
      "lastPrice": "26221.67000000",
      "volume": "18495.35066000",
      "quoteVolume": "485217905.04210480",
      "openTime": 1695686400000,
      "closeTime": 1695772799999,
      "firstId": 3220151555,
      "lastId": 3220849281,
      "count": 697727
    },
    {
      "symbol": "BNBUSDT",
      "openPrice": "210.00000000",
      "highPrice": "213.70000000",
      "lowPrice": "209.70000000",
      "lastPrice": "212.60000000",
      "volume": "280709.58900000",
      "quoteVolume": "59488753.54750000",
      "openTime": 1695686400000,
      "closeTime": 1695772799999,
      "firstId": 672397461,
      "lastId": 672496158,
      "count": 98698
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 8
    }
  ]
}

交易日价格变动统计。

权重:

每个交易对占用4个权重.

当请求中的交易对数量超过50,此请求的权重将限制在200。

参数:

参数名 类型 是否必需 描述
symbol STRING YES 查询单交易对的行情
symbols ARRAY of STRING 查询多交易对行情
timeZone STRING NO 默认: 0 (UTC)
type ENUM NO 可接受值: FULL or MINI.
默认值: FULL

注意:

数据源: 数据库

滚动窗口价格变动统计

请求:

{
  "id": "f4b3b507-c8f2-442a-81a6-b2f12daa030f",
  "method": "ticker",
  "params": {
    "symbols": [
      "BNBBTC",
      "BTCUSDT"
    ],
    "windowSize": "7d"
  }
}

响应:

FULL 类型,对于单个交易对:

{
  "id": "f4b3b507-c8f2-442a-81a6-b2f12daa030f",
  "status": 200,
  "result": {
    "symbol": "BNBBTC",
    "priceChange": "0.00061500",
    "priceChangePercent": "4.735",
    "weightedAvgPrice": "0.01368242",
    "openPrice": "0.01298900",
    "highPrice": "0.01418800",
    "lowPrice": "0.01296000",
    "lastPrice": "0.01360400",
    "volume": "587179.23900000",
    "quoteVolume": "8034.03382165",
    "openTime": 1659580020000,
    "closeTime": 1660184865291,
    "firstId": 192977765,       // 第一个交易 ID
    "lastId": 195365758,        // 最后交易 ID
    "count": 2387994            // 成交笔数
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 4
    }
  ]
}

MINI 类型,对于单个交易对:

{
  "id": "bdb7c503-542c-495c-b797-4d2ee2e91173",
  "status": 200,
  "result": {
    "symbol": "BNBBTC",
    "openPrice": "0.01298900",
    "highPrice": "0.01418800",
    "lowPrice": "0.01296000",
    "lastPrice": "0.01360400",
    "volume": "587179.23900000",
    "quoteVolume": "8034.03382165",
    "openTime": 1659580020000,
    "closeTime": 1660184865291,
    "firstId": 192977765,       // 第一个交易 ID
    "lastId": 195365758,        // 最后交易 ID
    "count": 2387994            // 成交笔数
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 4
    }
  ]
}

如果请求是有多个交易对,响应会是数组类型:

{
  "id": "f4b3b507-c8f2-442a-81a6-b2f12daa030f",
  "status": 200,
  "result": [
    {
      "symbol": "BNBBTC",
      "priceChange": "0.00061500",
      "priceChangePercent": "4.735",
      "weightedAvgPrice": "0.01368242",
      "openPrice": "0.01298900",
      "highPrice": "0.01418800",
      "lowPrice": "0.01296000",
      "lastPrice": "0.01360400",
      "volume": "587169.48600000",
      "quoteVolume": "8033.90114517",
      "openTime": 1659580020000,
      "closeTime": 1660184820927,
      "firstId": 192977765,
      "lastId": 195365700,
      "count": 2387936
    },
    {
      "symbol": "BTCUSDT",
      "priceChange": "1182.92000000",
      "priceChangePercent": "5.113",
      "weightedAvgPrice": "23349.27074846",
      "openPrice": "23135.33000000",
      "highPrice": "24491.22000000",
      "lowPrice": "22400.00000000",
      "lastPrice": "24318.25000000",
      "volume": "1039498.10978000",
      "quoteVolume": "24271522807.76838630",
      "openTime": 1659580020000,
      "closeTime": 1660184820927,
      "firstId": 1568787779,
      "lastId": 1604337406,
      "count": 35549628
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 8
    }
  ]
}

使用自定义窗口获取滚动窗口价格变化统计信息。

这个请求类似于 ticker.24hr,但统计数据是使用指定的任意窗口按需计算的。

注意: 窗口大小精度限制为1分钟。 虽然 closeTime 是请求的当前时间,openTime 总是从分钟边界开始。 因此,有效窗口可能比请求的 windowSize 宽59999毫秒。

例如,对 "windowSize": "7d" 的请求可能会导致以下窗口:

"openTime": 1659580020000, "closeTime": 1660184865291

如果您需要持续监控交易统计,请考虑使用 WebSocket Streams:

权重(IP): 根据交易对的数量进行调整:

交易对 重量
1–50 4 per symbol
51–100 200

参数:

名称 类型 是否必需 描述
symbol STRING YES 获取单个交易对的 ticker
symbols ARRAY of STRING 获取多个交易对的 ticker
type ENUM NO Ticker 类型: FULL (默认) 或者 MINI
windowSize ENUM NO 默认 1d

支持的窗口 size:

单位 windowSize
minutes 1m, 2m ... 59m
hours 1h, 2h ... 23h
days 1d, 2d ... 7d

备注:

数据源: 数据库

最新价格

请求:

{
  "id": "043a7cf2-bde3-4888-9604-c8ac41fcba4d",
  "method": "ticker.price",
  "params": {
    "symbol": "BNBBTC"
  }
}

响应:

{
  "id": "043a7cf2-bde3-4888-9604-c8ac41fcba4d",
  "status": 200,
  "result": {
    "symbol": "BNBBTC",
    "price": "0.01361900"
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2
    }
  ]
}

如果请求是有多个交易对,响应会是数组类型:

{
  "id": "e739e673-24c8-4adf-9cfa-b81f30330b09",
  "status": 200,
  "result": [
    {
      "symbol": "BNBBTC",
      "price": "0.01363700"
    },
    {
      "symbol": "BTCUSDT",
      "price": "24267.15000000"
    },
    {
      "symbol": "BNBBUSD",
      "price": "331.10000000"
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 4
    }
  ]
}

获取交易对最新价格

如果需要访问实时价格更新,请考虑使用 WebSocket Streams:

权重(IP): 根据交易对的数量进行调整:

参数 重量
symbol 2
symbols 4
none 4

参数:

名称 类型 是否必需 描述
symbol STRING NO 获取单个交易对的 price
symbols ARRAY of STRING 获取多个交易对的 price

备注:

数据源: 缓存

当前最优挂单

请求:

{
  "id": "057deb3a-2990-41d1-b58b-98ea0f09e1b4",
  "method": "ticker.book",
  "params": {
    "symbols": [
      "BNBBTC",
      "BTCUSDT"
    ]
  }
}

响应:

{
  "id": "9d32157c-a556-4d27-9866-66760a174b57",
  "status": 200,
  "result": {
    "symbol": "BNBBTC",
    "bidPrice": "0.01358000",
    "bidQty": "12.53400000",
    "askPrice": "0.01358100",
    "askQty": "17.83700000"
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2
    }
  ]
}

如果请求是有多个交易对,响应会是数组类型:

{
  "id": "057deb3a-2990-41d1-b58b-98ea0f09e1b4",
  "status": 200,
  "result": [
    {
      "symbol": "BNBBTC",
      "bidPrice": "0.01358000",
      "bidQty": "12.53400000",
      "askPrice": "0.01358100",
      "askQty": "17.83700000"
    },
    {
      "symbol": "BTCUSDT",
      "bidPrice": "23980.49000000",
      "bidQty": "0.01000000",
      "askPrice": "23981.31000000",
      "askQty": "0.01512000"
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 4
    }
  ]
}

在订单薄获取当前最优价格和数量。

如果您需要访问实时订单薄 ticker 更新,请考虑使用 WebSocket Streams:

权重(IP): 根据交易对的数量进行调整:

参数 重量
symbol 2
symbols 4
none 4

参数:

名称 类型 是否必需 描述
symbol STRING NO 获取单个交易对的 ticker
symbols ARRAY of STRING 获取多个交易对的 ticker

备注:

数据源: 缓存

身份验证请求

注意: 仅支持 Ed25519 密钥用于此功能。

用API key登录 (SIGNED)

请求

{
  "id": "c174a2b1-3f51-4580-b200-8528bd237cb7",
  "method": "session.logon",
  "params": {
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "1cf54395b336b0a9727ef27d5d98987962bc47aca6e13fe978612d0adee066ed",
    "timestamp": 1649729878532
  }
}

响应:

{
  "id": "c174a2b1-3f51-4580-b200-8528bd237cb7",
  "status": 200,
  "result": {
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "authorizedSince": 1649729878532,
    "connectedSince": 1649729873021,
    "returnRateLimits": false,
    "serverTime": 1649729878630
  }
}

使用提供的API密钥进行WebSocket连接身份验证。

在调用session.logon后,将来的需要apiKeysignature参数的请求可以省略它们。

请注意,只能认证一个API密钥。 多次调用session.logon将更改当前已认证的API密钥。

权重: 2

参数:

参数名 类型 是否必需 描述
apiKey STRING YES
recvWindow INT NO The value cannot be greater than 60000
signature STRING YES
timestamp INT YES

数据源: 缓存

查询会话状态

请求

{
  "id": "b50c16cd-62c9-4e29-89e4-37f10111f5bf",
  "method": "session.status"
}

响应:

{
  "id": "b50c16cd-62c9-4e29-89e4-37f10111f5bf",
  "status": 200,
  "result": {
    // 如果连接未经身份验证,"apiKey" 和 "authorizedSince" 将显示为 null。
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "authorizedSince": 1649729878532,
    "connectedSince": 1649729873021,
    "returnRateLimits": false,
    "serverTime": 1649730611671
  }
}

查询WebSocket连接的状态,检查用于授权请求的API密钥(如果有的话)。

权重: 2

参数: NONE

数据源: 缓存

退出会话

请求

{
  "id": "c174a2b1-3f51-4580-b200-8528bd237cb7",
  "method": "session.logout"
}

响应:

{
  "id": "c174a2b1-3f51-4580-b200-8528bd237cb7",
  "status": 200,
  "result": {
    "apiKey": null,
    "authorizedSince": null,
    "connectedSince": 1649729873021,
    "returnRateLimits": false,
    "serverTime": 1649730611671
  }
}

忘记之前认证的API密钥。 如果连接未经身份验证,此请求不会有任何作用。

请注意,session.logout请求后,WebSocket连接仍然保持打开状态。 你可以继续使用连接,但现在必须在需要的地方明确提供apiKeysignature参数。

权重: 2

参数: NONE

数据源: 缓存

交易请求

下新的订单 (TRADE)

请求:

{
  "id": "56374a46-3061-486b-a311-99ee972eb648",
  "method": "order.place",
  "params": {
    "symbol": "BTCUSDT",
    "side": "SELL",
    "type": "LIMIT",
    "timeInForce": "GTC",
    "price": "23416.10000000",
    "quantity": "0.00847000",
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "15af09e41c36f3cc61378c2fbe2c33719a03dd5eba8d0f9206fbda44de717c88",
    "timestamp": 1660801715431
  }
}

响应:

ACK 响应类型:

{
  "id": "56374a46-3061-486b-a311-99ee972eb648",
  "status": 200,
  "result": {
    "symbol": "BTCUSDT",
    "orderId": 12569099453,
    "orderListId": -1, // 单个订单会一直是 -1
    "clientOrderId": "4d96324ff9d44481926157ec08158a40",
    "transactTime": 1660801715639
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 1
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 1
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

RESULT 响应类型:

{
  "id": "56374a46-3061-486b-a311-99ee972eb648",
  "status": 200,
  "result": {
    "symbol": "BTCUSDT",
    "orderId": 12569099453,
    "orderListId": -1, // 单个订单会一直是 -1
    "clientOrderId": "4d96324ff9d44481926157ec08158a40",
    "transactTime": 1660801715639,
    "price": "23416.10000000",
    "origQty": "0.00847000",
    "executedQty": "0.00000000",
    "cummulativeQuoteQty": "0.00000000",
    "status": "NEW",
    "timeInForce": "GTC",
    "type": "LIMIT",
    "side": "SELL",
    "workingTime": 1660801715639,
    "selfTradePreventionMode": "NONE"
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 1
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 1
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

FULL 响应类型:

{
  "id": "56374a46-3061-486b-a311-99ee972eb648",
  "status": 200,
  "result": {
    "symbol": "BTCUSDT",
    "orderId": 12569099453,
    "orderListId": -1,
    "clientOrderId": "4d96324ff9d44481926157ec08158a40",
    "transactTime": 1660801715793,
    "price": "23416.10000000",
    "origQty": "0.00847000",
    "executedQty": "0.00847000",
    "cummulativeQuoteQty": "198.33521500",
    "status": "FILLED",
    "timeInForce": "GTC",
    "type": "LIMIT",
    "side": "SELL",
    "workingTime": 1660801715793,
    // FULL 响应与 RESULT 响应相同,具有相同的可选字段基于订单类型和参数。FULL响应还包括立即完成订单的交易列表。
    "fills": [
      {
        "price": "23416.10000000",
        "qty": "0.00635000",
        "commission": "0.000000",
        "commissionAsset": "BNB",
        "tradeId": 1650422481
      },
      {
        "price": "23416.50000000",
        "qty": "0.00212000",
        "commission": "0.000000",
        "commissionAsset": "BNB",
        "tradeId": 1650422482
      }
    ],
    "selfTradePreventionMode": "NONE"
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 1
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 1
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

下新的订单。

权重(IP): 1

参数:

名称 类型 是否必需 描述
symbol STRING YES
side ENUM YES BUY 或者 SELL
type ENUM YES
timeInForce ENUM NO *
price DECIMAL NO *
quantity DECIMAL NO *
quoteOrderQty DECIMAL NO *
newClientOrderId STRING NO 客户自定义的唯一订单ID。如果未发送,则自动生成。
newOrderRespType ENUM NO

可选的响应格式: ACKRESULTFULL.

MARKETLIMIT订单默认使用FULL,其他订单类型默认使用ACK

stopPrice DECIMAL NO *
trailingDelta INT NO * 请看 Trailing Stop FAQ
icebergQty DECIMAL NO
strategyId INT NO 标识订单策略中订单的任意ID。
strategyType INT NO

标识订单策略的任意数值。

小于1000000的值是保留的,不能使用。

selfTradePreventionMode ENUM NO 允许的 ENUM 取决于交易对的配置。支持的值有 EXPIRE_TAKEREXPIRE_MAKEREXPIRE_BOTHNONE
apiKey STRING YES
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

根据订单 type某些参数(*) 可能成为必需参数:

订单 type 强制要求的参数
LIMIT
  • timeInForce
  • price
  • quantity
LIMIT_MAKER
  • price
  • quantity
MARKET
  • quantity 或者 quoteOrderQty
STOP_LOSS
  • quantity
  • stopPrice 或者 trailingDelta
STOP_LOSS_LIMIT
  • timeInForce
  • price
  • quantity
  • stopPrice 或者 trailingDelta
TAKE_PROFIT
  • quantity
  • stopPrice 或者 trailingDelta
TAKE_PROFIT_LIMIT
  • timeInForce
  • price
  • quantity
  • stopPrice 或者 trailingDelta

支持的订单类型:

订单 type 描述
LIMIT

以指定的 price 或更好的 price, 买入或卖出 quantity

LIMIT_MAKER

LIMIT 订单,如果它立即匹配并成为吃单方将被拒绝。

此订单类型也称为 POST-ONLY 订单。

MARKET

以最佳市场价格买入或卖出。

  • 带有 quantity 参数的 MARKET 订单指定您要BUY或SELL的base asset的数量。 报价资产的实际执行quantity将取决于可用的市场流动性。

    例如,在 BTCUSDT 下 "quantity": "0.1000" 的市场买单,指定您想以最优惠的价格 BUY 0.1 BTC。 如果以最优价格没有足够的 BTC,会继续以次优价格买入,直到您的订单被执行,或者您的 USDT 用完,或者市场上的 BTC 用完。

  • 使用 quoteOrderQtyMARKET 订单 明确的是通过买入(或卖出)想要花费(或获取)的 quote asset 数量。 基础资产的实际执行数量将取决于可用的市场流动性。

    例如,在 BTCUSDT 下 "quoteOrderQty": "100.00" 的市场买单,指定您想以最优惠的价格以 100 USDT 购买尽可能多的 BTC。 同样,卖出订单将卖出尽可能多的可用 BTC,以便您获得 100 USDT(佣金前)。

STOP_LOSS

当满足指定条件时,执行给定 quantityMARKET 订单。

I.e., 当达到 stopPrice 或激活 trailingDelta 时。

STOP_LOSS_LIMIT

当满足指定条件时,执行给定参数的 LIMIT 订单。

TAKE_PROFIT

STOP_LOSS 类似,但在市场价格向有利方向移动时激活。

TAKE_PROFIT_LIMIT

STOP_LOSS_LIMIT 类似,但在市场价格向有利方向移动时激活。

可用的 timeInForce 选项,设置订单在到期前应该活跃多长时间:

TIF 描述
GTC Good 'til Canceled – 成交为止。订单会一直有效,直到被成交或者取消。
IOC Immediate 或者 Cancel – 无法立即成交的部分就撤销。订单在失效前会尽量多的成交。
FOK Fill 或者 Kill – 无法全部立即成交就撤销。如果无法全部成交,订单会失效。

备注:

仅当前一个订单已成交或过期时,才会接受具有相同 clientOrderId 的新订单。

带有 icebergQty 的订单必须将 timeInForce 设置为 GTC

该订单将执行一个名义价值尽可能接近请求的 quoteOrderQty 的数量。

数据源: 撮合引擎

订单响应中的特定条件时才会出现的字段

订单响应中的有一些字段仅在满足特定条件时才会出现。这些订单响应可以来自下订单,查询订单或取消订单,并且可以包括订单列表类型。 下面列出了这些字段:

名称 描述 显示的条件 示例
icebergQty 冰山订单的数量。 只有在请求中发送 icebergQty 参数时才会出现。 "icebergQty": "0.00000000"
preventedMatchId symbol 结合使用时,可用于查询因为 STP 导致订单失效的过期订单。 只有在因为 STP 导致订单失效时可见。 "preventedMatchId": 0
preventedQuantity 因为 STP 导致订单失效的数量。 只有在因为 STP 导致订单失效时可见。 "preventedQuantity": "1.200000"
stopPrice 用于设置逻辑订单中的触发价。 STOP_LOSSTAKE_PROFITSTOP_LOSS_LIMITTAKE_PROFIT_LIMIT 订单时可见。 "stopPrice": "23500.00000000"
strategyId 策略单ID; 用以关联此订单对应的交易策略。 如果在请求中添加了参数,则会出现。 "strategyId": 37463720
strategyType 策略单类型; 用以显示此订单对应的交易策略。 如果在请求中添加了参数,则会出现。 "strategyType": 1000000
trailingDelta 用以定义追踪止盈止损订单被触发的价格差。 出现在追踪止损订单中。 "trailingDelta": 10
trailingTime 追踪单被激活和跟踪价格变化的时间。 出现在追踪止损订单中。 "trailingTime": -1

测试下单 (TRADE)

请求:

{
  "id": "6ffebe91-01d9-43ac-be99-57cf062e0e30",
  "method": "order.test",
  "params": {
    "symbol": "BTCUSDT",
    "side": "SELL",
    "type": "LIMIT",
    "timeInForce": "GTC",
    "price": "23416.10000000",
    "quantity": "0.00847000",
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "15af09e41c36f3cc61378c2fbe2c33719a03dd5eba8d0f9206fbda44de717c88",
    "timestamp": 1660801715431
  }
}

响应:

{
  "id": "6ffebe91-01d9-43ac-be99-57cf062e0e30",
  "status": 200,
  "result": {},
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

或者

{
  "id": "6ffebe91-01d9-43ac-be99-57cf062e0e30",
  "status": 200,
  "result": {
    "standardCommissionForOrder": {           // 订单交易的标准佣金率
      "maker": "0.00000112",
      "taker": "0.00000114"
    },
    "taxCommissionForOrder": {                 // 订单交易的税率
      "maker": "0.00000112",
      "taker": "0.00000114"
    },  
    "discount": {                              // 以BNB支付时的标准佣金折扣。
      "enabledForAccount": true,
      "enabledForSymbol": true,
      "discountAsset": "BNB",
      "discount": "0.25000000"                 // 当用BNB支付佣金时,在标准佣金上按此比率打折
    }
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 20
    }
  ]
}

测试下单。

验证新订单参数并验证您的签名但不会将订单发送到撮合引擎。

权重(IP): | 条件 | 请求权重 | |------------ | ------------ | |没有 computeCommissionRates| 1 | |有 computeCommissionRates |20 |

参数:

除了 order.place 的所有参数, 下面参数也有效:

参数名 类型 是否必需 描述
computeCommissionRates BOOLEAN NO 默认: false

数据源: 缓存

查询订单 (USER_DATA)

请求:

{
  "id": "aa62318a-5a97-4f3b-bdc7-640bbe33b291",
  "method": "order.status",
  "params": {
    "symbol": "BTCUSDT",
    "orderId": 12569099453,
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "2c3aab5a078ee4ea465ecd95523b77289f61476c2f238ec10c55ea6cb11a6f35",
    "timestamp": 1660801720951
  }
}

响应:

{
  "id": "aa62318a-5a97-4f3b-bdc7-640bbe33b291",
  "status": 200,
  "result": {
    "symbol": "BTCUSDT",
    "orderId": 12569099453,
    "orderListId": -1,                  // 订单列表的ID,不然就是-1
    "clientOrderId": "4d96324ff9d44481926157",
    "price": "23416.10000000",
    "origQty": "0.00847000",
    "executedQty": "0.00847000",
    "cummulativeQuoteQty": "198.33521500",
    "status": "FILLED",
    "timeInForce": "GTC",
    "type": "LIMIT",
    "side": "SELL",
    "stopPrice": "0.00000000",          // 始终存在,如果订单类型不使用 stopPrice,则为零
    "icebergQty": "0.00000000",         // 始终存在,非冰山订单为零
    "time": 1660801715639,              // 下单时间
    "updateTime": 1660801717945,        // 最后一次更新订单的时间
    "isWorking": true,
    "workingTime": 1660801715639,
    "origQuoteOrderQty": "0.00000000",  // 始终存在,如果订单类型不使用 quoteOrderQty,则为零
    "selfTradePreventionMode": "NONE"
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 4
    }
  ]
}

查询订单状态。

权重(IP): 4

参数:

名称 类型 是否必需 描述
symbol STRING YES
orderId INT YES orderId 查找顺序
origClientOrderId STRING clientOrderId 查找顺序
apiKey STRING YES
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

备注:

数据源: 缓存 => 数据库

注意: 响应示例没有显示所有可以出现的字段,更多请看 "订单响应中的特定条件时才会出现的字段" 部分。

撤销订单 (TRADE)

请求:

{
  "id": "5633b6a2-90a9-4192-83e7-925c90b6a2fd",
  "method": "order.cancel",
  "params": {
    "symbol": "BTCUSDT",
    "origClientOrderId": "4d96324ff9d44481926157",
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "33d5b721f278ae17a52f004a82a6f68a70c68e7dd6776ed0be77a455ab855282",
    "timestamp": 1660801715830
  }
}

响应:

取消单个订单时:

{
  "id": "5633b6a2-90a9-4192-83e7-925c90b6a2fd",
  "status": 200,
  "result": {
    "symbol": "BTCUSDT",
    "origClientOrderId": "4d96324ff9d44481926157",  // 被取消的 clientOrderId
    "orderId": 12569099453,
    "orderListId": -1,                              // 订单列表的ID,不然就是 -1
    "clientOrderId": "91fe37ce9e69c90d6358c0",      // 请求的 newClientOrderId
    "transactTime": 1684804350068,
    "price": "23416.10000000",
    "origQty": "0.00847000",
    "executedQty": "0.00001000",
    "cummulativeQuoteQty": "0.23416100",
    "status": "CANCELED",
    "timeInForce": "GTC",
    "type": "LIMIT",
    "side": "SELL",
    "selfTradePreventionMode": "NONE"
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

取消订单列表时:

{
  "id": "16eaf097-bbec-44b9-96ff-e97e6e875870",
  "status": 200,
  "result": {
    "orderListId": 19431,
    "contingencyType": "OCO",
    "listStatusType": "ALL_DONE",
    "listOrderStatus": "ALL_DONE",
    "listClientOrderId": "iuVNVJYYrByz6C4yGOPPK0",
    "transactionTime": 1660803702431,
    "symbol": "BTCUSDT",
    "orders": [
      {
        "symbol": "BTCUSDT",
        "orderId": 12569099453,
        "clientOrderId": "bX5wROblo6YeDwa9iTLeyY"
      },
      {
        "symbol": "BTCUSDT",
        "orderId": 12569099454,
        "clientOrderId": "Tnu2IP0J5Y4mxw3IATBfmW"
      }
    ],
    // 订单列表中的订单状态格式与单个订单相同。
    "orderReports": [
      {
        "symbol": "BTCUSDT",
        "origClientOrderId": "bX5wROblo6YeDwa9iTLeyY",
        "orderId": 12569099453,
        "orderListId": 19431,
        "clientOrderId": "OFFXQtxVFZ6Nbcg4PgE2DA",
        "transactTime": 1684804350068,
        "price": "23450.50000000",
        "origQty": "0.00850000"
        "executedQty": "0.00000000",
        "cummulativeQuoteQty": "0.00000000",
        "status": "CANCELED",
        "timeInForce": "GTC",
        "type": "STOP_LOSS_LIMIT",
        "side": "BUY",
        "stopPrice": "23430.00000000",
        "selfTradePreventionMode": "NONE"
      },
      {
        "symbol": "BTCUSDT",
        "origClientOrderId": "Tnu2IP0J5Y4mxw3IATBfmW",
        "orderId": 12569099454,
        "orderListId": 19431,
        "clientOrderId": "OFFXQtxVFZ6Nbcg4PgE2DA",
        "transactTime": 1684804350068,
        "price": "23400.00000000",
        "origQty": "0.00850000"
        "executedQty": "0.00000000",
        "cummulativeQuoteQty": "0.00000000",
        "status": "CANCELED",
        "timeInForce": "GTC",
        "type": "LIMIT_MAKER",
        "side": "BUY",
        "selfTradePreventionMode": "NONE"
      }
    ]
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

取消有效订单。

权重(IP): 1

参数:

名称 类型 是否必需 描述
symbol STRING YES
orderId INT YES orderId 取消订单
origClientOrderId STRING clientOrderId 取消订单
newClientOrderId STRING NO 已取消订单的新 ID。如果未发送,则自动生成
cancelRestrictions ENUM NO 支持的值:
ONLY_NEW - 如果订单状态为 NEW,撤销将成功。
ONLY_PARTIALLY_FILLED - 如果订单状态为 PARTIALLY_FILLED,撤销将成功。
apiKey STRING YES
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

备注:

数据源: 撮合引擎

注意: 响应示例没有显示所有可以出现的字段,更多请看 "订单响应中的特定条件时才会出现的字段" 部分。

关于 cancelRestrictions

撤消挂单再下单 (TRADE)

请求:

{
  "id": "99de1036-b5e2-4e0f-9b5c-13d751c93a1a",
  "method": "order.cancelReplace",
  "params": {
    "symbol": "BTCUSDT",
    "cancelReplaceMode": "ALLOW_FAILURE",
    "cancelOrigClientOrderId": "4d96324ff9d44481926157",
    "side": "SELL",
    "type": "LIMIT",
    "timeInForce": "GTC",
    "price": "23416.10000000",
    "quantity": "0.00847000",
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "7028fdc187868754d25e42c37ccfa5ba2bab1d180ad55d4c3a7e2de643943dc5",
    "timestamp": 1660813156900
  }
}

响应:

如果撤销订单和下新订单都成功,响应会是 "status": 200

{
  "id": "99de1036-b5e2-4e0f-9b5c-13d751c93a1a",
  "status": 200,
  "result": {
    "cancelResult": "SUCCESS",
    "newOrderResult": "SUCCESS",
    // 格式与 "order.cancel" 格式相同。
    // 某些字段是可选的,仅在订单中有设置它们时才包括。
    "cancelResponse": {
      "symbol": "BTCUSDT",
      "origClientOrderId": "4d96324ff9d44481926157",  // 请求的 cancelOrigClientOrderId
      "orderId": 125690984230,
      "orderListId": -1,
      "clientOrderId": "91fe37ce9e69c90d6358c0",      // 请求的 cancelNewClientOrderId
      "transactTime": 1684804350068,
      "price": "23450.00000000",
      "origQty": "0.00847000",
      "executedQty": "0.00001000",
      "cummulativeQuoteQty": "0.23450000",
      "status": "CANCELED",
      "timeInForce": "GTC",
      "type": "LIMIT",
      "side": "SELL",
      "selfTradePreventionMode": "NONE"
    },
    // 格式与 "order.place" 格式相同, 受 "newOrderRespType" 影响。
    // 某些字段是可选的,仅在订单中有设置它们时才包括。
    "newOrderResponse": {
      "symbol": "BTCUSDT",
      "orderId": 12569099453,
      "orderListId": -1,
      "clientOrderId": "bX5wROblo6YeDwa9iTLeyY",      // 请求的 newClientOrderId
      "transactTime": 1660813156959,
      "price": "23416.10000000",
      "origQty": "0.00847000",
      "executedQty": "0.00000000",
      "cummulativeQuoteQty": "0.00000000",
      "status": "NEW",
      "timeInForce": "GTC",
      "type": "LIMIT",
      "side": "SELL",
      "workingTime": 1660813156959,
      "fills": [],
      "selfTradePreventionMode": "NONE"
    }
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 1
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 1
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

STOP_ON_FAILURE 模式,失败的撤销订单会阻止下新订单,响应会是 "status": 400

{
  "id": "27e1bf9f-0539-4fb0-85c6-06183d36f66c",
  "status": 400,
  "error": {
    "code": -2022,
    "msg": "Order cancel-replace failed.",
    "data": {
      "cancelResult": "FAILURE",
      "newOrderResult": "NOT_ATTEMPTED",
      "cancelResponse": {
        "code": -2011,
        "msg": "Unknown order sent."
      },
      "newOrderResponse": null
    }
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 1
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 1
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

如果 cancel-replace 模式允许失败并且其中一个操作失败,响应会是 "status": 409"data" 字段会制定哪个操作成功,哪个失败,以及原因:

{
  "id": "b220edfe-f3c4-4a3a-9d13-b35473783a25",
  "status": 409,
  "error": {
    "code": -2021,
    "msg": "Order cancel-replace partially failed.",
    "data": {
      "cancelResult": "SUCCESS",
      "newOrderResult": "FAILURE",
      "cancelResponse": {
        "symbol": "BTCUSDT",
        "origClientOrderId": "4d96324ff9d44481926157",
        "orderId": 125690984230,
        "orderListId": -1,
        "clientOrderId": "91fe37ce9e69c90d6358c0",
        "transactTime": 1684804350068,
        "price": "23450.00000000",
        "origQty": "0.00847000",
        "executedQty": "0.00001000",
        "cummulativeQuoteQty": "0.23450000",
        "status": "CANCELED",
        "timeInForce": "GTC",
        "type": "LIMIT",
        "side": "SELL",
        "selfTradePreventionMode": "NONE"
      },
      "newOrderResponse": {
        "code": -2010,
        "msg": "Order would immediately match and take."
      }
    }
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 1
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 1
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}
{
  "id": "ce641763-ff74-41ac-b9f7-db7cbe5e93b1",
  "status": 409,
  "error": {
    "code": -2021,
    "msg": "Order cancel-replace partially failed.",
    "data": {
      "cancelResult": "FAILURE",
      "newOrderResult": "SUCCESS",
      "cancelResponse": {
        "code": -2011,
        "msg": "Unknown order sent."
      },
      "newOrderResponse": {
        "symbol": "BTCUSDT",
        "orderId": 12569099453,
        "orderListId": -1,
        "clientOrderId": "bX5wROblo6YeDwa9iTLeyY",
        "transactTime": 1660813156959,
        "price": "23416.10000000",
        "origQty": "0.00847000",
        "executedQty": "0.00000000",
        "cummulativeQuoteQty": "0.00000000",
        "status": "NEW",
        "timeInForce": "GTC",
        "type": "LIMIT",
        "side": "SELL",
        "workingTime": 1669693344508,
        "fills": [],
        "selfTradePreventionMode": "NONE"
      }
    }
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 1
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 1
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

如果两个操作都失败,响应将有 "status": 400

{
  "id": "3b3ac45c-1002-4c7d-88e8-630c408ecd87",
  "status": 400,
  "error": {
    "code": -2022,
    "msg": "Order cancel-replace failed.",
    "data": {
      "cancelResult": "FAILURE",
      "newOrderResult": "FAILURE",
      "cancelResponse": {
        "code": -2011,
        "msg": "Unknown order sent."
      },
      "newOrderResponse": {
        "code": -2010,
        "msg": "Order would immediately match and take."
      }
    }
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 1
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 1
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

如果 orderRateLimitExceededModeDO_NOTHING,那么无论 cancelReplaceMode 的取值,当账户超出下单速率限制时,响应将有 "status": 429:

{
  "id": "3b3ac45c-1002-4c7d-88e8-630c408ecd87",
  "status": 429,
  "error": {
    "code": -1015,
    "msg": "Too many new orders; current limit is 50 orders per 10 SECOND."
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 50
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 50
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

如果 orderRateLimitExceededModeCANCEL_ONLY,那么无论 cancelReplaceMode 的取值,当账户超出下单速率限制时,响应将有 "status": 409:

{
  "id": "3b3ac45c-1002-4c7d-88e8-630c408ecd87",
  "status": 409,
  "error": {
    "code": -2021,
    "msg": "Order cancel-replace partially failed.",
    "data": {
      "cancelResult": "SUCCESS",
      "newOrderResult": "FAILURE",
      "cancelResponse": {
        "symbol": "LTCBNB",
        "origClientOrderId": "GKt5zzfOxRDSQLveDYCTkc",
        "orderId": 64,
        "orderListId": -1,
        "clientOrderId": "loehOJF3FjoreUBDmv739R",
        "transactTime": 1715779007228,
        "price": "1.00",
        "origQty": "10.00000000",
        "executedQty": "0.00000000",
        "cummulativeQuoteQty": "0.00",
        "status": "CANCELED",
        "timeInForce": "GTC",
        "type": "LIMIT",
        "side": "SELL",
        "selfTradePreventionMode": "NONE"
      },
      "newOrderResponse": {
        "code": -1015,
        "msg": "Too many new orders; current limit is 50 orders per 10 SECOND."
      }
    }
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 50
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 50
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

撤消挂单并在同个交易对上重新下单。

权重(IP): 1

参数:

名称 类型 是否必需 描述
symbol STRING YES
cancelReplaceMode ENUM YES
cancelOrderId INT YES orderId 取消订单
cancelOrigClientOrderId STRING clientOrderId 取消订单
cancelNewClientOrderId STRING NO 已取消订单的新 ID。如果未发送,则自动生成
side ENUM YES BUY 或者 SELL
type ENUM YES
timeInForce ENUM NO *
price DECIMAL NO *
quantity DECIMAL NO *
quoteOrderQty DECIMAL NO *
newClientOrderId STRING NO 客户自定义的唯一订单ID。如果未发送,则自动生成
newOrderRespType ENUM NO

选择响应格式: ACK, RESULT, FULL

MARKETLIMIT 订单默认推送 FULL 响应, 其他订单类型默认为 ACK

stopPrice DECIMAL NO *
trailingDelta DECIMAL NO * 请看 Trailing Stop FAQ
icebergQty DECIMAL NO
strategyId INT NO 标识订单策略中订单的任意ID。
strategyType INT NO

标识订单策略的任意数值。

小于 1000000 的值被保留,不能使用。

selfTradePreventionMode ENUM NO

允许的 ENUM 取决于交易对的配置。

支持的值有 EXPIRE_TAKER, EXPIRE_MAKER, EXPIRE_BOTH, NONE

cancelRestrictions ENUM NO 支持的值:
ONLY_NEW - 如果订单状态为 NEW,撤销将成功。
ONLY_PARTIALLY_FILLED - 如果订单状态为 PARTIALLY_FILLED,撤销将成功。
apiKey STRING YES
orderRateLimitExceededMode ENUM NO 支持的值:
DO_NOTHING (默认值)- 仅在账户未超过未成交订单频率限制时,会尝试取消订单。
CANCEL_ONLY - 将始终取消订单。
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

类似于 order.place 请求,额外的强制参数 (*) 由新订单的 type 确定。

可用的 cancelReplaceMode 选项:

请求 响应
cancelReplaceMode orderRateLimitExceededMode 下单数 cancelResult newOrderResult status
STOP_ON_FAILURE DO_NOTHING 在限制范围内 SUCCESS SUCCESS 200
FAILURE NOT_ATTEMPTED 400
SUCCESS FAILURE 409
超出限制范围 SUCCESS SUCCESS N/A
FAILURE NOT_ATTEMPTED N/A
SUCCESS FAILURE N/A
CANCEL_ONLY 在限制范围内 SUCCESS SUCCESS 200
FAILURE NOT_ATTEMPTED 400
SUCCESS FAILURE 409
超出限制范围 FAILURE NOT_ATTEMPTED 429
SUCCESS FAILURE 429
ALLOW_FAILURE DO_NOTHING 在限制范围内 SUCCESS SUCCESS 200
FAILURE FAILURE 400
FAILURE SUCCESS 409
SUCCESS FAILURE 409
超出限制范围 SUCCESS SUCCESS N/A
FAILURE FAILURE N/A
FAILURE SUCCESS N/A
SUCCESS FAILURE N/A
CANCEL_ONLY 在限制范围内 SUCCESS SUCCESS 200
FAILURE FAILURE 400
FAILURE SUCCESS 409
SUCCESS FAILURE 409
超出限制范围 SUCCESS SUCCESS 200
FAILURE FAILURE 400
FAILURE SUCCESS N/A
SUCCESS FAILURE 409

备注:

仅当前一个订单已成交或过期时,才会接受具有相同 clientOrderId 的新订单。

新订单可以重用已取消订单的旧 clientOrderId

如果一个操作成功但另一个操作失败,则仍然执行成功的操作。

例如,在 STOP_ON_FAILURE 模式下,如果下新订单达失败,旧订单仍然被撤销。

数据源: 撮合引擎

注意: 响应示例没有显示所有可以出现的字段,更多请看 "订单响应中的特定条件时才会出现的字段" 部分。

当前挂单 (USER_DATA)

请求:

{
  "id": "55f07876-4f6f-4c47-87dc-43e5fff3f2e7",
  "method": "openOrders.status",
  "params": {
    "symbol": "BTCUSDT",
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "d632b3fdb8a81dd44f82c7c901833309dd714fe508772a89b0a35b0ee0c48b89",
    "timestamp": 1660813156812
  }
}

响应:

{
  "id": "55f07876-4f6f-4c47-87dc-43e5fff3f2e7",
  "status": 200,
  "result": [
    {
      "symbol": "BTCUSDT",
      "orderId": 12569099453,
      "orderListId": -1,
      "clientOrderId": "4d96324ff9d44481926157",
      "price": "23416.10000000",
      "origQty": "0.00847000",
      "executedQty": "0.00720000",
      "cummulativeQuoteQty": "172.43931000",
      "status": "PARTIALLY_FILLED",
      "timeInForce": "GTC",
      "type": "LIMIT",
      "side": "SELL",
      "stopPrice": "0.00000000",
      "icebergQty": "0.00000000",
      "time": 1660801715639,
      "updateTime": 1660801717945,
      "isWorking": true,
      "workingTime": 1660801715639,
      "origQuoteOrderQty": "0.00000000",
      "selfTradePreventionMode": "NONE"
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 6
    }
  ]
}

查询所有挂订单的执行状态。

如果您需要持续监控订单状态更新,请考虑使用 WebSocket Streams:

挂单的状态报告与 order.status 相同。

请注意,某些字段是可选的,仅在订单中有设置它们时才包括。

挂订单始终作为平面列表返回。 如果所有交易对被请求,请使用 symbol 字段来告知订单属于哪个交易对。

权重(IP): 根据交易对的数量进行调整:

参数 重量
symbol 6
none 80

参数:

名称 类型 是否必需 描述
symbol STRING NO 如果省略,则返回所有交易对的挂单
apiKey STRING YES
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

数据源: 缓存 => 数据库

注意: 响应示例没有显示所有可以出现的字段,更多请看 "订单响应中的特定条件时才会出现的字段" 部分。

撤销单一交易对的所有挂单 (TRADE)

请求:

{
  "id": "778f938f-9041-4b88-9914-efbf64eeacc8",
  "method": "openOrders.cancelAll"
  "params": {
    "symbol": "BTCUSDT",
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "773f01b6e3c2c9e0c1d217bc043ce383c1ddd6f0e25f8d6070f2b66a6ceaf3a5",
    "timestamp": 1660805557200
  }
}

响应:

{
  "id": "778f938f-9041-4b88-9914-efbf64eeacc8",
  "status": 200,
  "result": [
    {
      "symbol": "BTCUSDT",
      "origClientOrderId": "4d96324ff9d44481926157",
      "orderId": 12569099453,
      "orderListId": -1,
      "clientOrderId": "91fe37ce9e69c90d6358c0",
      "transactTime": 1684804350068,
      "price": "23416.10000000",
      "origQty": "0.00847000",
      "executedQty": "0.00001000",
      "cummulativeQuoteQty": "0.23416100",
      "status": "CANCELED",
      "timeInForce": "GTC",
      "type": "LIMIT",
      "side": "SELL",
      "stopPrice": "0.00000000",
      "icebergQty": "0.00000000",
      "strategyId": 37463720,
      "strategyType": 1000000,
      "selfTradePreventionMode": "NONE"
    },
    {
      "orderListId": 19431,
      "contingencyType": "OCO",
      "listStatusType": "ALL_DONE",
      "listOrderStatus": "ALL_DONE",
      "listClientOrderId": "iuVNVJYYrByz6C4yGOPPK0",
      "transactionTime": 1660803702431,
      "symbol": "BTCUSDT",
      "orders": [
        {
          "symbol": "BTCUSDT",
          "orderId": 12569099453,
          "clientOrderId": "bX5wROblo6YeDwa9iTLeyY"
        },
        {
          "symbol": "BTCUSDT",
          "orderId": 12569099454,
          "clientOrderId": "Tnu2IP0J5Y4mxw3IATBfmW"
        }
      ],
      "orderReports": [
        {
          "symbol": "BTCUSDT",
          "origClientOrderId": "bX5wROblo6YeDwa9iTLeyY",
          "orderId": 12569099453,
          "orderListId": 19431,
          "clientOrderId": "OFFXQtxVFZ6Nbcg4PgE2DA",
          "transactTime": 1684804350068,
          "price": "23450.50000000",
          "origQty": "0.00850000",
          "executedQty": "0.00000000",
          "cummulativeQuoteQty": "0.00000000",
          "status": "CANCELED",
          "timeInForce": "GTC",
          "type": "STOP_LOSS_LIMIT",
          "side": "BUY",
          "stopPrice": "23430.00000000",
          "selfTradePreventionMode": "NONE"
        },
        {
          "symbol": "BTCUSDT",
          "origClientOrderId": "Tnu2IP0J5Y4mxw3IATBfmW",
          "orderId": 12569099454,
          "orderListId": 19431,
          "clientOrderId": "OFFXQtxVFZ6Nbcg4PgE2DA",
          "transactTime": 1684804350068,
          "price": "23400.00000000",
          "origQty": "0.00850000",
          "executedQty": "0.00000000",
          "cummulativeQuoteQty": "0.00000000",
          "status": "CANCELED",
          "timeInForce": "GTC",
          "type": "LIMIT_MAKER",
          "side": "BUY",
          "selfTradePreventionMode": "NONE"
        }
      ]
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

撤销单一交易对的所有挂单, 包括订单列表。

订单和订单列表的撤销报告的格式与 order.cancel 中的格式相同。

权重(IP): 1

参数:

名称 类型 是否必需 描述
symbol STRING YES
apiKey STRING YES
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

数据源: 撮合引擎

注意: 响应示例没有显示所有可以出现的字段,更多请看 "订单响应中的特定条件时才会出现的字段" 部分。

OCO下单 - 已弃用 (TRADE)

请求:

{
  "id": "56374a46-3061-486b-a311-99ee972eb648",
  "method": "orderList.place",
  "params": {
    "symbol": "BTCUSDT",
    "side": "SELL",
    "price": "23420.00000000",
    "quantity": "0.00650000",
    "stopPrice": "23410.00000000",
    "stopLimitPrice": "23405.00000000",
    "stopLimitTimeInForce": "GTC",
    "newOrderRespType": "RESULT",
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "6689c2a36a639ff3915c2904871709990ab65f3c7a9ff13857558fd350315c35",
    "timestamp": 1660801713767
  }
}

响应:

{
  "id": "57833dc0-e3f2-43fb-ba20-46480973b0aa",
  "status": 200,
  "result": {
    "orderListId": 1274512,
    "contingencyType": "OCO",
    "listStatusType": "EXEC_STARTED",
    "listOrderStatus": "EXECUTING",
    "listClientOrderId": "08985fedd9ea2cf6b28996",
    "transactionTime": 1660801713793,
    "symbol": "BTCUSDT",
    "orders": [
      {
        "symbol": "BTCUSDT",
        "orderId": 12569138901,
        "clientOrderId": "BqtFCj5odMoWtSqGk2X9tU"
      },
      {
        "symbol": "BTCUSDT",
        "orderId": 12569138902,
        "clientOrderId": "jLnZpj5enfMXTuhKB1d0us"
      }
    ],
    "orderReports": [
      {
        "symbol": "BTCUSDT",
        "orderId": 12569138901,
        "orderListId": 1274512,
        "clientOrderId": "BqtFCj5odMoWtSqGk2X9tU",
        "transactTime": 1660801713793,
        "price": "23410.00000000",
        "origQty": "0.00650000",
        "executedQty": "0.00000000",
        "cummulativeQuoteQty": "0.00000000",
        "status": "NEW",
        "timeInForce": "GTC",
        "type": "STOP_LOSS_LIMIT",
        "side": "SELL",
        "stopPrice": "23405.00000000",
        "workingTime": -1,
        "selfTradePreventionMode": "NONE"
      },
      {
        "symbol": "BTCUSDT",
        "orderId": 12569138902,
        "orderListId": 1274512,
        "clientOrderId": "jLnZpj5enfMXTuhKB1d0us",
        "transactTime": 1660801713793,
        "price": "23420.00000000",
        "origQty": "0.00650000",
        "executedQty": "0.00000000",
        "cummulativeQuoteQty": "0.00000000",
        "status": "NEW",
        "timeInForce": "GTC",
        "type": "LIMIT_MAKER",
        "side": "SELL",
        "workingTime": 1660801713793,
        "selfTradePreventionMode": "NONE"
      }
    ]
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 2
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 2
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

发送新的OCO(one-cancels-the-other) 订单: LIMIT_MAKER 订单 + STOP_LOSS/STOP_LOSS_LIMIT 订单(称呼为 legs), 其中一个订单的激活会立即取消另一个订单。

使用 newOrderRespType 参数选择 orderReports 的响应格式。 以下示例适用于 RESULT 响应类型。 有关更多示例,请参阅 order.place

权重(IP): 1

参数:

名称 类型 是否必需 描述
symbol STRING YES
side ENUM YES BUY 或者 SELL
price DECIMAL YES Limit 订单的价格
quantity DECIMAL YES
listClientOrderId STRING NO 订单列表挂单的客户自定义的唯一订单ID。如果未发送,则自动生成
limitClientOrderId STRING NO Limit 挂单的客户自定义的唯一订单ID。如果未发送,则自动生成
limitIcebergQty DECIMAL NO
limitStrategyId INT NO 标识订单策略中的 limit 订单的任意ID。
limitStrategyType INT NO

标识 limit 订单策略的任意数值

小于1000000的值是保留的,不能使用。

stopPrice DECIMAL YES * 必须指定 stopPricetrailingDelta,或两者都指定
trailingDelta INT YES * 请看 追踪止盈止损(Trailing Stop)订单常见问题
stopClientOrderId STRING NO Stop 订单的客户自定义的唯一订单ID。如果未发送,则自动生成
stopLimitPrice DECIMAL NO *
stopLimitTimeInForce ENUM NO * 有关可用选项,请看 order.place
stopIcebergQty DECIMAL NO *
stopStrategyId INT NO 标识订单策略中的 stop 订单的任意ID。
stopStrategyType INT NO

标识 stop 订单策略的任意数值。

小于1000000的值是保留的,不能使用。

newOrderRespType ENUM NO 可选的响应格式: ACKRESULTFULL (默认)
selfTradePreventionMode ENUM NO 允许的 ENUM 取决于交易对的配置。支持的值有 EXPIRE_TAKEREXPIRE_MAKEREXPIRE_BOTHNONE
apiKey STRING YES
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

备注:

只有当前一个 OCO 已满或完全过期时,才会接受具有相同 listClientOrderId 的新 OCO。

listClientOrderId 与单个订单的 clientOrderId 不同。

side 价格关系
BUY price < 市场价格 < stopPrice
SELL price > 市场价格 > stopPrice

不过单个 leg 可以设置不同的冰山数量。

如果使用 stopIcebergQtystopLimitTimeInForce 必须是 GTC

OCOs 将2个订单添加到未成交的订单计数, EXCHANGE_MAX_ORDERS 过滤器和 MAX_NUM_ORDERS 过滤器中。

数据源: 撮合引擎

发送新订单列表 - OTO订单 (TRADE)

请求:

{
  "id": "1712544395950",
  "method": "orderList.place.oto",
  "params": {
    "signature": "3e1e5ac8690b0caf9a2afd5c5de881ceba69939cc9d817daead5386bf65d0cbb",
    "apiKey": "Rf07JlnL9PHVxjs27O5CvKNyOsV4qJ5gXdrRfpvlOdvMZbGZbPO5Ce2nIwfRP0iA",
    "pendingQuantity": 1,
    "pendingSide": "BUY",
    "pendingType": "MARKET",
    "symbol": "LTCBNB",
    "recvWindow": "5000",
    "timestamp": "1712544395951",
    "workingPrice": 1,
    "workingQuantity": 1,
    "workingSide": "SELL",
    "workingTimeInForce": "GTC",
    "workingType": "LIMIT"
  }
}

响应:

{
  "id": "1712544395950",
  "status": 200,
  "result": {
    "orderListId": 626,
    "contingencyType": "OTO",
    "listStatusType": "EXEC_STARTED",
    "listOrderStatus": "EXECUTING",
    "listClientOrderId": "KA4EBjGnzvSwSCQsDdTrlf",
    "transactionTime": 1712544395981,
    "symbol": "1712544378871",
    "orders": [
      {
        "symbol": "LTCBNB",
        "orderId": 13,
        "clientOrderId": "YiAUtM9yJjl1a2jXHSp9Ny"
      },
      {
        "symbol": "LTCBNB",
        "orderId": 14,
        "clientOrderId": "9MxJSE1TYkmyx5lbGLve7R"
      }
    ],
    "orderReports": [
      {
        "symbol": "LTCBNB",
        "orderId": 13,
        "orderListId": 626,
        "clientOrderId": "YiAUtM9yJjl1a2jXHSp9Ny",
        "transactTime": 1712544395981,
        "price": "1.000000",
        "origQty": "1.000000",
        "executedQty": "0.000000",
        "cummulativeQuoteQty": "0.000000",
        "status": "NEW",
        "timeInForce": "GTC",
        "type": "LIMIT",
        "side": "SELL",
        "workingTime": 1712544395981,
        "selfTradePreventionMode": "NONE"
      },
      {
        "symbol": "LTCBNB",
        "orderId": 14,
        "orderListId": 626,
        "clientOrderId": "9MxJSE1TYkmyx5lbGLve7R",
        "transactTime": 1712544395981,
        "price": "0.000000",
        "origQty": "1.000000",
        "executedQty": "0.000000",
        "cummulativeQuoteQty": "0.000000",
        "status": "PENDING_NEW",
        "timeInForce": "GTC",
        "type": "MARKET",
        "side": "BUY",
        "workingTime": -1,
        "selfTradePreventionMode": "NONE"
      }
    ]
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 10000000,
      "count": 10
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 1000,
      "count": 38
    }
  ]
}

发送一个新的 OTO 订单。

权重(IP): 1

参数

名称 类型 是否必需 描述
symbol STRING YES
listClientOrderId STRING NO 整个订单列表的唯一ID。 如果未发送则自动生成。
仅当前一个订单列表已填满或完全过期时,才会接受含有相同 listClientOrderId 值的新订单列表。
listClientOrderIdworkingClientOrderIdpendingClientOrderId 不同。
newOrderRespType ENUM NO 用于设置JSON响应的格式。 支持的数值: ACK, FULL, RESULT
selfTradePreventionMode ENUM NO 允许的数值取决于交易对上的配置。
workingType ENUM YES 支持的数值: LIMITLIMIT_MAKER
workingSide ENUM YES 支持的数值: BUYSELL
workingClientOrderId STRING NO 用于标识生效订单的唯一ID。
如果未发送则自动生成。
workingPrice DECIMAL YES
workingQuantity DECIMAL YES 用于设置生效订单的数量。
workingIcebergQty DECIMAL YES 只有当 workingTimeInForceGTC 时才能使用。
workingTimeInForce ENUM NO 支持的数值: FOKIOCGTC
workingStrategyId INT NO 订单策略中用于标识生效订单的 ID。
workingStrategyType INT NO 用于标识生效订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
pendingType ENUM YES 请注意,系统不支持使用 quoteOrderQtyMARKET 订单。
pendingSide ENUM YES 支持的数值: BUYSELL
pendingClientOrderId STRING NO 用于标识待处理订单的唯一ID。
如果未发送则自动生成。
pendingPrice DECIMAL NO
pendingStopPrice DECIMAL NO
pendingTrailingDelta DECIMAL NO
pendingQuantity DECIMAL YES 用于设置待处理订单的数量。
pendingIcebergQty DECIMAL NO 只有当 pendingTimeInForceGTC 时才能使用。
pendingTimeInForce ENUM NO 支持的数值: FOKIOCGTC
pendingStrategyId INT NO 订单策略中用于标识待处理订单的 ID。
pendingStrategyType INT NO 用于标识待处理订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
recvWindow LONG NO 不能大于 60000
timestamp LONG YES

根据 pendingType 或者workingType的不同值,对于某些参数的强制要求

根据 pendingType 或者workingType的不同值,对于某些可选参数有强制要求,具体如下:

类型 强制要求的参数 其他信息
workingType = LIMIT workingTimeInForce
pendingType = LIMIT pendingPricependingTimeInForce
pendingType = STOP_LOSSTAKE_PROFIT pendingStopPrice 与/或 pendingTrailingDelta
pendingType = STOP_LOSS_LIMITTAKE_PROFIT_LIMIT pendingPricependingStopPrice 与/或 pendingTrailingDeltapendingTimeInForce

数据源: 撮合引擎

发送新订单列表 - OTOCO订单 (TRADE)

请求:

{
  "id": "1712544408508",
  "method": "orderList.place.otoco",
  "params": {
    "signature": "c094473304374e1b9c5f7e2558358066cfa99df69f50f63d09cfee755136cb07",
    "apiKey": "Rf07JlnL9PHVxjs27O5CvKNyOsV4qJ5gXdrRfpvlOdvMZbGZbPO5Ce2nIwfRP0iA",
    "pendingQuantity": 5,
    "pendingSide": "SELL",
    "pendingBelowPrice": 5,
    "pendingBelowType": "LIMIT_MAKER",
    "pendingAboveStopPrice": 0.5,
    "pendingAboveType": "STOP_LOSS",
    "symbol": "LTCBNB",
    "recvWindow": "5000",
    "timestamp": "1712544408509",
    "workingPrice": 1.5,
    "workingQuantity": 1,
    "workingSide": "BUY",
    "workingTimeInForce": "GTC",
    "workingType": "LIMIT"
  }
}

响应:

{
  "id": "1712544408508",
  "status": 200,
  "result": {
    "orderListId": 629,
    "contingencyType": "OTO",
    "listStatusType": "EXEC_STARTED",
    "listOrderStatus": "EXECUTING",
    "listClientOrderId": "GaeJHjZPasPItFj4x7Mqm6",
    "transactionTime": 1712544408537,
    "symbol": "1712544378871",
    "orders": [
      {
        "symbol": "1712544378871",
        "orderId": 23,
        "clientOrderId": "OVQOpKwfmPCfaBTD0n7e7H"
      },
      {
        "symbol": "1712544378871",
        "orderId": 24,
        "clientOrderId": "YcCPKCDMQIjNvLtNswt82X"
      },
      {
        "symbol": "1712544378871",
        "orderId": 25,
        "clientOrderId": "ilpIoShcFZ1ZGgSASKxMPt"
      }
    ],
    "orderReports": [
      {
        "symbol": "LTCBNB",
        "orderId": 23,
        "orderListId": 629,
        "clientOrderId": "OVQOpKwfmPCfaBTD0n7e7H",
        "transactTime": 1712544408537,
        "price": "1.500000",
        "origQty": "1.000000",
        "executedQty": "0.000000",
        "cummulativeQuoteQty": "0.000000",
        "status": "NEW",
        "timeInForce": "GTC",
        "type": "LIMIT",
        "side": "BUY",
        "workingTime": 1712544408537,
        "selfTradePreventionMode": "NONE"
      },
      {
        "symbol": "LTCBNB",
        "orderId": 24,
        "orderListId": 629,
        "clientOrderId": "YcCPKCDMQIjNvLtNswt82X",
        "transactTime": 1712544408537,
        "price": "0.000000",
        "origQty": "5.000000",
        "executedQty": "0.000000",
        "cummulativeQuoteQty": "0.000000",
        "status": "PENDING_NEW",
        "timeInForce": "GTC",
        "type": "STOP_LOSS",
        "side": "SELL",
        "stopPrice": "0.500000",
        "workingTime": -1,
        "selfTradePreventionMode": "NONE"
      },
      {
        "symbol": "LTCBNB",
        "orderId": 25,
        "orderListId": 629,
        "clientOrderId": "ilpIoShcFZ1ZGgSASKxMPt",
        "transactTime": 1712544408537,
        "price": "5.000000",
        "origQty": "5.000000",
        "executedQty": "0.000000",
        "cummulativeQuoteQty": "0.000000",
        "status": "PENDING_NEW",
        "timeInForce": "GTC",
        "type": "LIMIT_MAKER",
        "side": "SELL",
        "workingTime": -1,
        "selfTradePreventionMode": "NONE"
      }
    ]
  },
  "rateLimits": [
    {
      "rateLimitType": "ORDERS",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 10000000,
      "count": 18
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 1000,
      "count": 65
    }
  ]
}

发送一个新的 OTOCO 订单。

权重(IP): 1

参数

名称 类型 是否必需 描述
symbol STRING YES
listClientOrderId STRING NO 整个订单列表的唯一ID。 如果未发送则自动生成。
仅当前一个订单列表已填满或完全过期时,才会接受含有相同 listClientOrderId 值的新订单列表。
listClientOrderIdworkingClientOrderIdpendingAboveClientOrderId 以及 pendingBelowClientOrderId 不同。
newOrderRespType ENUM NO 用于设置JSON响应的格式。 支持的数值: ACK, FULL, RESULT
selfTradePreventionMode ENUM NO 允许的数值取决于交易对上的配置。
workingType ENUM YES 支持的数值: LIMITLIMIT_MAKER
workingSide ENUM YES 支持的数值: BUYSELL
workingClientOrderId STRING NO 用于标识生效订单的唯一ID。
如果未发送则自动生成。
workingPrice DECIMAL YES
workingQuantity DECIMAL YES
workingIcebergQty DECIMAL NO 只有当 workingTimeInForceGTC 时才能使用。
workingTimeInForce ENUM NO 支持的数值: FOKIOCGTC
workingStrategyId INT NO 订单策略中用于标识生效订单的 ID。
workingStrategyType INT NO 用于标识生效订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
pendingSide ENUM YES 支持的数值: BUYSELL
pendingQuantity DECIMAL YES
pendingAboveType ENUM YES 支持的数值: LIMIT_MAKERSTOP_LOSSSTOP_LOSS_LIMIT
pendingAboveClientOrderId STRING NO 用于标识待处理上方订单的唯一ID。
如果未发送则自动生成。
pendingAbovePrice DECIMAL NO
pendingAboveStopPrice DECIMAL NO
pendingAboveTrailingDelta DECIMAL NO
pendingAboveIcebergQty DECIMAL NO 只有当 pendingAboveTimeInForceGTC 时才能使用。
pendingAboveTimeInForce ENUM NO
pendingAboveStrategyId INT NO 订单策略中用于标识待处理上方订单的 ID。
pendingAboveStrategyType INT NO 用于标识待处理上方订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
pendingBelowType ENUM NO 支持的数值: LIMIT_MAKERSTOP_LOSSSTOP_LOSS_LIMIT
pendingBelowClientOrderId STRING NO 用于标识待处理下方订单的唯一ID。
如果未发送则自动生成。
pendingBelowPrice DECIMAL NO
pendingBelowStopPrice DECIMAL NO
pendingBelowTrailingDelta DECIMAL NO
pendingBelowIcebergQty DECIMAL NO 只有当 pendingBelowTimeInForceGTC 时才能使用。
pendingBelowTimeInForce ENUM NO
pendingBelowStrategyId INT NO 订单策略中用于标识待处理下方订单的 ID。
pendingBelowStrategyType INT NO 用于标识待处理下方订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
recvWindow LONG NO 不能大于 60000
timestamp LONG YES

根据 pendingAboveTypependingBelowType 或者workingType的不同值,对于某些参数的强制要求

根据 pendingAboveTypependingBelowType 或者workingType的不同值,对于某些可选参数有强制要求,具体如下:

类型 强制要求的参数 其他信息
workingType = LIMIT workingTimeInForce
pendingAboveType= LIMIT_MAKER pendingAbovePrice
pendingAboveType= STOP_LOSS pendingAboveStopPrice 与/或 pendingAboveTrailingDelta
pendingAboveType=STOP_LOSS_LIMIT pendingAbovePricependingAboveStopPrice 与/或 pendingAboveTrailingDeltapendingAboveTimeInForce
pendingBelowType= LIMIT_MAKER pendingBelowPrice
pendingBelowType= STOP_LOSS pendingBelowStopPrice 与/或 pendingBelowTrailingDelta
pendingBelowType=STOP_LOSS_LIMIT pendingBelowPricependingBelowStopPrice 与/或 pendingBelowTrailingDeltapendingBelowTimeInForce

数据源: 撮合引擎

查询订单列表 (USER_DATA)

请求:

{
  "id": "b53fd5ff-82c7-4a04-bd64-5f9dc42c2100",
  "method": "orderList.status",
  "params": {
    "origClientOrderId": "08985fedd9ea2cf6b28996"
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "d12f4e8892d46c0ddfbd43d556ff6d818581b3be22a02810c2c20cb719aed6a4",
    "timestamp": 1660801713965
  }
}

响应:

{
  "id": "b53fd5ff-82c7-4a04-bd64-5f9dc42c2100",
  "status": 200,
  "result": {
    "orderListId": 1274512,
    "contingencyType": "OCO",
    "listStatusType": "EXEC_STARTED",
    "listOrderStatus": "EXECUTING",
    "listClientOrderId": "08985fedd9ea2cf6b28996",
    "transactionTime": 1660801713793,
    "symbol": "BTCUSDT",
    "orders": [
      {
        "symbol": "BTCUSDT",
        "orderId": 12569138901,
        "clientOrderId": "BqtFCj5odMoWtSqGk2X9tU"
      },
      {
        "symbol": "BTCUSDT",
        "orderId": 12569138902,
        "clientOrderId": "jLnZpj5enfMXTuhKB1d0us"
      }
    ]
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 4
    }
  ]
}

检查订单列表的执行状态。

对于单个订单的执行状态,使用 order.status

权重(IP): 4

Parameters:

名称 类型 是否必需 描述
origClientOrderId STRING YES 通过 listClientOrderId 获取订单列表
orderListId INT 通过 orderListId 获取订单列表
apiKey STRING YES
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

备注:

数据源: 数据库

发送新订单列表 - OCO 订单 (TRADE)

请求:

{
  "id": "56374a46-3261-486b-a211-99ed972eb648",
  "method": "orderList.place.oco",
  "params":
  {
    "symbol": "LTCBNB",
    "side": "BUY",
    "quantity": 1,
    "timestamp": 1711062760647,
    "aboveType": "STOP_LOSS_LIMIT",
    "abovePrice": "1.5",
    "aboveStopPrice": "1.50000001",
    "aboveTimeInForce": "GTC",
    "belowType": "LIMIT_MAKER",
    "belowPrice": "1.49999999",
    "apiKey": "duwNf97YPLqhFIk7kZF0dDdGYVAXStA7BeEz0fIT9RAhUbixJtyS6kJ3hhzJsRXC",
    "signature": "64614cfd8dd38260d4fd86d3c455dbf4b9d1c8a8170ea54f700592a986c30ddb"
  }
}

适用 newOrderRespType RESULT 的响应:

{
  "id": "56374a46-3261-486b-a211-99ed972eb648",
  "status": 200,
  "result":
  {
    "orderListId": 2,
    "contingencyType": "OCO",
    "listStatusType": "EXEC_STARTED",
    "listOrderStatus": "EXECUTING",
    "listClientOrderId": "cKPMnDCbcLQILtDYM4f4fX",
    "transactionTime": 1711062760648,
    "symbol": "LTCBNB",
    "orders":
    [
      {
        "symbol": "LTCBNB",
        "orderId": 2,
        "clientOrderId": "0m6I4wfxvTUrOBSMUl0OPU"
      },
      {
        "symbol": "LTCBNB",
        "orderId": 3,
        "clientOrderId": "Z2IMlR79XNY5LU0tOxrWyW"
      }
    ],
    "orderReports":
    [
      {
        "symbol": "LTCBNB",
        "orderId": 2,
        "orderListId": 2,
        "clientOrderId": "0m6I4wfxvTUrOBSMUl0OPU",
        "transactTime": 1711062760648,
        "price": "1.50000000",
        "origQty": "1.000000",
        "executedQty": "0.000000",
        "cummulativeQuoteQty": "0.00000000",
        "status": "NEW",
        "timeInForce": "GTC",
        "type": "STOP_LOSS_LIMIT",
        "side": "BUY",
        "stopPrice": "1.50000001",
        "workingTime": -1,
        "selfTradePreventionMode": "NONE"
      },
      {
        "symbol": "LTCBNB",
        "orderId": 3,
        "orderListId": 2,
        "clientOrderId": "Z2IMlR79XNY5LU0tOxrWyW",
        "transactTime": 1711062760648,
        "price": "1.49999999",
        "origQty": "1.000000",
        "executedQty": "0.000000",
        "cummulativeQuoteQty": "0.00000000",
        "status": "NEW",
        "timeInForce": "GTC",
        "type": "LIMIT_MAKER",
        "side": "BUY",
        "workingTime": 1711062760648,
        "selfTradePreventionMode": "NONE"
      }
    ]
  },
  "rateLimits":
  [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 2
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 2
    },
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

发送新 one-cancels-the-other (OCO) 订单,激活其中一个订单会立即取消另一个订单。

权重: 1

参数:

名称 类型 是否必需 描述
symbol STRING YES
listClientOrderId STRING NO 整个 order list 的唯一ID。 如果未发送则自动生成。
仅当前一个订单已填满或完全过期时,才会接受具有相同的listClientOrderId
listClientOrderIdaboveClientOrderIdbelowCLientOrderId 不同。
side ENUM YES 订单方向:BUY or SELL
quantity DECIMAL YES 两个 legs 的数量。
aboveType ENUM YES 支持值:STOP_LOSS_LIMIT, STOP_LOSS, LIMIT_MAKER
aboveClientOrderId STRING NO 上方 leg 的唯一ID。 如果未发送则自动生成。
aboveIcebergQty LONG NO 请注意,只有当 aboveTimeInForceGTC 时才能使用。
abovePrice DECIMAL NO
aboveStopPrice DECIMAL NO 如果 aboveTypeSTOP_LOSSSTOP_LOSS_LIMIT 才能使用。
必须指定 aboveStopPriceaboveTrailingDelta 或两者。
aboveTrailingDelta LONG NO 请看 追踪止盈止损(Trailing Stop)订单常见问题.
aboveTimeInForce DECIMAL NO 如果 aboveTypeSTOP_LOSS_LIMIT,则为必填项。
aboveStrategyId INT NO 订单策略中上方 leg 订单的 ID。
aboveStrategyType INT NO 上方 leg 订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
belowType ENUM YES 支持值:STOP_LOSS_LIMIT, STOP_LOSS, LIMIT_MAKER
belowClientOrderId STRING NO
belowIcebergQty LONG NO 请注意,只有当 belowTimeInForceGTC 时才能使用。
belowPrice DECIMAL NO
belowStopPrice DECIMAL NO 如果 belowTypeSTOP_LOSSSTOP_LOSS_LIMIT 才能使用
必须指定 belowStopPricebelowTrailingDelta 或两者。
belowTrailingDelta LONG NO 请看 追踪止盈止损(Trailing Stop)订单常见问题
belowTimeInForce ENUM NO 如果belowTypeSTOP_LOSS_LIMIT,则为必须配合提交的值。
belowStrategyId INT NO 订单策略中下方 leg 订单的 ID。
belowStrategyType INT NO 下方 leg 订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
newOrderRespType ENUM NO 响应格式可选值: ACK, RESULT, FULL
selfTradePreventionMode ENUM NO 允许的 ENUM 取决于交易对上的配置。 可能支持的值为 EXPIRE_TAKER, EXPIRE_MAKER, EXPIRE_BOTH, NONE
apiKey STRING YES
recvWindow LONG NO 不能大于 60000
signature STRING YES
timestamp LONG YES

数据源: 撮合引擎

撤销订单列表 (TRADE)

请求:

{
  "id": "c5899911-d3f4-47ae-8835-97da553d27d0",
  "method": "orderList.cancel",
  "params": {
    "symbol": "BTCUSDT",
    "orderListId": 1274512,
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "4973f4b2fee30bf6d45e4a973e941cc60fdd53c8dd5a25edeac96f5733c0ccee",
    "timestamp": 1660801720210
  }
}

响应:

{
  "id": "c5899911-d3f4-47ae-8835-97da553d27d0",
  "status": 200,
  "result": {
    "orderListId": 1274512,
    "contingencyType": "OCO",
    "listStatusType": "ALL_DONE",
    "listOrderStatus": "ALL_DONE",
    "listClientOrderId": "6023531d7edaad348f5aff",
    "transactionTime": 1660801720215,
    "symbol": "BTCUSDT",
    "orders": [
      {
        "symbol": "BTCUSDT",
        "orderId": 12569138901,
        "clientOrderId": "BqtFCj5odMoWtSqGk2X9tU"
      },
      {
        "symbol": "BTCUSDT",
        "orderId": 12569138902,
        "clientOrderId": "jLnZpj5enfMXTuhKB1d0us"
      }
    ],
    "orderReports": [
      {
        "symbol": "BTCUSDT",
        "orderId": 12569138901,
        "orderListId": 1274512,
        "clientOrderId": "BqtFCj5odMoWtSqGk2X9tU",
        "transactTime": 1660801720215,
        "price": "23410.00000000",
        "origQty": "0.00650000",
        "executedQty": "0.00000000",
        "cummulativeQuoteQty": "0.00000000",
        "status": "CANCELED",
        "timeInForce": "GTC",
        "type": "STOP_LOSS_LIMIT",
        "side": "SELL",
        "stopPrice": "23405.00000000",
        "selfTradePreventionMode": "NONE"
      },
      {
        "symbol": "BTCUSDT",
        "orderId": 12569138902,
        "orderListId": 1274512,
        "clientOrderId": "jLnZpj5enfMXTuhKB1d0us",
        "transactTime": 1660801720215,
        "price": "23420.00000000",
        "origQty": "0.00650000",
        "executedQty": "0.00000000",
        "cummulativeQuoteQty": "0.00000000",
        "status": "CANCELED",
        "timeInForce": "GTC",
        "type": "LIMIT_MAKER",
        "side": "SELL",
        "selfTradePreventionMode": "NONE"
      }
    ]
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

取消整个订单列表。

权重: 1

参数:

名称 类型 是否必需 描述
symbol STRING YES
orderListId INT YES 通过 orderListId 撤销订单列表
listClientOrderId STRING 通过 listClientId 撤销订单列表
newClientOrderId STRING NO 已取消订单列表内订单的新 ID。如果未发送,则自动生成。
apiKey STRING YES
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

备注:

数据源: 撮合引擎

查询订单列表挂单 (USER_DATA)

请求:

{
  "id": "3a4437e2-41a3-4c19-897c-9cadc5dce8b6",
  "method": "openOrderLists.status",
  "params": {
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "1bea8b157dd78c3da30359bddcd999e4049749fe50b828e620e12f64e8b433c9",
    "timestamp": 1660801713831
  }
}

响应:

{
  "id": "3a4437e2-41a3-4c19-897c-9cadc5dce8b6",
  "status": 200,
  "result": [
    {
      "orderListId": 0,
      "contingencyType": "OCO",
      "listStatusType": "EXEC_STARTED",
      "listOrderStatus": "EXECUTING",
      "listClientOrderId": "08985fedd9ea2cf6b28996",
      "transactionTime": 1660801713793,
      "symbol": "BTCUSDT",
      "orders": [
        {
          "symbol": "BTCUSDT",
          "orderId": 4,
          "clientOrderId": "CUhLgTXnX5n2c0gWiLpV4d"
        },
        {
          "symbol": "BTCUSDT",
          "orderId": 5,
          "clientOrderId": "1ZqG7bBuYwaF4SU8CwnwHm"
        }
      ]
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 6
    }
  ]
}

查询所有订单列表挂单的执行状态。

如果您需要持续监控订单状态更新,请考虑使用 WebSocket Streams:

权重: 6

参数:

名称 类型 是否必需 描述
apiKey STRING YES
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

数据源: 数据库

下 SOR 订单 (TRADE)

请求:

{
  "id": "3a4437e2-41a3-4c19-897c-9cadc5dce8b6",
  "method": "sor.order.place",
  "params":
  {
    "symbol": "BTCUSDT",
    "side": "BUY",
    "type": "LIMIT",
    "quantity": 0.5,
    "timeInForce": "GTC",
    "price": 31000,
    "timestamp": 1687485436575,
    "apiKey": "u5lgqJb97QWXWfgeV4cROuHbReSJM9rgQL0IvYcYc7BVeA5lpAqqc3a5p2OARIFk",
    "signature": "fd301899567bc9472ce023392160cdc265ad8fcbbb67e0ea1b2af70a4b0cd9c7"
  }
}

响应:*

{
  "id": "3a4437e2-41a3-4c19-897c-9cadc5dce8b6",
  "status": 200,
  "result": [
    {
      "symbol": "BTCUSDT",
      "orderId": 2,
      "orderListId": -1,
      "clientOrderId": "sBI1KM6nNtOfj5tccZSKly",
      "transactTime": 1689149087774,
      "price": "31000.00000000",
      "origQty": "0.50000000",
      "executedQty": "0.50000000",
      "cummulativeQuoteQty": "14000.00000000",
      "status": "FILLED",
      "timeInForce": "GTC",
      "type": "LIMIT",
      "side": "BUY",
      "workingTime": 1689149087774,
      "fills": [
        {
          "matchType": "ONE_PARTY_TRADE_REPORT",
          "price": "28000.00000000",
          "qty": "0.50000000",
          "commission": "0.00000000",
          "commissionAsset": "BTC",
          "tradeId": -1,
          "allocId": 0
        }
      ],
      "workingFloor": "SOR",
      "selfTradePreventionMode": "NONE",
      "usedSor": true
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

下使用智能订单路由 (SOR) 的新订单。

权重: 1

参数:

名称 类型 是否必需 描述
symbol STRING YES
side ENUM YES BUYSELL
type ENUM YES
timeInForce ENUM NO 只适用于限价订单类型
price DECIMAL NO 只适用于限价订单类型
quantity DECIMAL YES
newClientOrderId STRING NO 用户自定义的任意唯一值orderid,如空缺系统会自动赋值
newOrderRespType ENUM NO

可选的响应格式: ACKRESULTFULL Select response format: ACK, RESULT, FULL.

市场限价单默认使用FULL

icebergQty DECIMAL NO
strategyId INT NO 用于标识订单策略中订单的任意数字值。
strategyType INT NO

用于标识订单策略的任意数字值。

小于 1000000 是保留值,应此不能被使用。

selfTradePreventionMode ENUM NO 允许的 ENUM 取决于交易对的配置。支持的值有 EXPIRE_TAKEREXPIRE_MAKEREXPIRE_BOTHNONE
apiKey STRING YES
timestamp INT YES
recvWindow INT NO 赋值不能大于 60000
signature STRING YES

注意: sor.order.place 只支持 限价市场 单, 并不支持 quoteOrderQty

数据源: 撮合引擎

测试 SOR 下单接口 (TRADE)

请求:

{
  "id": "3a4437e2-41a3-4c19-897c-9cadc5dce8b6",
  "method": "sor.order.test",
  "params":
  {
    "symbol": "BTCUSDT",
    "side": "BUY",
    "type": "LIMIT",
    "quantity": 0.1,
    "timeInForce": "GTC",
    "price": 0.1,
    "timestamp": 1687485436575,
    "apiKey": "u5lgqJb97QWXWfgeV4cROuHbReSJM9rgQL0IvYcYc7BVeA5lpAqqc3a5p2OARIFk",
    "signature": "fd301899567bc9472ce023392160cdc265ad8fcbbb67e0ea1b2af70a4b0cd9c7"
  }
}

响应:

{
  "id": "3a4437e2-41a3-4c19-897c-9cadc5dce8b6",
  "status": 200,
  "result": {},
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 1
    }
  ]
}

用于测试使用智能订单路由 (SOR) 的订单请求,但不会提交到撮合引擎。

权重:

条件 请求权重
没有 computeCommissionRates 1
computeCommissionRates 20

参数:

除了 sor.order.place 所有参数, 下面参数也有效:

参数名 类型 是否必需 描述
computeCommissionRates BOOLEAN NO 默认: false

数据源: 缓存

账户请求

账户信息 (USER_DATA)

请求:

{
  "id": "605a6d20-6588-4cb9-afa0-b0ab087507ba",
  "method": "account.status",
  "params": {
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "83303b4a136ac1371795f465808367242685a9e3a42b22edb4d977d0696eb45c",
    "timestamp": 1660801839480
  }
}

响应:

{
  "id": "605a6d20-6588-4cb9-afa0-b0ab087507ba",
  "status": 200,
  "result": {
    "makerCommission": 15,
    "takerCommission": 15,
    "buyerCommission": 0,
    "sellerCommission": 0,
    "canTrade": true,
    "canWithdraw": true,
    "canDeposit": true,
    "commissionRates": {
      "maker": "0.00150000",
      "taker": "0.00150000",
      "buyer": "0.00000000",
      "seller":"0.00000000"
    },
    "brokered": false,
    "requireSelfTradePrevention": false,
    "preventSor": false,
    "updateTime": 1660801833000,
    "accountType": "SPOT",
    "balances": [
      {
        "asset": "BNB",
        "free": "0.00000000",
        "locked": "0.00000000"
      },
      {
        "asset": "BTC",
        "free": "1.3447112",
        "locked": "0.08600000"
      },
      {
        "asset": "USDT",
        "free": "1021.21000000",
        "locked": "0.00000000"
      }
    ],
    "permissions": [
      "SPOT"
    ],
    "uid": 354937868
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 20
    }
  ]
}

获取当前账户信息。

权重(IP): 20

参数:

名称 类型 是否必需 描述
apiKey STRING YES
omitZeroBalances BOOLEAN NO 如果true,将隐藏所有零余额。
默认值:false
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

数据源: 缓存 => 数据库

查询未成交的订单计数 (USER_DATA)

请求:

{
  "id": "d3783d8d-f8d1-4d2c-b8a0-b7596af5a664",
  "method": "account.rateLimits.orders",
  "params": {
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "76289424d6e288f4dc47d167ac824e859dabf78736f4348abbbac848d719eb94",
    "timestamp": 1660801839500
  }
}

响应:

{
  "id": "d3783d8d-f8d1-4d2c-b8a0-b7596af5a664",
  "status": 200,
  "result": [
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 50,
      "count": 0
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 160000,
      "count": 0
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 40
    }
  ]
}

显示用户在所有时间间隔内的未成交订单计数。

权重(IP): 40

参数:

名称 类型 是否必需 描述
apiKey STRING YES
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

数据源: 缓存

账户订单历史 (USER_DATA)

请求:

{
  "id": "734235c2-13d2-4574-be68-723e818c08f3",
  "method": "allOrders",
  "params": {
    "symbol": "BTCUSDT",
    "startTime": 1660780800000,
    "endTime": 1660867200000,
    "limit": 5,
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "f50a972ba7fad92842187643f6b930802d4e20bce1ba1e788e856e811577bd42",
    "timestamp": 1661955123341
  }
}

响应:

{
  "id": "734235c2-13d2-4574-be68-723e818c08f3",
  "status": 200,
  "result": [
    {
      "symbol": "BTCUSDT",
      "orderId": 12569099453,
      "orderListId": -1,
      "clientOrderId": "4d96324ff9d44481926157",
      "price": "23416.10000000",
      "origQty": "0.00847000",
      "executedQty": "0.00847000",
      "cummulativeQuoteQty": "198.33521500",
      "status": "FILLED",
      "timeInForce": "GTC",
      "type": "LIMIT",
      "side": "SELL",
      "stopPrice": "0.00000000",
      "icebergQty": "0.00000000",
      "time": 1660801715639,
      "updateTime": 1660801717945,
      "isWorking": true,
      "workingTime": 1660801715639,
      "origQuoteOrderQty": "0.00000000",
      "selfTradePreventionMode": "NONE",
      "preventedMatchId": 0,            // 这仅在订单因 STP 而过期时可见
      "preventedQuantity": "1.200000"   // 这仅在订单因 STP 而过期时可见
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 20
    }
  ]
}

获取所有账户订单; 有效,已取消或已完成。按时间范围过滤。

订单状态报告与 order.status 相同。

请注意,某些字段是可选的,仅在订单中有设置它们时才包括。

权重(IP): 20

参数:

名称 类型 是否必需 描述
symbol STRING YES
orderId INT NO 起始订单ID
startTime INT NO
endTime INT NO
limit INT NO 默认 500; 最大值 1000
apiKey STRING YES
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

备注:

订单是按照最后一次更新的执行状态的time过滤的。

数据源: 数据库

账户订单列表历史 (USER_DATA)

请求:

{
  "id": "8617b7b3-1b3d-4dec-94cd-eefd929b8ceb",
  "method": "allOrderLists",
  "params": {
    "startTime": 1660780800000,
    "endTime": 1660867200000,
    "limit": 5,
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "c8e1484db4a4a02d0e84dfa627eb9b8298f07ebf12fcc4eaf86e4a565b2712c2",
    "timestamp": 1661955123341
  }
}

响应:

{
  "id": "8617b7b3-1b3d-4dec-94cd-eefd929b8ceb",
  "status": 200,
  "result": [
    {
      "orderListId": 1274512,
      "contingencyType": "OCO",
      "listStatusType": "EXEC_STARTED",
      "listOrderStatus": "EXECUTING",
      "listClientOrderId": "08985fedd9ea2cf6b28996",
      "transactionTime": 1660801713793,
      "symbol": "BTCUSDT",
      "orders": [
        {
          "symbol": "BTCUSDT",
          "orderId": 12569138901,
          "clientOrderId": "BqtFCj5odMoWtSqGk2X9tU"
        },
        {
          "symbol": "BTCUSDT",
          "orderId": 12569138902,
          "clientOrderId": "jLnZpj5enfMXTuhKB1d0us"
        }
      ]
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 20
    }
  ]
}

查询所有订单列表的信息,按时间范围过滤。 订单列表的状态报告与 orderList.status 相同。

权重(IP): 20

参数:

名称 类型 是否必需 描述
fromId INT NO 起始的 Order list ID
startTime INT NO
endTime INT NO
limit INT NO 默认 500; 最大值 1000
apiKey STRING YES
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

备注:

订单列表是按照最后一次更新的订单列表执行状态的 transactionTime 过滤的。

数据源: 数据库

账户成交历史 (USER_DATA)

请求:

{
  "id": "f4ce6a53-a29d-4f70-823b-4ab59391d6e8",
  "method": "myTrades",
  "params": {
    "symbol": "BTCUSDT",
    "startTime": 1660780800000,
    "endTime": 1660867200000,
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "c5a5ffb79fd4f2e10a92f895d488943a57954edf5933bde3338dfb6ea6d6eefc",
    "timestamp": 1661955125250
  }
}

响应:

{
  "id": "f4ce6a53-a29d-4f70-823b-4ab59391d6e8",
  "status": 200,
  "result": [
    {
      "symbol": "BTCUSDT",
      "id": 1650422481,
      "orderId": 12569099453,
      "orderListId": -1,
      "price": "23416.10000000",
      "qty": "0.00635000",
      "quoteQty": "148.69223500",
      "commission": "0.00000000",
      "commissionAsset": "BNB",
      "time": 1660801715793,
      "isBuyer": false,
      "isMaker": true,
      "isBestMatch": true
    },
    {
      "symbol": "BTCUSDT",
      "id": 1650422482,
      "orderId": 12569099453,
      "orderListId": -1,
      "price": "23416.50000000",
      "qty": "0.00212000",
      "quoteQty": "49.64298000",
      "commission": "0.00000000",
      "commissionAsset": "BNB",
      "time": 1660801715793,
      "isBuyer": false,
      "isMaker": true,
      "isBestMatch": true
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 20
    }
  ]
}

获取账户指定交易对的成交历史,按时间范围过滤。

权重(IP): 20

参数:

名称 类型 是否必需 描述
symbol STRING YES
orderId INT NO
startTime INT NO
endTime INT NO
fromId INT NO 起始交易 ID
limit INT NO 默认 500; 最大值 1000
apiKey STRING YES
recvWindow INT NO 值不能大于 60000
signature STRING YES
timestamp INT YES

备注:

fromId 不能与 startTimeendTime 一起使用。

startTimeendTime 不能与 orderId 一起使用。

数据源: 缓存 => 数据库

账户的 Prevented Matches (USER_DATA)

请求:

{
  "id": "g4ce6a53-a39d-4f71-823b-4ab5r391d6y8",
  "method": "myPreventedMatches",
  "params": {
    "symbol": "BTCUSDT",
    "orderId": 35,
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "c5a5ffb79fd4f2e10a92f895d488943a57954edf5933bde3338dfb6ea6d6eefc",
    "timestamp": 1673923281052
  }
}

响应:

{
  "id": "g4ce6a53-a39d-4f71-823b-4ab5r391d6y8",
  "status": 200,
  "result": [
    {
      "symbol": "BTCUSDT",
      "preventedMatchId": 1,
      "takerOrderId": 5,
      "makerOrderId": 3,
      "tradeGroupId": 1,
      "selfTradePreventionMode": "EXPIRE_MAKER",
      "price": "1.100000",
      "makerPreventedQuantity": "1.300000",
      "transactTime": 1669101687094
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 20
    }
  ]
}

获取因 STP 触发而过期的订单列表。

这些是支持的组合:

参数:

名称 类型 是否必需 描述
symbol STRING YES
preventedMatchId LONG NO
orderId LONG NO
fromPreventedMatchId LONG NO
limit INT NO 默认:500;最大:1000
recvWindow LONG NO 赋值不得大于 60000
timestamp LONG YES

权重(IP):

情况 权重
如果 symbol 无效 2
preventedMatchId 查询 2
orderId 查询 20

数据源:

数据库

查询分配结果 (USER_DATA)

请求:

{
  "id": "g4ce6a53-a39d-4f71-823b-4ab5r391d6y8",
  "method": "myAllocations",
  "params": {
    "symbol": "BTCUSDT",
    "orderId": 500,
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "c5a5ffb79fd4f2e10a92f895d488943a57954edf5933bde3338dfb6ea6d6eefc",
    "timestamp": 1673923281052
  }
}

响应:

{
  "id": "g4ce6a53-a39d-4f71-823b-4ab5r391d6y8",
  "status": 200,
  "result": [
    {
      "symbol": "BTCUSDT",
      "allocationId": 0,
      "allocationType": "SOR",
      "orderId": 500,
      "orderListId": -1,
      "price": "1.00000000",
      "qty": "0.10000000",
      "quoteQty": "0.10000000",
      "commission": "0.00000000",
      "commissionAsset": "BTC",
      "time": 1687319487614,
      "isBuyer": false,
      "isMaker": false,
      "isAllocator": false
    }
  ],
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 20
    }
  ]
}

检索由 SOR 订单生成引起的分配结果。

权重: 20

参数:

名称 类型 是否必需 描述
symbol STRING Yes
startTime LONG No
endTime LONG No
fromAllocationId INT No
limit INT No 默认值 500; 最大值 1000
orderId LONG No
recvWindow LONG No 不能大于 60000
timestamp LONG No

支持的参数组合:

参数 响应
symbol 按从最旧到最新排序的分配
symbol + startTime startTime 开始的最旧的分配
symbol + endTime endTime 为止的最新的分配
symbol + startTime + endTime 在指定时间范围内的分配
symbol + fromAllocationId 从指定 AllocationId 开始的分配
symbol + orderId 按从最旧到最新排序并和特定订单关联的分配
symbol + orderId + fromAllocationId 从指定 AllocationId 开始并和特定订单关联的分配

注意: startTimeendTime 之间的时间不能超过 24 小时。

数据源: 数据库

账户佣金费率 (USER_DATA)

请求

{
  "id": "d3df8a61-98ea-4fe0-8f4e-0fcea5d418b0",
  "method": "account.commission",
  "params": {
    "symbol": "BTCUSDT",
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A",
    "signature": "c5a5ffb79fd4f2e10a92f895d488943a57954edf5933bde3338dfb6ea6d6eefc",
    "timestamp": 1673923281052
  }
}

响应:

{
  "id": "d3df8a61-98ea-4fe0-8f4e-0fcea5d418b0",
  "status": 200,
  "result":
  [
    {
      "symbol": "BTCUSDT",
      "standardCommission":               // 订单交易的标准佣金率。
      {
        "maker": "0.00000010",
        "taker": "0.00000020",
        "buyer": "0.00000030",
        "seller": "0.00000040"
      },
      "taxCommission":                   // 订单交易的税率。
      {
        "maker": "0.00000112",
        "taker": "0.00000114",
        "buyer": "0.00000118",
        "seller": "0.00000116"
      },
      "discount":                        // 以BNB支付时的标准佣金折扣。
      {
        "enabledForAccount": true,
        "enabledForSymbol": true,
        "discountAsset": "BNB",
        "discount": "0.75000000"         // 当用BNB支付佣金时,在标准佣金上按此比率打折
      }
    }
  ],
  "rateLimits":
  [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 20
    }
  ]
}

获取当前账户的佣金费率。

参数:

参数名 类型 是否必需 描述
symbol STRING YES

权重: 20

数据源: 数据库

Websocket 账户信息

以下请求管理 Websocket 账户信息 订阅。

注意: 账户信息只能在连接到用户数据流服务器的连接上获取, 其服务器URL是 wss://stream.binance.com:443.

开始用户数据流 (USER_STREAM)

请求:

{
  "id": "d3df8a61-98ea-4fe0-8f4e-0fcea5d418b0",
  "method": "userDataStream.start",
  "params": {
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A"
  }
}

响应:

{
  "id": "d3df8a61-98ea-4fe0-8f4e-0fcea5d418b0",
  "status": 200,
  "result": {
    "listenKey": "xs0mRXdAKlIPDRFrlPcw0qI41Eh3ixNntmymGyhrhgqo7L6FuLaWArTD7RLP"
  },
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2
    }
  ]
}

开始新的用户数据流

之后在 WebSocket Stream 上订阅收到的 listen key。

注意: 数据流将在 60 分钟后关闭,除非定期发送 userDataStream.ping 请求。

权重(IP): 2

参数:

名称 类型 是否必需 描述
apiKey STRING YES

数据源: 缓存

Ping 账户数据流 (USER_STREAM)

请求:

{
  "id": "815d5fce-0880-4287-a567-80badf004c74",
  "method": "userDataStream.ping",
  "params": {
    "listenKey": "xs0mRXdAKlIPDRFrlPcw0qI41Eh3ixNntmymGyhrhgqo7L6FuLaWArTD7RLP",
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A"
  }
}

响应:

{
  "id": "815d5fce-0880-4287-a567-80badf004c74",
  "status": 200,
  "response": {},
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2
    }
  ]
}

即使在监听, 用户数据流也会在60分钟后会自动关闭。 若要保持账户数据流的活动状态,必须使用 userDataStream.ping 请求定期发送 ping,建议的是在每30分钟发送一次 ping。

权重(IP): 2

参数:

名称 类型 是否必需 描述
listenKey STRING YES
apiKey STRING YES

数据源: 缓存

关闭账户数据流 (USER_STREAM)

请求:

{
  "id": "819e1b1b-8c06-485b-a13e-131326c69599",
  "method": "userDataStream.stop",
  "params": {
    "listenKey": "xs0mRXdAKlIPDRFrlPcw0qI41Eh3ixNntmymGyhrhgqo7L6FuLaWArTD7RLP",
    "apiKey": "vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A"
  }
}

响应:

{
  "id": "819e1b1b-8c06-485b-a13e-131326c69599",
  "status": 200,
  "response": {},
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000,
      "count": 2
    }
  ]
}

强制停止和关闭账户数据流

权重(IP): 2

参数:

名称 类型 是否必需 描述
listenKey STRING YES
apiKey STRING YES

数据源: 缓存