更新日志
重要文档通知
Binance 推出了全新的 API 文档门户。现有的 GitHub API 文档 已废弃,并将在用户迁移完成后的几个月内下线;具体日期将在适当时候确定并通知。
在此过渡阶段,两者网站将同时维持。然而,任何新服务将只会在新的门户上发布。
下面是当前和新 API 文档的链接的参考表:
功能 | 当前文档 | 新文档 |
---|---|---|
现货交易 | 当前文档 | 新文档 |
现货Websocket API | 当前文档 | 新文档 |
杠杆交易 | 当前文档 | 新文档 |
U本位合约 | 当前文档 | 新文档 |
币本位合约 | 当前文档 | 新文档 |
欧式期权 | 当前文档 | 新文档 |
统一账户 | 当前文档 | 新文档 |
钱包 | 当前文档 | 新文档 |
子母账户 | 当前文档 | 新文档 |
赚币 | 当前文档 | 新文档 |
双币投资 | 当前文档 | 新文档 |
定投 | 当前文档 | 新文档 |
ETH质押 | 当前文档 | 新文档 |
矿池接口 | 当前文档 | 新文档 |
策略交易 | 当前文档 | 新文档 |
跟单交易 | 当前文档 | 新文档 |
统一账户专业版 | 当前文档 | 新文档 |
法币 | 当前文档 | 新文档 |
C2C | 当前文档 | 新文档 |
VIP借币 | 当前文档 | 新文档 |
质押借币 | 当前文档 | 新文档 |
Pay | 当前文档 | 新文档 |
闪兑 | 当前文档 | 新文档 |
返佣 | 当前文档 | 新文档 |
NFT | 当前文档 | 新文档 |
礼品卡 | 当前文档 | 新文档 |
2024-04-09
- 合约交易Good-Till-Cancel(GTC)订单变为仅有一年的有效期。 超过一年的GTC订单将被自动取消。改动适用于所有订单类型,包括仅减仓订单(reduceOnly),但不影响部分成交订单或策略交易或跟单交易订单。
2024-01-19
REST
- 新增
PUT /papi/v1/um/order
和PUT /papi/v1/cm/order
接口以支持合约限价订单修改功能 - 新增
GET /papi/v1/um/orderAmendment
和GET /papi/v1/cm/orderAmendment
接口以查询合约订单修改历史
- 新增
2024-01-11
自成交保护(已发布)
U本位合约系统中将支持Self-Trade Prevention(STP)自成交保护。此功能将阻止订单与来自同一账户或者同一 tradeGroupId 账户的订单交易。详情请参考 FAQ
合约所有交易对支持通过下单时设置
selfTradePreventionMode
为下面之一的STP模式:- NONE: 不设置自成交保护
- EXPIRE_TAKER: 自成交过期taker订单
- EXPIRE_MAKER: 自成交过期maker订单
- EXPIRE_BOTH: 自成交过期taker和maker订单
REST更新:
- 新的订单状态:
EXPIRED_IN_MATCH
- 订单由于 STP 触发而过期 - /papi/v1/um/account中响应新增字段
tradeGroupId
显示用户的tradeGroupId - 以下接口新增可选参数
selfTradePreventionMode
以设置该订单的自成交保护模式:- POST /papi/v1/um/order
- POST/papi/v1/um/conditional/order
- POST /papi/v1/margin/order
- POST /papi/v1/margin/order/oco
以下接口新增响应字段
selfTradePreventionMode
以显示订单的自成交保护模式:- POST /papi/v1/um/order
- POST/papi/v1/um/conditional/order
- GET /papi/v1/um/order
- GET /papi/v1/um/openOrder
- GET /papi/v1/um/openOrders
- GET /papi/v1/um/allOrders
- GET /papi/v1/um/conditional/openOrder
- GET /papi/v1/um/conditional/openOrders
- GET /papi/v1/um/conditional/orderHistory
- GET /papi/v1/um/conditional/allOrders
- DELETE /papi/v1/um/order
- DELETE /papi/v1/um/conditional/order
- DELETE /papi/v1/margin/order
- DELETE /papi/v1/margin/allOpenOrders
- DELETE /papi/v1/margin/orderList
- GET /papi/v1/margin/order
- GET /papi/v1/margin/allOrders
- GET /papi/v1/margin/orderList
- GET /papi/v1/margin/allOrderList
- GET /papi/v1/margin/openOrderList
- 新的订单状态:
WEBSOCKET账户信息推送更新:
ORDER_TRADE_UPDATE
和CONDITIONAL_ORDER_TRADE_UPDATE
中新增字段V
显示用户订单的自成交保护模式-
executionReport
中新增以下字段u
-tradeGroupId
v
-preventedMatchId
U
-counterOrderId
A
-preventedQuantity
B
-lastPreventedQuantity
有效方式GTD(已发布)
U本位合约系统中将支持有效方式GTD(Good Till Date)。有效方式(TIF)为GTD的订单到
goodTillDate
时间仍未完结会被自动取消REST更新:
- 以下接口新增响应字段
goodTillDate
以配置GTD订单过期时间:- POST /papi/v1/um/order
- POST/papi/v1/um/conditional/order
- 以下接口新增响应字段
goodTillDate
以显示GTD订单过期时间:- POST /papi/v1/um/order
- POST/papi/v1/um/conditional/order
- GET /papi/v1/um/order
- GET /papi/v1/um/openOrder
- GET /papi/v1/um/openOrders
- GET /papi/v1/um/allOrders
- GET /papi/v1/um/conditional/openOrder
- GET /papi/v1/um/conditional/openOrders
- GET /papi/v1/um/conditional/orderHistory
- GET /papi/v1/um/conditional/allOrders
- DELETE /papi/v1/um/order
- DELETE /papi/v1/um/conditional/order
- 以下接口新增响应字段
Websocket账户信息推送更新:
ORDER_TRADE_UPDATE
和CONDITIONAL_ORDER_TRADE_UPDATE
中新增字段goodTillDate
` 显示用户GTD订单的自动取消时间盈亏平衡价(已发布)
REST更新
- 以下接口返回新增
breakEvenPrice
字段代表仓位盈亏平衡价:- GET /papi/v1/um/account
- GET /papi/v1/um/positionRisk
- GET /papi/v1/cm/account
- GET /papi/v1/cm/positionRisk
- 以下接口返回新增
WEBSOCKET更新
- Position更新推送payloadACCOUNT_UPDATE中P新增bep字段代表仓位盈亏平衡价
2023-09-04
接口字段更新:
GET /papi/v1/um/positionRisk
: 新增响应字段liquidationPrice
GET /papi/v1/cm/positionRisk
: 新增响应字段liquidationPrice
GET /papi/v1/um/leverageBracket
: 新增响应字段notionalCoef
GET /papi/v1/cm/leverageBracket
: 新增响应字段notionalCoef
Websocket账户信息推送字段更新:
outboundAccountPosition
事件新增字段更新IdU
balanceUpdate
事件新增字段更新IdU
2023-09-04
2023-09-07发布
- papi的order ratelimit从2400 orders/min降低为1200 orders/min,受影响的接口:
- POST
/papi/v1/um/order
- POST
/papi/v1/cm/order
- POST
/papi/v1/margin/order
- POST
/papi/v1/margin/order/oco
- POST
/papi/v1/um/conditional/order
- POST
/papi/v1/cm/conditional/order
- POST
2023-08-18
- 新增查询接口:
GET /papi/v1/margin/order
: 杠杆下单GET /papi/v1/margin/openOrders
: 查询杠杆账户挂单记录GET /papi/v1/margin/allOrders
: 查询杠杆账户的所有订单GET /papi/v1/margin/orderList
: 查询杠杆账户 OCOGET /papi/v1/margin/allOrderList
: 查询特定杠杆账户所有 OCOGET /papi/v1/margin/openOrderList
: 查询杠杆账户 OCO 挂单GET /papi/v1/margin/myTrades
: 查询杠杆账户交易历史
2023-07-28
- 新增账户接口:
POST /papi/v1/asset-collection
: 特定资产资金归集
POST /papi/v1/asset-collection
2023-07-20
- 新增账户接口:
GET /papi/v1/um/adlQuantile
: UM持仓ADL队列估算GET /papi/v1/cm/adlQuantile
: CM持仓ADL队列估算
2023-07-18
- 新增统一账户账户接口:
POST /papi/v1/repay-futures-switch
: 更改自动清还合约负余额模式GET /papi/v1/repay-futures-switch
: 查询自动清还合约负余额模式POST /papi/v1/repay-futures-negative-balance
: 清还合约负余额
2023-07-13
- 新增用户数据推送
riskLevelChange
(2023-7-14生效)
2023-07-11
REST
- 增加新接口
POST /papi/v1/ping
测试服务器连通性
2023-06-19
REST
- 在
POST /papi/v1/um/conditional/order
和POST/papi/v1/cm/conditional/order
新增参数CONTRACT_PRICE
,priceProtect
2023-06-01
REST
- 下列接口将于2023-06-02生效:
- New endpoints
GET /papi/v1/um/income
andGET /papi/v1/cm/income
to query portfolio margin UM/CM income history - New endpoints
GET /papi/v1/um/account
andGET /papi/v1/cm/account
to query portfolio margin UM/CM account history
- New endpoints
2023-05-04
- 新增统一账户文档
基本信息
Rest 基本信息
- 本篇列出REST接口的baseurl https://papi.binance.com
- 所有接口的响应都是JSON格式
- 响应中如有数组,数组元素以时间升序排列,越早的数据越提前。
- 所有时间、时间戳均为UNIX时间,单位为毫秒
- 所有数据类型采用JAVA的数据类型定义
HTTP 返回代码
- HTTP
4XX
错误码用于指示错误的请求内容、行为、格式。 - HTTP
403
错误码表示违反WAF限制(Web应用程序防火墙)。 - HTTP
429
错误码表示警告访问频次超限,即将被封IP - HTTP
418
表示收到429后继续访问,于是被封了。 - HTTP
5XX
错误码用于指示Binance服务侧的问题。- 如果返回内容里包含了报错信息 "Request occur unknown error.",请稍后重试请求。
- HTTP
503
表示三种可能:- 如果返回内容里包含了报错信息 "Unknown error, please check your request or try again later.",则表示API服务端已经向业务核心提交了请求但未能获取响应,特别需要注意的是其不代表请求失败,而是未知。很可能已经得到了执行,也有可能执行失败,需要做进一步确认。
- 如果返回内容里包含了报错信息 "Service Unavailable.",则表示本次API请求失败。这种情况下可能是服务暂不可用,您需要稍后重试。
- 如果返回内容里包含了报错信息 "Internal error; unable to process your request. Please try again.",则表示本次API请求失败。这种情况下您如果需要的话可以选择立即重试。
接口错误代码
- 每个接口都有可能抛出异常
异常响应格式如下:
{
"code": -1121,
"msg": "Invalid symbol."
}
- 具体的错误码及其解释在错误代码
接口的基本信息
GET
方法的接口, 参数必须在query string
中发送.POST
,PUT
, 和DELETE
方法的接口, 参数可以在query string
中发送,也可以在request body
中发送(content typeapplication/x-www-form-urlencoded
)。允许混合这两种方式发送参数。但如果同一个参数名在query string和request body中都有,query string中的会被优先采用。- 对参数的顺序不做要求。
访问限制
- 违反上述任何一个访问限制都会收到HTTP 429,这是一个警告.
IP 访问限制
- 每个请求将包含一个
X-MBX-USED-权重-(intervalNum)(intervalLetter)
的头,其中包含当前IP所有请求的已使用权重。 - 每个路由都有一个"权重",该权重确定每个接口计数的请求数。较重的接口和对多个交易对进行操作的接口将具有较重的"权重"。
- 收到429时,您有责任作为API退回而不向其发送更多的请求。
- 如果屡次违反速率限制和/或在收到429后未能退回,将导致API的IP被禁(http状态418)。
- 频繁违反限制,封禁时间会逐渐延长 ,对于重复违反者,将会被封从2分钟到3天。
- 访问限制是基于IP的,而不是API Key
- 统一账户IP访问频率限制为6000/min。
下单频率限制
- 每个下单请求回报将包含一个
X-MBX-ORDER-COUNT-(intervalNum)(intervalLetter)
的头,其中包含当前账户已用的下单限制数量。 - 被拒绝或不成功的下单并不保证回报中包含以上头内容。
- 下单频率限制是基于每个账户计数的。
- 统一账户下单频率限制为1200/min。
接口鉴权类型
- 每个接口都有自己的鉴权类型,鉴权类型决定了访问时应当进行何种鉴权
- 如果需要 API-key,应当在HTTP头中以
X-MBX-APIKEY
字段传递 - API-key 与 API-secret 是大小写敏感的
- 可以在网页用户中心修改API-key 所具有的权限,例如读取账户信息、发送交易指令、发送提现指令
鉴权类型 | 描述 |
---|---|
NONE | 不需要鉴权的接口 |
TRADE | 需要有效的API-KEY和签名 |
USER_DATA | 需要有效的API-KEY和签名 |
USER_STREAM | 需要有效的API-KEY |
MARKET_DATA | 需要有效的API-KEY |
需要签名的接口 (TRADE 与 USER_DATA)
- 调用这些接口时,除了接口本身所需的参数外,还需要传递
signature
即签名参数。 - 签名使用
HMAC SHA256
算法. API-KEY所对应的API-Secret作为HMAC SHA256
的密钥,其他所有参数作为HMAC SHA256
的操作对象,得到的输出即为签名。 - 签名大小写不敏感。
- 当同时使用query string和request body时,
HMAC SHA256
的输入query string在前,request body在后
时间同步安全
- 签名接口均需要传递
timestamp
参数, 其值应当是请求发送时刻的unix时间戳(毫秒) - 服务器收到请求时会判断请求中的时间戳,如果是5000毫秒之前发出的,则请求会被认为无效。这个时间窗口值可以通过发送可选参数
recvWindow
来自定义。 - 另外,如果服务器计算得出客户端时间戳在服务器时间的‘未来’一秒以上,也会拒绝请求。
逻辑伪代码:
if (timestamp < (serverTime + 1000) && (serverTime - timestamp) <= recvWindow) {
// process request
} else {
// reject request
}
关于交易时效性
互联网状况并不100%可靠,不可完全依赖,因此你的程序本地到币安服务器的时延会有抖动.
这是我们设置recvWindow
的目的所在,如果你从事高频交易,对交易时效性有较高的要求,可以灵活设置recvWindow以达到你的要求。
POST /papi/v1/um/order 的示例 - HMAC Keys
以下是在linux bash环境下使用 echo openssl 和curl工具实现的一个调用接口下单的示例 apikey、secret仅供示范
Key | Value |
---|---|
apiKey | dbefbc809e3e83c283a984c3a1459732ea7db1360ca80c5c2c8867408d28cc83 |
secretKey | 2b5eb11e18796d12d88f13dc27dbbd02c2cc51ff7059765ed9821957d82bb4d9 |
参数 | 取值 |
---|---|
symbol | BTCUSDT |
side | BUY |
type | LIMIT |
timeInForce | GTC |
quantity | 1 |
price | 9000 |
recvWindow | 5000 |
timestamp | 1591702613943 |
示例 1: 所有参数通过 query string 发送
示例1:
HMAC SHA256 签名:
$ echo -n "symbol=BTCUSDT&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=2000&recvWindow=5000×tamp=1611825601400" | openssl dgst -sha256 -hmac "YtP1BudNOWZE1ag5uzCkh4hIC7qSmQOu797r5EJBFGhxBYivjj8HIX0iiiPof5yG"
(stdin)= 3c661234138461fcc7a7d8746c6558c9842d4e10870d2ecbedf7777cad694af9
curl 调用:
(HMAC SHA256)
$ curl -H "X-MBX-APIKEY: 22BjeOROKiXJ3NxbR3zjh3uoGcaflPu3VMyBXAg8Jj2J1xVSnY0eB4dzacdE9IWn" -X POST 'https://papi.binance.com/papi/v1/order' -d 'symbol=BTCUSDT&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=2000&recvWindow=5000×tamp=1611825601400&signature=7c12045972f6140e765e0f2b67d28099718df805732676494238f50be830a7d7'
queryString:
symbol=BTCUSDT
&side=BUY
&type=LIMIT
&timeInForce=GTC
&quantity=1
&price=0.1
&recvWindow=5000
×tamp=1499827319559
示例 2: 所有参数通过 request body 发送
示例2:
HMAC SHA256 签名:
$ echo -n "symbol=BTCUSDT&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=2000&recvWindow=5000×tamp=1611825601400" | openssl dgst -sha256 -hmac "YtP1BudNOWZE1ag5uzCkh4hIC7qSmQOu797r5EJBFGhxBYivjj8HIX0iiiPof5yG"
(stdin)= 7c12045972f6140e765e0f2b67d28099718df805732676494238f50be830a7d7
curl 调用:
(HMAC SHA256)
$ curl -H "X-MBX-APIKEY: 22BjeOROKiXJ3NxbR3zjh3uoGcaflPu3VMyBXAg8Jj2J1xVSnY0eB4dzacdE9IWn" -X POST 'https://papi.binance.com/papi/v1/order?symbol=BTCUSDT&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=2000&recvWindow=5000×tamp=1611825601400&signature=7c12045972f6140e765e0f2b67d28099718df805732676494238f50be830a7d7'
requestBody:
symbol=BTCUSDT
&side=BUY
&type=LIMIT
&timeInForce=GTC
&quantity=1
&price=9000
&recvWindow=5000
×tamp=1591702613943
示例 3: 混合使用 query string 与 request body
示例3:
HMAC SHA256 签名:
$ echo -n "symbol=BTCUSDT&side=BUY&type=LIMIT&timeInForce=GTCquantity=0.01&price=2000&recvWindow=5000×tamp=1611825601400" | openssl dgst -sha256 -hmac "YtP1BudNOWZE1ag5uzCkh4hIC7qSmQOu797r5EJBFGhxBYivjj8HIX0iiiPof5yG"
(stdin)= fa6045c54fb02912b766442be1f66fab619217e551a4fb4f8a1ee000df914d8e
curl 调用:
(HMAC SHA256)
$ curl -H "X-MBX-APIKEY: 22BjeOROKiXJ3NxbR3zjh3uoGcaflPu3VMyBXAg8Jj2J1xVSnY0eB4dzacdE9IWn" -X POST 'https://papi.binance.com/papi/v1/order?symbol=BTCUSDT&side=BUY&type=LIMIT&timeInForce=GTC' -d 'quantity=0.01&price=2000&recvWindow=5000×tamp=1611825601400&signature=fa6045c54fb02912b766442be1f66fab619217e551a4fb4f8a1ee000df914d8e'
- queryString:
symbol=BTCUSDT&side=BUY&type=LIMIT&timeInForce=GTC
- requestBody:
quantity=1&price=9000&recvWindow=5000×tamp= 1591702613943
请注意,示例3中的签名有些许不同,在"GTC"和"quantity=1"之间没有"&"字符。
POST /papi/v1/um/order 的示例 - RSA Keys
- 这将逐步介绍如何通过有效的签名发送 payload。
- 我们接受
PKCS#8
格式的 RSA Key。 - 要获取 API Key,您需要在您的账户上上传您的 RSA Public Key。
对于这个例子,Private Key 将被引用为test-prv-key.pem
。
Key | Value |
---|---|
apiKey | vE3BDAL1gP1UaexugRLtteaAHg3UO8Nza20uexEuW1Kh3tVwQfFHdAiyjjY428o2 |
参数 | 取值 |
---|---|
symbol | BTCUSDT |
side | SELL |
type | MARKET |
quantity | 1.23 |
recvWindow | 9999999 |
timestamp | 1671090801999 |
有列出参数的签名 payload:
timestamp=1671090801999&recvWindow=9999999&symbol=BTCUSDT&side=SELL&type=MARKET&quantity=1.23
第1步: Payload
将参数列表排列成一个 string。 用 &
分隔每个参数。对于上述参数,签名 payload 如右所示。
第2步: 计算签名
2.1 - 将签名有效负载编码为 ASCII 数据。
第2.2步
$ echo -n 'timestamp=1671090801999&recvWindow=9999999&symbol=BTCUSDT&side=SELL&type=MARKET&quantity=1.23' | openssl dgst -keyform PEM -sha256 -sign ./test-prv-key.pem
2.2 - 使用带有 SHA-256 hash 函数的 RSASSA-PKCS1-v1_5 算法对 payload 进行签名。
第2.3步
$ echo -n 'timestamp=1671090801999&recvWindow=9999999&symbol=BTCUSDT&side=SELL&type=MARKET&quantity=1.23' | openssl dgst -keyform PEM -sha256 -sign ./test-prv-key.pem | openssl enc -base64
aap36wD5loVXizxvvPI3wz9Cjqwmb3KVbxoym0XeWG1jZq8umqrnSk8H8dkLQeySjgVY91Ufs%2BBGCW%2B4sZjQEpgAfjM76riNxjlD3coGGEsPsT2lG39R%2F1q72zpDs8pYcQ4A692NgHO1zXcgScTGgdkjp%2Brp2bcddKjyz5XBrBM%3D
2.3 - 将输出编码为 base64 string。
第2.4步
$ echo -n 'timestamp=1671090801999&recvWindow=9999999&symbol=BTCUSDT&side=SELL&type=MARKET&quantity=1.23' | openssl dgst -keyform PEM -sha256 -sign ./test-prv-key.pem | openssl enc -base64 | tr -d '\n'
aap36wD5loVXizxvvPI3wz9Cjqwmb3KVbxoym0XeWG1jZq8umqrnSk8H8dkLQeySjgVY91Ufs%2BBGCW%2B4sZjQEpgAfjM76riNxjlD3coGGEsPsT2lG39R%2F1q72zpDs8pYcQ4A692NgHO1zXcgScTGgdkjp%2Brp2bcddKjyz5XBrBM%3D
2.4 - 删除签名中的所有 \n
。
第2.5步
aap36wD5loVXizxvvPI3wz9Cjqwmb3KVbxoym0XeWG1jZq8umqrnSk8H8dkLQeySjgVY91Ufs%2BBGCW%2B4sZjQEpgAfjM76riNxjlD3coGGEsPsT2lG39R%2F1q72zpDs8pYcQ4A692NgHO1zXcgScTGgdkjp%2Brp2bcddKjyz5XBrBM%3D
2.5 - 由于签名可能包含 /
和 =
,这可能会导致发送请求时出现问题。 所以签名必须是 URL 编码的。
第2.6步
curl -H "X-MBX-APIKEY: vE3BDAL1gP1UaexugRLtteaAHg3UO8Nza20uexEuW1Kh3tVwQfFHdAiyjjY428o2" -X POST 'https://papi.binance.com/papi/v1/um/order?timestamp=1671090801999&recvWindow=9999999&symbol=BTCUSDT&side=SELL&type=MARKET&quantity=1.23&signature=aap36wD5loVXizxvvPI3wz9Cjqwmb3KVbxoym0XeWG1jZq8umqrnSk8H8dkLQeySjgVY91Ufs%2BBGCW%2B4sZjQEpgAfjM76riNxjlD3coGGEsPsT2lG39R%2F1q72zpDs8pYcQ4A692NgHO1zXcgScTGgdkjp%2Brp2bcddKjyz5XBrBM%3D'
2.6 - curl 命令
Bash 脚本
#!/usr/bin/env bash
# 设置身份验证:
apiKey="vE3BDAL1gP1UaexugRLtteaAHg3UO8Nza20uexEuW1Kh3tVwQfFHdAiyjjY428o2" ### 替换成您的 API Key
# 设置您的请求:
apiMethod="POST"
apiCall="v1/order"
apiParams="timestamp=1671090801999&recvWindow=9999999&symbol=BTCUSDT&side=SELL&type=MARKET&quantity=1.23"
function rawurlencode {
local value="$1"
local len=${#value}
local encoded=""
local pos c o
for (( pos=0 ; pos<len ; pos++ ))
do
c=${value:$pos:1}
case "$c" in
[-_.~a-zA-Z0-9] ) o="${c}" ;;
* ) printf -v o '%%%02x' "'$c"
esac
encoded+="$o"
done
echo "$encoded"
}
ts=$(date +%s000)
paramsWithTs="$apiParams×tamp=$ts"
rawSignature=$(echo -n "$paramsWithTs" \
| openssl dgst -keyform PEM -sha256 -sign ./test-prv-key.pem \ ### 替换成您的 Private Key。不要与任何人共享此文件。
| openssl enc -base64 \
| tr -d '\n')
signature=$(rawurlencode "$rawSignature")
curl -H "X-MBX-APIKEY: $apiKey" -X $apiMethod \
"https://fapi.binance.com/fapi/$apiCall?$paramsWithTs&signature=$signature"
右边有示例 Bash 脚本执行上述类似的步骤.
公开API参数
术语解释
base asset
指一个交易对的交易对象,即写在靠前部分的资产名quote asset
指一个交易对的定价资产,即写在靠后部分资产名Margin
指全仓杠杆UM
指U本位合约USD-M Futures
CM
指币本位合约Coin-M Futures
枚举定义
订单方向 (side):
- BUY 买入
- SELL 卖出
合约持仓方向:
- BOTH 单一持仓方向
- LONG 多头(双向持仓下)
- SHORT 空头(双向持仓下)
有效方式 (timeInForce):
- GTC - Good Till Cancel 成交为止
- IOC - Immediate or Cancel 无法立即成交(吃单)的部分就撤销
- FOK - Fill or Kill 无法全部立即成交就撤销
- GTX - Good Till Crossing 无法成为挂单方就撤销
响应类型 (newOrderRespType)
- ACK
- RESULT
订单种类 (orderTypes, type):
- LIMIT
- MAERKET
条件订单类型(type):
- STOP
- STOP_MARKET
- TAKE_PROFIT
- TAKE_PROFIT_MARKET
- TRAILING_STOP_MARKET
合约条件单价格触发类型 (workingType)
- MARK_PRICE 标记价格
条件单状态 (strategyStatus)
- NEW
- CANCELED
- TRIGGERED - 条件单被触发
- FINISHED - 触发单完全成交
- EXPIRED
合约类型 (contractType):
- PERPETUAL 永续合约
- CURRENT_MONTH 当月交割合约
- NEXT_MONTH 次月交割合约
- CURRENT_QUARTER 当季交割合约
- NEXT_QUARTER 次季交割合约
- PERPETUAL_DELIVERING 交割结算中合约
合约状态 (contractStatus, status):
- PENDING_TRADING 待上市
- TRADING 交易中
- PRE_DELIVERING 预交割
- DELIVERING 交割中
- DELIVERED 已交割
- PRE_SETTLE 预结算
- SETTLING 结算中
- CLOSE 已下架
订单状态 (status):
- NEW 新建订单
- PARTIALLY_FILLED 部分成交
- FILLED 全部成交
- CANCELED 已撤销
- REJECTED 订单被拒绝
- EXPIRED 订单过期(根据timeInForce参数规则)
限制种类 (rateLimitType)
REQUEST_权重
{
"rateLimitType": "REQUEST_权重",
"interval": "MINUTE",
"intervalNum": 1,
"limit": 6000
}
ORDERS
{
"rateLimitType": "ORDERS",
"interval": "MINUTE",
"intervalNum": 1,
"limit": 1200
}
REQUESTS_权重 单位时间请求权重之和上限
ORDERS 单位时间下单(撤单)次数上限
限制间隔
- MINUTE
过滤器
过滤器,即Filter,定义了一系列交易规则。
共有两类,分别是针对交易对的过滤器symbol filters
,和针对整个交易所的过滤器exchange filters
(暂不支持)
交易对过滤器
PRICE_FILTER 价格过滤器
/exchangeInfo 响应中的格式:
{
"filterType": "PRICE_FILTER",
"minPrice": "0.00000100",
"maxPrice": "100000.00000000",
"tickSize": "0.00000100"
}
价格过滤器用于检测order订单中price参数的合法性
minPrice
定义了price
/stopPrice
允许的最小值maxPrice
定义了price
/stopPrice
允许的最大值。tickSize
定义了price
/stopPrice
的步进间隔,即price必须等于minPrice+(tickSize的整数倍) 以上每一项均可为0,为0时代表这一项不再做限制。
逻辑伪代码如下:
price
>=minPrice
price
<=maxPrice
- (
price
-minPrice
) %tickSize
== 0
LOT_SIZE 订单尺寸
/exchangeInfo 响应中的格式:*
{
"filterType": "LOT_SIZE",
"minQty": "0.00100000",
"maxQty": "100000.00000000",
"stepSize": "0.00100000"
}
lots是拍卖术语,这个过滤器对订单中的quantity
也就是数量参数进行合法性检查。包含三个部分:
minQty
表示quantity
允许的最小值.maxQty
表示quantity
允许的最大值stepSize
表示quantity
允许的步进值。
逻辑伪代码如下:
quantity
>=minQty
quantity
<=maxQty
- (
quantity
-minQty
) %stepSize
== 0
MARKET_LOT_SIZE 市价订单尺寸
参考LOT_SIZE,区别仅在于对市价单还是限价单生效
MAX_NUM_ORDERS 最多订单数
/exchangeInfo 响应中的格式:
{
"filterType": "MAX_NUM_ORDERS",
"limit": 200
}
定义了某个交易对最多允许的挂单数量(不包括已关闭的订单)
普通订单与条件订单均计算在内
MAX_NUM_ALGO_ORDERS 最多条件订单数
/exchangeInfo format:
{
"filterType": "MAX_NUM_ALGO_ORDERS",
"limit": 100
}
定义了某个交易对最多允许的条件订单的挂单数量(不包括已关闭的订单)。
条件订单目前包括STOP
, STOP_MARKET
, TAKE_PROFIT
, TAKE_PROFIT_MARKET
, 和 TRAILING_STOP_MARKET
PERCENT_PRICE 价格振幅过滤器
/exchangeInfo 响应中的格式:
{
"filterType": "PERCENT_PRICE",
"multiplierUp": "1.1500",
"multiplierDown": "0.8500",
"multiplierDecimal": 4
}
PERCENT_PRICE
定义了基于标记价格计算的挂单价格的可接受区间.
挂单价格必须同时满足以下条件:
- 买单:
price
<=markPrice
*multiplierUp
- 卖单:
price
>=markPrice
*multiplierDown
MIN_NOTIONAL 最小名义价值
/exchangeInfo 响应中的格式:
{
"filterType": "MIN_NOTIONAL",
"notioanl": "5.0"
}
MIN_NOTIONAL过滤器定义了交易对订单所允许的最小名义价值(成交额)。
订单的名义价值是价格
*数量
。
由于MARKET
订单没有价格,因此会使用 mark price 计算。
行情接口
测试服务器连通性 PING
响应:
{}
GET /papi/v1/ping
测试能否联通
权重: 1
参数: NONE
下单接口
UM下单 (TRADE)
响应:
{
"clientOrderId": "testOrder",
"cumQty": "0",
"cumQuote": "0",
"executedQty": "0",
"orderId": 22542179,
"avgPrice": "0.00000",
"origQty": "10",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"status": "NEW",
"symbol": "BTCUSDT",
"timeInForce": "GTD",
"type": "MARKET",
"selfTradePreventionMode": "NONE", ////订单自成交保护模式
"goodTillDate": 1693207680000, //订单TIF为GTD时的自动取消时间
"updateTime": 1566818724722
}
POST /papi/v1/um/order (HMAC SHA256)
权重(order): 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | 交易对 |
side | ENUM | YES | 方向 |
positionSide | ENUM | NO | 持仓方向,单向持仓模式下非必填,默认且仅可填BOTH ;在双向持仓模式下必填,且仅可选择 LONG 或 SHORT |
type | ENUM | YES | LIMIT , MARKET |
timeInForce | ENUM | NO | 有效方法 |
quantity | DECIMAL | NO | 下单数量 |
reduceOnly | STRING | NO | true 或false ; 非双开模式下默认false;双开模式下不接受此参数 |
price | DECIMAL | NO | 委托价格 |
newClientOrderId | STRING | NO | 用户自定义的订单号,不可以重复出现在挂单中。如空缺系统会自动赋值。必须满足正则规则: ^[\.A-Z\:/a-z0-9_-]{1,32}$ |
newOrderRespType | ENUM | NO | ACK , RESULT ,默认 ACK |
selfTradePreventionMode | ENUM | NO | NONE / EXPIRE_TAKER/ EXPIRE_MAKER/ EXPIRE_BOTH; 默认NONE |
goodTillDate | LONG | NO | TIF为GTD时订单的自动取消时间, 当timeInforce为GTD时必传;传入的时间戳仅保留秒级精度,毫秒级部分会被自动忽略,时间戳需大于当前时间+600s且小于253402300799000 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
根据 order type
的不同,某些参数强制要求,具体如下:
类型 | 强制要求的参数 |
---|---|
LIMIT |
timeInForce , quantity , price |
MARKET |
quantity |
newOrderRespType
如果传RESULT
:MARKET
订单将直接返回成交结果;- 配合使用特殊
timeInForce
的LIMIT
订单将直接返回成交或过期拒绝结果。
selfTradePreventionMode
仅在timeInForce
为IOC
或GTC
或GTD
时生效.极端行情时,
timeInForce
为GTD
的订单自动取消可能有一定延迟
CM下单 (TRADE)
响应:
{
"clientOrderId": "testOrder",
"cumQty": "0",
"cumBase": "0",
"executedQty": "0",
"orderId": 22542179,
"avgPrice": "0.0",
"origQty": "10",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"status": "NEW",
"symbol": "BTCUSD_200925",
"pair": "BTCUSD",
"timeInForce": "GTC",
"type": "MARKET",
"updateTime": 1566818724722
}
POST /papi/v1/cm/order (HMAC SHA256)
权重(order): 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | 交易对 |
side | ENUM | YES | 方向 |
positionSide | ENUM | NO | 持仓方向,单向持仓模式下非必填,默认且仅可填BOTH ;在双向持仓模式下必填,且仅可选择 LONG 或 SHORT |
type | ENUM | YES | LIMIT , MARKET |
timeInForce | ENUM | NO | 有效方法 |
quantity | DECIMAL | NO | 下单数量 |
reduceOnly | STRING | NO | true 或false ; 非双开模式下默认false;双开模式下不接受此参数 |
price | DECIMAL | NO | 委托价格 |
newClientOrderId | STRING | NO | 用户自定义的订单号,不可以重复出现在挂单中。如空缺系统会自动赋值。必须满足正则规则: ^[\.A-Z\:/a-z0-9_-]{1,32}$ |
newOrderRespType | ENUM | NO | ACK , RESULT ,默认 ACK |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
根据 order type
的不同,某些参数强制要求,具体如下:
类型 | 强制要求的参数 |
---|---|
LIMIT |
timeInForce , quantity , price |
MARKET |
quantity |
newOrderRespType
如果传RESULT
:MARKET
订单将直接返回成交结果;- 配合使用特殊
timeInForce
的LIMIT
订单将直接返回成交或过期拒绝结果。
杠杆账户下单(TRADE)
响应:
{
"symbol": "BTCUSDT",
"orderId": 28,
"clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
"transactTime": 1507725176595,
"price": "1.00000000",
"selfTradePreventionMode": "NONE",
"origQty": "10.00000000",
"executedQty": "10.00000000",
"cummulativeQuoteQty": "10.00000000",
"status": "FILLED",
"timeInForce": "GTC",
"type": "MARKET",
"side": "SELL",
"marginBuyBorrowAmount": 5, // 下单后没有发生借款则不返回该字段
"marginBuyBorrowAsset": "BTC", // 下单后没有发生借款则不返回该字段
"fills": [
{
"price": "4000.00000000",
"qty": "1.00000000",
"commission": "4.00000000",
"commissionAsset": "USDT"
},
{
"price": "3999.00000000",
"qty": "5.00000000",
"commission": "19.99500000",
"commissionAsset": "USDT"
}
]
}
POST /papi/v1/margin/order
权重(order): 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
side | ENUM | YES | BUY ; SELL |
type | ENUM | YES | 详见枚举定义:订单类型 |
quantity | DECIMAL | NO | |
quoteOrderQty | DECIMAL | NO | |
price | DECIMAL | NO | |
stopPrice | DECIMAL | NO | 与 STOP_LOSS , STOP_LOSS_LIMIT , TAKE_PROFIT ,和 TAKE_PROFIT_LIMIT 订单一起使用 |
newClientOrderId | STRING | NO | 客户自定义的唯一订单ID。若未发送自动生成。 |
newOrderRespType | ENUM | NO | 设置响应: JSON。 ACK , RESULT , 或 FULL ; MARKET 和 LIMIT 订单类型默认为 FULL , 所有其他订单默认为 ACK |
icebergQty | DECIMAL | NO | 与 LIMIT , STOP_LOSS_LIMIT ,和 TAKE_PROFIT_LIMIT 一起使用创建 iceberg 订单 |
sideEffectType | ENUM | NO | NO_SIDE_EFFECT , MARGIN_BUY ,AUTO_REPAY ,AUTO_BORROW_REPAY ;默认为 NO_SIDE_EFFECT |
timeInForce | ENUM | NO | GTC ,IOC ,FOK |
selfTradePreventionMode | ENUM | NO | 允许的 ENUM 取决于交易对的配置。支持的值有 EXPIRE_TAKER,EXPIRE_MAKER,EXPIRE_BOTH,NONE |
autoRepayAtCancel | BOOLEAN | NO | Only when MARGIN_BUY or AUTO_BORROW_REPAY order takes effect, true means that the debt generated by the order needs to be repay after the order is cancelled. The default is true |
recvWindow | LONG | NO | 赋值不能超过 60000 |
timestamp | LONG | YES |
杠杆账户借贷 (MARGIN)
响应:
{
//transaction id
"tranId": 100000001
}
申请借贷。
POST /papi/v1/marginLoan
权重: 100
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
asset | STRING | YES | |
amount | DECIMAL | YES | |
recvWindow | LONG | NO | 赋值不能超过60000 |
timestamp | LONG | YES |
杠杆账户归还借贷 (MARGIN)
响应:
{
"tranId": 100000001 //transaction id
}
获取杠杆账户归还借贷
POST /papi/v1/repayLoan
权重: 100
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
asset | STRING | YES | |
amount | DECIMAL | YES | |
recvWindow | LONG | NO | 赋值不能超过60000 |
timestamp | LONG | YES |
杠杆账户 OCO 下单 (TRADE)
响应:
{
"orderListId": 0,
"contingencyType": "OCO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "JYVpp3F0f5CAG15DhtrqLp",
"transactionTime": 1563417480525,
"symbol": "LTCBTC",
"marginBuyBorrowAmount": "5", // 下单后没有发生借款则不返回该字段
"marginBuyBorrowAsset": "BTC", // 下单后没有发生借款则不返回该字段
"orders": [
{
"symbol": "LTCBTC",
"orderId": 2,
"clientOrderId": "Kk7sqHb9J6mJWTMDVW7Vos"
},
{
"symbol": "LTCBTC",
"orderId": 3,
"clientOrderId": "xTXKaGYd4bluPVp78IVRvl"
}
],
"orderReports": [
{
"symbol": "LTCBTC",
"orderId": 2,
"orderListId": 0,
"clientOrderId": "Kk7sqHb9J6mJWTMDVW7Vos",
"transactTime": 1563417480525,
"price": "0.000000",
"origQty": "0.624363",
"executedQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "STOP_LOSS",
"side": "BUY",
"stopPrice": "0.960664",
"selfTradePreventionMode": "EXPIRE_BOTH"
},
{
"symbol": "LTCBTC",
"orderId": 3,
"orderListId": 0,
"clientOrderId": "xTXKaGYd4bluPVp78IVRvl",
"transactTime": 1563417480525,
"price": "0.036435",
"origQty": "0.624363",
"executedQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT_MAKER",
"side": "BUY",
"selfTradePreventionMode": "EXPIRE_BOTH"
}
]
}
POST /papi/v1/margin/order/oco
杠杆账户发送新 OCO 订单
权重(order): 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
listClientOrderId | STRING | NO | 整个orderList的唯一ID |
side | ENUM | YES | 详见枚举定义:订单方向 |
quantity | DECIMAL | YES | |
limitClientOrderId | STRING | NO | 限价单的唯一ID |
price | DECIMAL | YES | |
limitIcebergQty | DECIMAL | NO | |
stopClientOrderId | STRING | NO | 止损/止损限价单的唯一ID |
stopPrice | DECIMAL | YES | |
stopLimitPrice | DECIMAL | NO | 如果提供,须配合提交stopLimitTimeInForce |
stopIcebergQty | DECIMAL | NO | |
stopLimitTimeInForce | ENUM | NO | 有效值 GTC/FOK/IOC |
newOrderRespType | ENUM | NO | 详见枚举定义:订单返回类型 |
sideEffectType | ENUM | NO | NO_SIDE_EFFECT , MARGIN_BUY , AUTO_REPAY ,AUTO_BORROW_REPAY ; 默认为 NO_SIDE_EFFECT |
selfTradePreventionMode | ENUM | NO | 允许的 ENUM 取决于交易对的配置。支持的值有 EXPIRE_TAKER,EXPIRE_MAKER,EXPIRE_BOTH,NONE |
autoRepayAtCancel | BOOLEAN | NO | Only when MARGIN_BUY or AUTO_BORROW_REPAY order takes effect, true means that the debt generated by the order needs to be repay after the order is cancelled. The default is true |
recvWindow | LONG | NO | 不能大于 60000 |
timestamp | LONG | YES |
Other Info:
* 价格限制:
* SELL
: 限价 > 最新成交价 >触发价
* BUY
: 限价 < 最新成交价 < 触发价
* 数量限制:
* 两个 legs 必须具有同样的数量
* ICEBERG
数量不必相同
* 下单rate:
* 一个OCO
订单被算成2个普通订单
UM条件单下单 (TRADE)
响应:
{
"newClientStrategyId": "testOrder",
"strategyId":123445,
"strategyStatus":"NEW",
"strategyType": "TRAILING_STOP_MARKET",
"origQty": "10",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"stopPrice": "9300",
"symbol": "BTCUSDT",
"timeInForce": "GTD",
"activatePrice": "9020",
"priceRate": "0.3",
"bookTime": 1566818724710, //条件单下单时间
"updateTime": 1566818724722
"workingType": "CONTRACT_PRICE",
"priceProtect": false,
"selfTradePreventionMode": "NONE", ////订单自成交保护模式
"goodTillDate": 1693207680000 //订单TIF为GTD时的自动取消时间
}
POST/papi/v1/um/conditional/order
权重(Order): 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | 交易对 |
side | ENUM | YES | 方向 |
positionSide | ENUM | NO | 持仓方向,单向持仓模式下非必填,默认且仅可填BOTH ;在双向持仓模式下必填,且仅可选择 LONG 或 SHORT |
strategyType | ENUM | YES | 条件单类型"STOP", "STOP_MARKET", "TAKE_PROFIT", "TAKE_PROFIT_MARKET"或"TRAILING_STOP_MARKET" |
timeInForce | ENUM | NO | |
quantity | DECIMAL | NO | |
reduceOnly | STRING | NO | true 或false ; 非双开模式下默认false;双开模式下不接受此参数 |
price | DECIMAL | NO | |
workingType | ENUM | NO | stopPrice 触发类型: MARK_PRICE (标记价格), CONTRACT_PRICE (合约最新价). 默认 CONTRACT_PRICE |
priceProtect | STRING | NO | 条件单触发保护:"TRUE","FALSE", 默认"FALSE". 仅 STOP , STOP_MARKET , TAKE_PROFIT , TAKE_PROFIT_MARKET 需要此参数 |
newClientStrategyId | STRING | NO | 用户自定义的订单号,不可以重复出现在挂单中。如空缺系统会自动赋值。必须满足正则规则: ^[\.A-Z\:/a-z0-9_-]{1,32}$ |
stopPrice | DECIMAL | NO | Used with STOP/STOP_MARKET or TAKE_PROFIT/TAKE_PROFIT_MARKET orders. |
activationPrice | DECIMAL | NO | TRAILING_STOP_MARKET 单使用,默认标记价格 |
callbackRate | DECIMAL | NO | TRAILING_STOP_MARKET 单使用, 最小0.1, 最大5,1代表1% |
selfTradePreventionMode | ENUM | NO | NONE / EXPIRE_TAKER/ EXPIRE_MAKER/ EXPIRE_BOTH; 默认NONE |
goodTillDate | LONG | NO | TIF为GTD时订单的自动取消时间, 当timeInforce为GTD时必传;传入的时间戳仅保留秒级精度,毫秒级部分会被自动忽略,时间戳需大于当前时间+600s且小于253402300799000 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
根据 order type
的不同,某些参数强制要求,具体如下:
类型 | 强制要求的参数 |
---|---|
STOP/TAKE_PROFIT |
quantity , price , stopPrice |
STOP_MARKET/TAKE_PROFIT_MARKET |
stopPrice |
TRAILING_STOP_MARKET |
callbackRate |
- 条件单为
STOP/TAKE_PROFIT
时, 参数timeInForce
可以使用(默认GTC
) - 条件单的触发必须:
STOP
,STOP_MARKET
止损单:- 买入: 最新合约价格/标记价格高于等于触发价
stopPrice
- 卖出: 最新合约价格/标记价格低于等于触发价
stopPrice
- 买入: 最新合约价格/标记价格高于等于触发价
TAKE_PROFIT
,TAKE_PROFIT_MARKET
止盈单:- 买入: 最新合约价格/标记价格低于等于触发价
stopPrice
- 卖出: 最新合约价格/标记价格高于等于触发价
stopPrice
- 买入: 最新合约价格/标记价格低于等于触发价
TRAILING_STOP_MARKET
跟踪止损单:- 买入: 当合约价格/标记价格区间最低价格低于激活价格
activationPrice
,且最新合约价格/标记价高于等于最低价设定回调幅度。 - 卖出: 当合约价格/标记价格区间最高价格高于激活价格
activationPrice
,且最新合约价格/标记价低于等于最高价设定回调幅度。
- 买入: 当合约价格/标记价格区间最低价格低于激活价格
TRAILING_STOP_MARKET
跟踪止损单如果遇到报错{"code": -2021, "msg": "Order would immediately trigger."}
表示订单不满足以下条件:- 买入: 指定的
activationPrice
必须小于 latest mark price - 卖出: 指定的
activationPrice
必须大于 latest mark price
- 买入: 指定的
条件单的触发必须:
- 如果订单参数
priceProtect
为true:- 达到触发价时,
MARK_PRICE
(标记价格)与CONTRACT_PRICE
(合约最新价)之间的价差不能超过改symbol触发保护阈值 - 触发保护阈值请参考接口
GET /fapi/v1/exchangeInfo
返回内容相应symbol中"triggerProtect"字段
- 达到触发价时,
STOP
,STOP_MARKET
止损单:- 买入: 最新合约价格/标记价格高于等于触发价
stopPrice
- 卖出: 最新合约价格/标记价格低于等于触发价
stopPrice
- 买入: 最新合约价格/标记价格高于等于触发价
TAKE_PROFIT
,TAKE_PROFIT_MARKET
止盈单:- 买入: 最新合约价格/标记价格低于等于触发价
stopPrice
- 卖出: 最新合约价格/标记价格高于等于触发价
stopPrice
- 买入: 最新合约价格/标记价格低于等于触发价
- 如果订单参数
selfTradePreventionMode
仅在timeInForce
为IOC
或GTC
或GTD
时生效.极端行情时,
timeInForce
为GTD
的订单自动取消可能有一定延迟
CM条件单下单 (TRADE)
响应:
{
"newClientStrategyId": "testOrder",
"strategyId":123445,
"strategyStatus":"NEW",
"strategyType": "TRAILING_STOP_MARKET",
"origQty": "10",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"stopPrice": "9300",
"symbol": "BTCUSD_200925",
"pair": "BTCUSD",
"timeInForce": "GTC",
"activatePrice": "9020",
"priceRate": "0.3",
"bookTime": 1566818724710, //条件单下单时间
"updateTime": 1566818724722,
"workingType":"CONTRACT_PRICE",
"priceProtect": false
}
POST /papi/v1/cm/conditional/order (HMAC SHA256)
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | 交易对 |
side | ENUM | YES | 方向 |
positionSide | ENUM | NO | 持仓方向,单向持仓模式下非必填,默认且仅可填BOTH ;在双向持仓模式下必填,且仅可选择 LONG 或 SHORT |
strategyType | ENUM | YES | 条件单类型"STOP", "STOP_MARKET", "TAKE_PROFIT", "TAKE_PROFIT_MARKET"或"TRAILING_STOP_MARKET" |
timeInForce | ENUM | NO | |
quantity | DECIMAL | NO | |
reduceOnly | STRING | NO | true 或false ; 非双开模式下默认false;双开模式下不接受此参数 |
price | DECIMAL | NO | |
workingType | ENUM | NO | stopPrice 触发类型: MARK_PRICE , CONTRACT_PRICE . 默认 CONTRACT_PRICE |
priceProtect | STRING | NO | 条件单触发保护:"TRUE" or "FALSE", 默认 "FALSE". STOP /STOP_MARKET or TAKE_PROFIT /TAKE_PROFIT_MARKET 需要此参数 |
newClientStrategyId | STRING | NO | 用户自定义的订单号,不可以重复出现在挂单中。如空缺系统会自动赋值。必须满足正则规则: ^[\.A-Z\:/a-z0-9_-]{1,32}$ |
stopPrice | DECIMAL | NO | Used with STOP/STOP_MARKET or TAKE_PROFIT/TAKE_PROFIT_MARKET orders. |
activationPrice | DECIMAL | NO | TRAILING_STOP_MARKET 单使用,默认标记价格 |
callbackRate | DECIMAL | NO | TRAILING_STOP_MARKET 单使用, 最小0.1, 最大5,1代表1% |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
根据 order type
的不同,某些参数强制要求,具体如下:
类型 | 强制要求的参数 |
---|---|
STOP/TAKE_PROFIT |
quantity , price , stopPrice |
STOP_MARKET/TAKE_PROFIT_MARKET |
stopPrice |
TRAILING_STOP_MARKET |
callbackRate |
- 条件单为
STOP/TAKE_PROFIT
时, 参数timeInForce
可以使用(默认GTC
) - 条件单的触发必须:
STOP
,STOP_MARKET
止损单:- 买入: 最新合约价格/标记价格高于等于触发价
stopPrice
- 卖出: 最新合约价格/标记价格低于等于触发价
stopPrice
- 买入: 最新合约价格/标记价格高于等于触发价
TAKE_PROFIT
,TAKE_PROFIT_MARKET
止盈单:- 买入: 最新合约价格/标记价格低于等于触发价
stopPrice
- 卖出: 最新合约价格/标记价格高于等于触发价
stopPrice
- 买入: 最新合约价格/标记价格低于等于触发价
TRAILING_STOP_MARKET
跟踪止损单:- 买入: 当合约价格/标记价格区间最低价格低于激活价格
activationPrice
,且最新合约价格/标记价高于等于最低价设定回调幅度。 - 卖出: 当合约价格/标记价格区间最高价格高于激活价格
activationPrice
,且最新合约价格/标记价低于等于最高价设定回调幅度。
- 买入: 当合约价格/标记价格区间最低价格低于激活价格
TRAILING_STOP_MARKET
跟踪止损单如果遇到报错{"code": -2021, "msg": "Order would immediately trigger."}
表示订单不满足以下条件:- 买入: 指定的
activationPrice
必须小于 latest mark price - 卖出: 指定的
activationPrice
必须大于 latest mark price
- 买入: 指定的
条件单的触发必须:
- 如果订单参数
priceProtect
为true:- 达到触发价时,
MARK_PRICE
(标记价格)与CONTRACT_PRICE
(合约最新价)之间的价差不能超过改symbol触发保护阈值 - 触发保护阈值请参考接口
GET /fapi/v1/exchangeInfo
返回内容相应symbol中"triggerProtect"字段
- 达到触发价时,
STOP
,STOP_MARKET
止损单:- 买入: 最新合约价格/标记价格高于等于触发价
stopPrice
- 卖出: 最新合约价格/标记价格低于等于触发价
stopPrice
- 买入: 最新合约价格/标记价格高于等于触发价
TAKE_PROFIT
,TAKE_PROFIT_MARKET
止盈单:- 买入: 最新合约价格/标记价格低于等于触发价
stopPrice
- 卖出: 最新合约价格/标记价格高于等于触发价
stopPrice
- 买入: 最新合约价格/标记价格低于等于触发价
- 如果订单参数
修改UM订单 (TRADE)
响应:
{
"orderId": 20072994037,
"symbol": "BTCUSDT",
"status": "NEW",
"clientOrderId": "LJ9R4QZDihCaS8UAOOLpgW",
"price": "30005",
"avgPrice": "0.0",
"origQty": "1",
"executedQty": "0",
"cumQty": "0",
"cumQuote": "0",
"timeInForce": "GTC",
"type": "LIMIT",
"reduceOnly": false,
"side": "BUY",
"positionSide": "LONG",
"origType": "LIMIT",
"selfTradePreventionMode": "NONE", //self trading preventation mode
"goodTillDate": 0 //order pre-set auot cancel time for TIF GTD order
"updateTime": 1629182711600
}
PUT /papi/v1/um/order (HMAC SHA256)
修改UM订单功能,当前只支持限价(LIMIT)订单修改,修改后会在撮合队列里重新排序
权重(order): 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
orderId | LONG | NO | 系统订单号 |
origClientOrderId | STRING | NO | 用户自定义的订单号 |
symbol | STRING | YES | 交易对 |
side | ENUM | YES | 买卖方向 SELL , BUY ; side 需要和原订单相同 |
quantity | DECIMAL | YES | 下单数量 |
price | DECIMAL | YES | 委托价格 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
原订单被部分执行且新订单quantity <= executedQty 原订单是GTX,新订单的价格会导致订单立刻执行 同一订单修改次数最多10000次 改单会保留该单原有的selfTradePreventionMode
orderId
与origClientOrderId
必须至少发送一个,同时发送则以 order id为准quantity
与price
均必须发送- 当新订单的
quantity
或price
不满足PRICE_FILTER / PERCENT_FILTER / LOT_SIZE限制,修改会被拒绝,原订单依旧被保留 - 订单会在下列情况下被取消:
- 原订单被部分执行且新订单
quantity
<=executedQty
- 原订单是
GTX
,新订单的价格会导致订单立刻执行
- 原订单被部分执行且新订单
- 同一订单修改次数最多10000次
- 改单会保留该单原有的selfTradePreventionMode
修改CM订单 (TRADE)
响应:
{
"orderId": 20072994037,
"symbol": "BTCUSD_PERP",
"pair": "BTCUSD",
"status": "NEW",
"clientOrderId": "LJ9R4QZDihCaS8UAOOLpgW",
"price": "30005",
"avgPrice": "0.0",
"origQty": "1",
"executedQty": "0",
"cumQty": "0",
"cumBase": "0",
"timeInForce": "GTC",
"type": "LIMIT",
"reduceOnly": false,
"side": "BUY",
"positionSide": "LONG",
"origType": "LIMIT",
"updateTime": 1629182711600
}
PUT/papi/v1/cm/order (HMAC SHA256)
修改CM订单功能,当前只支持限价(LIMIT)订单修改,修改后会在撮合队列里重新排序
权重(order): 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
orderId | LONG | NO | 系统订单号 |
origClientOrderId | STRING | NO | 用户自定义的订单号 |
symbol | STRING | YES | 交易对 |
side | ENUM | YES | 买卖方向 SELL , BUY |
quantity | DECIMAL | YES | 下单数量 |
price | DECIMAL | YES | 委托价格 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
orderId
与origClientOrderId
必须至少发送一个,同时发送则以 order id为准quantity
与price
必须全部发送- 当新订单的
quantity
或price
不满足PRICE_FILTER / PERCENT_FILTER / LOT_SIZE限制,修改会被拒绝,原订单依旧被保留 - 订单会在下列情况下被取消:
- 原订单被部分执行且新订单
quantity
<=executedQty
- 原订单是
GTX
,新订单的价格会导致订单立刻执行
- 原订单被部分执行且新订单
- 同一订单修改次数最多10000次
撤单接口
取消活跃订单。
撤销UM订单 (TRADE)
响应:
{
"avgPrice": "0.00000",
"clientOrderId": "myOrder1",
"cumQty": "0",
"cumQuote": "0",
"executedQty": "0",
"orderId": 4611875134427365377,
"origQty": "0.40",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"status": "CANCELED",
"symbol": "BTCUSDT",
"timeInForce": "GTC",
"type": "LIMIT",
"updateTime": 1571110484038,
"selfTradePreventionMode": "NONE",
"goodTillDate": 0
}
DELETE /papi/v1/um/order (HMAC SHA256)
撤销UM订单
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
orderId | LONG | NO | |
origClientOrderId | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
orderId
或origClientOrderId
必须至少发送一个
撤销全部UM订单 (TRADE)
响应:
{
"code": 200,
"msg": "The operation of cancel all open order is done."
}
撤销特定交易对全部UM订单
DELETE /papi/v1/um/allOpenOrders (HMAC SHA256)
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
撤销CM订单 (TRADE)
响应:
{
"avgPrice": "0.0",
"clientOrderId": "myOrder1",
"cumQty": "0",
"cumBase": "0",
"executedQty": "0",
"orderId": 283194212,
"origQty": "2",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"status": "CANCELED",
"symbol": "BTCUSD_200925",
"pair": "BTCUSD",
"timeInForce": "GTC",
"type": "LIMIT",
"updateTime": 1571110484038,
}
DELETE /papi/v1/cm/order (HMAC SHA256)
撤销CM订单
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
orderId | LONG | NO | |
origClientOrderId | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
orderId
或origClientOrderId
必须至少发送一个
撤销全部CM订单 (TRADE)
响应:
{
"code": 200,
"msg": "The operation of cancel all open order is done."
}
撤销特定交易对全部CM订单
DELETE /papi/v1/cm/allOpenOrders (HMAC SHA256)
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
杠杆账户撤销订单 (TRADE)
响应:
{
"symbol": "LTCBTC",
"orderId": 28,
"origClientOrderId": "myOrder1",
"clientOrderId": "cancelMyOrder1",
"price": "1.00000000",
"origQty": "10.00000000",
"executedQty": "8.00000000",
"cummulativeQuoteQty": "8.00000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL",
"selfTradePreventionMode": "EXPIRE_TAKER"
}
DELETE /papi/v1/margin/order (HMAC SHA256)
权重: 2
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
orderId | LONG | NO | |
origClientOrderId | STRING | NO | |
newClientOrderId | STRING | NO | 用于唯一识别此撤销订单,默认自动生成。 |
recvWindow | LONG | NO | 赋值不能超过 60000 |
timestamp | LONG | YES |
orderId
或origClientOrderId
必须至少发送一个
杠杆账户撤销单一交易对的所有挂单 (TRADE)
响应:
[
{
"symbol": "BTCUSDT",
"origClientOrderId": "E6APeyTJvkMvLMYMqu1KQ4",
"orderId": 11,
"orderListId": -1,
"clientOrderId": "pXLV6Hz6mprAcVYpVMTGgx",
"price": "0.089853",
"origQty": "0.178622",
"executedQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY"
},
{
"orderListId": 1929,
"contingencyType": "OCO",
"listStatusType": "ALL_DONE",
"listOrderStatus": "ALL_DONE",
"listClientOrderId": "2inzWQdDvZLHbbAmAozX2N",
"transactionTime": 1585230948299,
"symbol": "BTCUSDT",
"orders": [
{
"symbol": "BTCUSDT",
"orderId": 20,
"clientOrderId": "CwOOIPHSmYywx6jZX77TdL"
},
{
"symbol": "BTCUSDT",
"orderId": 21,
"clientOrderId": "461cPg51vQjV3zIMOXNz39"
}
],
"orderReports": [
{
"symbol": "BTCUSDT",
"origClientOrderId": "CwOOIPHSmYywx6jZX77TdL",
"orderId": 20,
"orderListId": 1929,
"clientOrderId": "pXLV6Hz6mprAcVYpVMTGgx",
"price": "0.668611",
"origQty": "0.690354",
"executedQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "STOP_LOSS_LIMIT",
"side": "BUY",
"stopPrice": "0.378131",
"icebergQty": "0.017083",
"selfTradePreventionMode": "EXPIRE_TAKER"
},
{
"symbol": "BTCUSDT",
"origClientOrderId": "461cPg51vQjV3zIMOXNz39",
"orderId": 21,
"orderListId": 1929,
"clientOrderId": "pXLV6Hz6mprAcVYpVMTGgx",
"price": "0.008791",
"origQty": "0.690354",
"executedQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT_MAKER",
"side": "BUY",
"icebergQty": "0.639962",
"selfTradePreventionMode": "EXPIRE_TAKER"
}
]
}
]
DELETE /papi/v1/margin/allOpenOrders (HMAC SHA256)
权重: 5
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
recvWindow | LONG | NO | 赋值不能超过 60000 |
timestamp | LONG | YES |
取消杠杆账户OCO订单 (TRADE)
响应:
{
"orderListId": 0,
"contingencyType": "OCO",
"listStatusType": "ALL_DONE",
"listOrderStatus": "ALL_DONE",
"listClientOrderId": "C3wyj4WVEktd7u9aVBRXcN",
"transactionTime": 1574040868128,
"symbol": "LTCBTC",
"orders": [
{
"symbol": "LTCBTC",
"orderId": 2,
"clientOrderId": "pO9ufTiFGg3nw2fOdgeOXa"
},
{
"symbol": "LTCBTC",
"orderId": 3,
"clientOrderId": "TXOvglzXuaubXAaENpaRCB"
}
],
"orderReports": [
{
"symbol": "LTCBTC",
"origClientOrderId": "pO9ufTiFGg3nw2fOdgeOXa",
"orderId": 2,
"orderListId": 0,
"clientOrderId": "unfWT8ig8i0uj6lPuYLez6",
"price": "1.00000000",
"origQty": "10.00000000",
"executedQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "STOP_LOSS_LIMIT",
"side": "SELL",
"stopPrice": "1.00000000",
"selfTradePreventionMode": "EXPIRE_BOTH"
},
{
"symbol": "LTCBTC",
"origClientOrderId": "TXOvglzXuaubXAaENpaRCB",
"orderId": 3,
"orderListId": 0,
"clientOrderId": "unfWT8ig8i0uj6lPuYLez6",
"price": "3.00000000",
"origQty": "10.00000000",
"executedQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT_MAKER",
"side": "SELL",
"selfTradePreventionMode": "EXPIRE_BOTH"
}
]
}
DELETE /papi/v1/margin/orderList (HMAC SHA256)
取消杠杆账户订单。
权重: 2
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
orderListId | LONG | NO | orderListId 或 listClientOrderId 必须被提供 |
listClientOrderId | STRING | NO | orderListId 或 listClientOrderId 必须被提供 |
newClientOrderId | STRING | NO | 用户自定义的本次撤销操作的ID(注意不是被撤销的订单的自定义ID)。如无指定会自动赋值 |
recvWindow | LONG | NO | 赋值不能超过 60000 |
timestamp | LONG | YES |
- 其他备注: 取消单个 leg 将取消整个 OCO 订单。
取消UM条件订单 (TRADE)
响应:
{
"newClientStrategyId": "myOrder1",
"strategyId":123445,
"strategyStatus":"CANCELED",
"strategyType": "TRAILING_STOP_MARKET",
"origQty": "11",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"stopPrice": "9300",
"symbol": "BTCUSDT",
"timeInForce": "GTC",
"activatePrice": "9020",
"priceRate": "0.3",
"bookTime": 1566818724710, //条件单下单时间
"updateTime": 1566818724722,
"workingType":"CONTRACT_PRICE",
"priceProtect": false,
"selfTradePreventionMode": "NONE",
"goodTillDate": 0
}
DELETE /papi/v1/um/conditional/order (HMAC SHA256)
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
strategyId | LONG | NO | |
newClientStrategyId | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
strategyId
与newClientStrategyId
之一必须发送
取消全部UM条件单 (TRADE)
响应:
{
"code": "200",
"msg": "The operation of cancel all conditional open order is done."
}
DELETE /papi/v1/um/conditional/allOpenOrders (HMAC SHA256)
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
取消CM条件订单 (TRADE)
响应:
{
"newClientStrategyId": "myOrder1",
"strategyId":123445,
"strategyStatus":"CANCELED",
"strategyType": "TRAILING_STOP_MARKET",
"origQty": "11",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"stopPrice": "9300",
"symbol": "BTCUSD",
"timeInForce": "GTC",
"activatePrice": "9020",
"priceRate": "0.3",
"updateTime": 1566818724722,
"workingType":"CONTRACT_PRICE",
"priceProtect": false
}
DELETE /papi/v1/cm/conditional/order
权重(Order): 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
strategyId | LONG | NO | |
newClientStrategyId | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
strategyId
与newClientStrategyId
之一必须发送
取消全部CM条件单 (TRADE)
响应:
{
"code": "200",
"msg": "The operation of cancel all conditional open order is done."
}
DELETE /papi/v1/cm/conditional/allOpenOrders (HMAC SHA256)
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
查询订单
查询UM订单 (USER_DATA)
响应:
{
"avgPrice": "0.00000",
"clientOrderId": "abc",
"cumQuote": "0",
"executedQty": "0",
"orderId": 1917641,
"origQty": "0.40",
"origType": "LIMIT",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"status": "NEW",
"symbol": "BTCUSDT",
"time": 1579276756075, // order time
"timeInForce": "GTC",
"type": "LIMIT",
"updateTime": 1579276756075, // update time
"selfTradePreventionMode": "NONE",
"goodTillDate": 0
}
GET /papi/v1/um/order (HMAC SHA256)
查询UM订单状态
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
orderId | LONG | NO | |
origClientOrderId | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
* orderId
或 origClientOrderId
必须至少发送一个
* 请注意,如果订单满足如下条件,不会被查询到:
* 订单的最终状态为 CANCELED
或 EXPIRED
,并且
* 订单没有任何的成交记录,并且
* 订单生成时间 + 3天 < 当前时间
查询当前UM挂单 (USER_DATA)
响应:
{
"avgPrice": "0.00000",
"clientOrderId": "abc",
"cumQuote": "0",
"executedQty": "0",
"orderId": 1917641,
"origQty": "0.40",
"origType": "LIMIT",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"status": "NEW",
"symbol": "BTCUSDT",
"time": 1579276756075, // order time
"timeInForce": "GTC",
"type": "LIMIT",
"updateTime": 1579276756075,
"selfTradePreventionMode": "NONE",
"goodTillDate": 0
}
GET /papi/v1/um/openOrder (HMAC SHA256)
查询当前UM挂单
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
orderId | LONG | NO | |
origClientOrderId | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
* orderId
或 origClientOrderId
必须至少发送一个
* 查询的订单如果已经成交或取消,将返回报错 "Order does not exist"
查看当前全部UM挂单 (USER_DATA)
响应:
[
{
"avgPrice": "0.00000",
"clientOrderId": "abc",
"cumQuote": "0",
"executedQty": "0",
"orderId": 1917641,
"origQty": "0.40",
"origType": "LIMIT",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"status": "NEW",
"symbol": "BTCUSDT",
"time": 1579276756075,
"timeInForce": "GTC",
"type": "LIMIT",
"updateTime": 1579276756075,
"selfTradePreventionMode": "NONE",
"goodTillDate": 0
}
]
GET /papi/v1/um/openOrders (HMAC SHA256)
查看当前全部UM挂单,请小心使用不带symbol参数的调用
权重: 带symbol 1 - 不带 40
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
* 不带symbol
参数,会返回所有交易对的挂单
查询所有UM订单(包括历史订单) (USER_DATA)
响应:
[
{
"avgPrice": "0.00000",
"clientOrderId": "abc",
"cumQuote": "0",
"executedQty": "0",
"orderId": 1917641,
"origQty": "0.40",
"origType": "LIMIT",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"status": "NEW",
"symbol": "BTCUSDT",
"time": 1579276756075,
"timeInForce": "GTC",
"type": "LIMIT",
"updateTime": 1579276756075,
"selfTradePreventionMode": "NONE",
"goodTillDate": 0
}
]
GET /papi/v1/um/allOrders (HMAC SHA256)
查询所有UM订单
权重: 5
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
orderId | LONG | NO | |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | Default 500; max 1000. |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
* orderId
或 origClientOrderId
必须至少发送一个
* 请注意,如果订单满足如下条件,不会被查询到:
* 订单的最终状态为 CANCELED
或 EXPIRED
,并且
* 订单没有任何的成交记录,并且
* 订单生成时间 + 3天 < 当前时间
* 查询时间范围最大不得超过7天
* 默认查询最近7天内的数据
查询CM订单 (USER_DATA)
响应:
{
"avgPrice": "0.0",
"clientOrderId": "abc",
"cumBase": "0",
"executedQty": "0",
"orderId": 1917641,
"origQty": "0.40",
"origType": "LIMIT",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"status": "NEW",
"symbol": "BTCUSD_200925",
"pair": "BTCUSD",
"positionSide": "SHORT",
"time": 1579276756075,
"timeInForce": "GTC",
"type": "LIMIT",
"updateTime": 1579276756075
}
GET /papi/v1/cm/order (HMAC SHA256)
查询CM订单状态
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
orderId | LONG | NO | |
origClientOrderId | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
* orderId
或 origClientOrderId
必须至少发送一个
* 请注意,如果订单满足如下条件,不会被查询到:
* 订单的最终状态为 CANCELED
或 EXPIRED
, AND
* 订单没有任何的成交记录,并且
* 订单生成时间 + 3天 < 当前时间
查看当前全部CM挂单 (USER_DATA)
响应:
{
"avgPrice": "0.0",
"clientOrderId": "abc",
"cumBase": "0",
"executedQty": "0",
"orderId": 1917641,
"origQty": "0.40",
"origType": "LIMIT",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"status": "NEW",
"symbol": "BTCUSD_200925",
"pair": "BTCUSD"
"time": 1579276756075, // order time
"timeInForce": "GTC",
"type": "LIMIT",
"updateTime": 1579276756075 // update time
}
GET /papi/v1/cm/openOrder (HMAC SHA256)
查看当前全部CM挂单,请小心使用不带symbol参数的调用
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
orderId | LONG | NO | |
origClientOrderId | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
* orderId
或 origClientOrderId
必须至少发送一个
* 查询的订单如果已经成交或取消,将返回报错 "Order does not exist"
查看当前全部CM挂单 (USER_DATA)
响应:
[
{
"avgPrice": "0.0",
"clientOrderId": "abc",
"cumBase": "0",
"executedQty": "0",
"orderId": 1917641,
"origQty": "0.40",
"origType": "LIMIT",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"status": "NEW",
"symbol": "BTCUSD_200925",
“pair”:"BTCUSD",
"time": 1579276756075,
"timeInForce": "GTC",
"type": "LIMIT",
"updateTime": 1579276756075
}
]
GET /papi/v1/cm/openOrders (HMAC SHA256)
查看当前全部CM挂单,请小心使用不带symbol参数的调用
权重:
带symbol 1 - 不带 40
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
pair | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
* 不带symbol
参数,会返回所有交易对的挂单
查询所有CM订单(包括历史订单) (USER_DATA)
响应:
[
{
"avgPrice": "0.0",
"clientOrderId": "abc",
"cumBase": "0",
"executedQty": "0",
"orderId": 1917641,
"origQty": "0.40",
"origType": "LIMIT",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"status": "NEW",
"symbol": "BTCUSD_200925",
"pair": "BTCUSD",
"time": 1579276756075, // order time
"timeInForce": "GTC",
"type": "LIMIT",
"updateTime": 1579276756075 // update time
}
]
GET /papi/v1/cm/allOrders (HMAC SHA256)
权重:
传symbol 20 传pairs 40
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
pair | STRING | NO | |
orderId | LONG | NO | |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | 返回的结果集数量 默认值:50 最大值:100 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
symbol
或pair
必须传一个,不能同时传- 请注意,如果订单满足如下条件,不会被查询到:
- 订单的最终状态为
CANCELED
或EXPIRED
, AND - 订单没有任何的成交记录,并且
- 订单生成时间 + 3天 < 当前时间
- 订单的最终状态为
查询UM当前条件挂单 (USER_DATA)
响应:
{
"newClientStrategyId": "abc",
"strategyId":123445,
"strategyStatus":"NEW",
"strategyType": "TRAILING_STOP_MARKET",
"origQty": "0.40",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"stopPrice": "9300",
"symbol": "BTCUSDT",
"bookTime": 1566818724710, //条件单下单时间
"updateTime": 1566818724722,
"timeInForce": "GTC",
"activatePrice": "9020",
"priceRate": "0.3",
"selfTradePreventionMode": "NONE", //self trading preventation mode
"goodTillDate": 0
}
GET /papi/v1/um/conditional/openOrder (HMAC SHA256)
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
strategyId | LONG | NO | |
newClientStrategyId | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
* strategyId
与 newClientStrategyId
中的一个为必填参数.
* 如果查询的条件单已经为CANCELED
, TRIGGERED
或EXPIRED
,会报错"Order does not exist"
查看UM当前全部条件挂单 (USER_DATA)
响应:
[
{
"newClientStrategyId": "abc",
"strategyId":123445,
"strategyStatus":"NEW",
"strategyType": "TRAILING_STOP_MARKET",
"origQty": "0.40",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"stopPrice": "9300",
"symbol": "BTCUSDT",
"bookTime": 1566818724710, //条件单下单时间
"updateTime": 1566818724722,
"timeInForce": "GTC",
"activatePrice": "9020",
"priceRate": "0.3",
"selfTradePreventionMode": "NONE", //self trading preventation mode
"goodTillDate": 0
}
]
GET /papi/v1/um/conditional/openOrders (HMAC SHA256)
查看UM当前全部条件挂单。 请小心使用不带symbol参数的调用
权重: 带symbol 1 ; 不带40
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意: * 不带symbol参数,会返回所有交易对的条件挂单
查询UM条件单历史 (USER_DATA)
响应:
{
"newClientStrategyId": "abc",
"strategyId":123445,
"strategyStatus":"TRIGGERED",
"strategyType": "TRAILING_STOP_MARKET",
"origQty": "0.40",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"stopPrice": "9300",
"symbol": "BTCUSDT",
"orderId":12132343435, //条件单触发后普通单id,当条件单被触发后才有
"status": "NEW", //条件单触发后普通单状态, 当条件单被触发后才有
"bookTime": 1566818724710, //条件单下单时间
"updateTime": 1566818724722,
"triggerTime": 1566818724750,
"timeInForce": "GTC",
"type": "MARKET", //条件单触发后普通订单类型
"activatePrice": "9020",
"priceRate": "0.3",
"workingType":"CONTRACT_PRICE",
"priceProtect": false,
"selfTradePreventionMode": "NONE", //self trading preventation mode
"goodTillDate": 0
}
GET /papi/v1/um/conditional/orderHistory (HMAC SHA256)
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
strategyId | LONG | NO | |
newClientStrategyId | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
* strategyId
与 newClientStrategyId
中的一个为必填参数.
* NEW
状态的条件订单不会返回
* 请注意,如果订单满足如下条件,不会被查询到:
* 订单的最终状态为 CANCELED
或者 EXPIRED
, 并且
* 订单没有任何的成交记录, 并且
* 订单生成时间 + 3天 < 当前时间
查询UM所有条件订单(包括历史订单) (USER_DATA)
响应:
[
{
"newClientStrategyId": "abc",
"strategyId":123445,
"strategyStatus":"TRIGGERED",
"strategyType": "TRAILING_STOP_MARKET",
"origQty": "0.40",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"stopPrice": "9300",
"symbol": "BTCUSDT",
"orderId":12132343435, //条件单触发后普通单id,当条件单被触发后才有
"status": "NEW", //条件单触发后普通单状态, 当条件单被触发后才有
"bookTime": 1566818724710, //条件单下单时间
"updateTime": 1566818724722,
"triggerTime": 1566818724750,
"timeInForce": "GTC",
"type": "MARKET", //条件单触发后普通订单类型
"activatePrice": "9020",
"priceRate": "0.3",
"selfTradePreventionMode": "NONE", //self trading preventation mode
"goodTillDate": 0
}
]
GET /papi/v1/um/conditional/allOrders (HMAC SHA256)
权重: 带symbol 1 ; 不带40
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
strategyId | LONG | NO | |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | Default 500; max 1000. |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
* 请注意,如果订单满足如下条件,不会被查询到:
* 订单的最终状态为 CANCELED
或者 EXPIRED
, 并且
* 订单没有任何的成交记录, 并且
* 订单生成时间 + 3天 < 当前时间
* 查询时间范围最大不得超过7天(默认查询最近7天内的数据).
查询CM当前条件挂单 (USER_DATA)
响应:
{
"newClientStrategyId": "abc",
"strategyId":123445,
"strategyStatus":"NEW",
"strategyType": "TRAILING_STOP_MARKET",
"origQty": "0.40",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"stopPrice": "9300",
"symbol": "BTCUSD",
"bookTime": 1566818724710, //条件单下单时间
"updateTime": 1566818724722,
"timeInForce": "GTC",
"activatePrice": "9020",
"priceRate": "0.3"
}
GET /papi/v1/cm/conditional/openOrder (HMAC SHA256)
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
strategyId | LONG | NO | |
newClientStrategyId | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
* strategyId
与 newClientStrategyId
中的一个为必填参数.
* 如果查询的条件单已经为CANCELED
, TRIGGERED
或EXPIRED
,会报错"Order does not exist"
查看CM当前全部条件挂单 (USER_DATA)
响应:
[
{
"newClientStrategyId": "abc",
"strategyId":123445,
"strategyStatus":"NEW",
"strategyType": "TRAILING_STOP_MARKET",
"origQty": "0.40",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"stopPrice": "9300",
"symbol": "BTCUSD",
"bookTime": 1566818724710,
"updateTime": 1566818724722, //条件单下单时间
"timeInForce": "GTC",
"activatePrice": "9020",
"priceRate": "0.3"
}
]
GET /papi/v1/cm/conditional/openOrders (HMAC SHA256)
查看CM当前全部条件挂单。 请小心使用不带symbol参数的调用
权重: 带symbol 1 ; 不带40
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意: * 不带symbol参数,会返回所有交易对的条件挂单
查询CM条件单历史 (USER_DATA)
响应:
{
"newClientStrategyId": "abc",
"strategyId":123445,
"strategyStatus":"TRIGGERED",
"strategyType": "TRAILING_STOP_MARKET",
"origQty": "0.40",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"stopPrice": "9300",
"symbol": "BTCUSD",
"orderId": 12123343534, //条件单触发后普通单id,当条件单被触发后才有
"status": "NEW", //条件单触发后普通单状态, 当条件单被触发后才有
"bookTime": 1566818724710, //条件单下单时间
"updateTime": 1566818724722,
"triggerTime": 1566818724750,
"timeInForce": "GTC",
"type": "MARKET", //条件单触发后普通订单类型
"activatePrice": "9020",
"priceRate": "0.3",
"workingType":"CONTRACT_PRICE",
"priceProtect": false
}
GET /papi/v1/cm/conditional/orderHistory (HMAC SHA256)
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
strategyId | LONG | NO | |
newClientStrategyId | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
* strategyId
与 newClientStrategyId
中的一个为必填参数.
* NEW
状态的条件订单不会返回
* 请注意,如果订单满足如下条件,不会被查询到:
* 订单的最终状态为 CANCELED
或者 EXPIRED
, 并且
* 订单没有任何的成交记录, 并且
* 订单生成时间 + 3天 < 当前时间
查询CM所有条件订单(包括历史订单)(USER_DATA)
响应:
[
{
"newClientStrategyId": "abc",
"strategyId":123445,
"strategyStatus":"TRIGGERED",
"strategyType": "TRAILING_STOP_MARKET",
"origQty": "0.40",
"price": "0",
"reduceOnly": false,
"side": "BUY",
"positionSide": "SHORT",
"stopPrice": "9300",
"symbol": "BTCUSD",
"orderId": 12123343534, //条件单触发后普通单id,当条件单被触发后才有
"status": "NEW", //条件单触发后普通单状态, 当条件单被触发后才有
"bookTime": 1566818724710, //条件单下单时间
"updateTime": 1566818724722,
"triggerTime": 1566818724750,
"timeInForce": "GTC",
"type": "MARKET", //条件单触发后普通订单类型
"activatePrice": "9020",
"priceRate": "0.3"
}
]
GET /papi/v1/cm/conditional/allOrders
权重: 带symbol 1 ; 不带40
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
strategyId | LONG | NO | |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | Default 500; max 1000. |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
* 请注意,如果订单满足如下条件,不会被查询到:
* 订单的最终状态为 CANCELED
或者 EXPIRED
, 并且
* 订单没有任何的成交记录, 并且
* 订单生成时间 + 3天 < 当前时间
* 查询时间范围最大不得超过7天(默认查询最近7天内的数据).
查询杠杆账户订单 (USER_DATA)
响应
{
"clientOrderId": "ZwfQzuDIGpceVhKW5DvCmO",
"cummulativeQuoteQty": "0.00000000",
"executedQty": "0.00000000",
"icebergQty": "0.00000000",
"isWorking": true,
"orderId": 213205622,
"origQty": "0.30000000",
"price": "0.00493630",
"side": "SELL",
"status": "NEW",
"stopPrice": "0.00000000",
"symbol": "BNBBTC",
"time": 1562133008725,
"timeInForce": "GTC",
"type": "LIMIT",
"updateTime": 1562133008725,
"accountId": 152950866,
"selfTradePreventionMode": "EXPIRE_TAKER",
"preventedMatchId": null,
"preventedQuantity": null
}
GET /papi/v1/margin/order
权重(IP): 5
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
orderId | LONG | NO | |
origClientOrderId | STRING | NO | |
recvWindow | LONG | NO | 赋值不能大于 60000 |
timestamp | LONG | YES |
- 必须发送 orderId 或 origClientOrderId 其中一个。
- 一些历史订单的 cummulativeQuoteQty < 0, 是指当前数据不存在。
查询杠杆账户挂单记录 (USER_DATA)
响应
[
{
"clientOrderId": "qhcZw71gAkCCTv0t0k8LUK",
"cummulativeQuoteQty": "0.00000000",
"executedQty": "0.00000000",
"icebergQty": "0.00000000",
"isWorking": true,
"orderId": 211842552,
"origQty": "0.30000000",
"price": "0.00475010",
"side": "SELL",
"status": "NEW",
"stopPrice": "0.00000000",
"symbol": "BNBBTC",
"time": 1562040170089,
"timeInForce": "GTC",
"type": "LIMIT",
"updateTime": 1562040170089,
"accountId": 152950866,
"selfTradePreventionMode": "EXPIRE_TAKER",
"preventedMatchId": null,
"preventedQuantity": null
}
]
GET /papi/v1/margin/openOrders (HMAC SHA256)
权重(IP): 5
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
isIsolated | STRING | NO | 是否逐仓杠杆,"TRUE", "FALSE", 默认 "FALSE" |
recvWindow | LONG | NO | 赋值不能大于 60000 |
timestamp | LONG | YES |
- 如未发送symbol,返回所有 symbols 订单记录。
- 当返回所有symbols时,针对限速器计数的请求数量等于当前在交易所交易的symbols数量。
- 如果 isIsolated = "TRUE", symbol 为必填
查询杠杆账户的所有订单 (USER_DATA)
响应:
[
{
"clientOrderId": "D2KDy4DIeS56PvkM13f8cP",
"cummulativeQuoteQty": "0.00000000",
"executedQty": "0.00000000",
"icebergQty": "0.00000000",
"isWorking": false,
"orderId": 41295,
"origQty": "5.31000000",
"price": "0.22500000",
"side": "SELL",
"status": "CANCELED",
"stopPrice": "0.18000000",
"symbol": "BNBBTC",
"time": 1565769338806,
"timeInForce": "GTC",
"type": "TAKE_PROFIT_LIMIT",
"updateTime": 1565769342148,
"accountId": 152950866,
"selfTradePreventionMode": "EXPIRE_TAKER",
"preventedMatchId": null,
"preventedQuantity": null
}
]
GET /papi/v1/margin/allOrders (HMAC SHA256)
权重(IP): 100
访问限制
60次/分钟/IP
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
orderId | LONG | NO | |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | 默认 500;最大500. |
recvWindow | LONG | NO | 赋值不能大于 60000 |
timestamp | LONG | YES |
- 如果设置
orderId
, 获取订单 >=orderId
, 否则返回近期订单历史。 - 一些历史订单的 cummulativeQuoteQty < 0, 是指当前数据不存在。
查询杠杆账户 OCO (USER_DATA)
响应
{
"orderListId": 27,
"contingencyType": "OCO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "h2USkA5YQpaXHPIrkd96xE",
"transactionTime": 1565245656253,
"symbol": "LTCBTC",
"orders": [
{
"symbol": "LTCBTC",
"orderId": 4,
"clientOrderId": "qD1gy3kc3Gx0rihm9Y3xwS"
},
{
"symbol": "LTCBTC",
"orderId": 5,
"clientOrderId": "ARzZ9I00CPM8i3NhmU9Ega"
}
]
}
GET /papi/v1/margin/orderList (HMAC SHA256)
根据提供的可选参数检索特定的杠杆账户 OCO 订单。
权重: 5
参数
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
orderListId | LONG | NO | orderListId 或 listClientOrderId 必须被提供 |
listClientOrderId | STRING | NO | orderListId 或 listClientOrderId 必须被提供 |
newClientOrderId | STRING | NO | 用户自定义的本次撤销操作的ID(注意不是被撤销的订单的自定义ID)。如无指定会自动赋值。 |
recvWindow | LONG | NO | 不能大于 60000 |
timestamp | LONG | YES |
查询特定杠杆账户所有 OCO(USER_DATA)
响应:
[
{
"orderListId": 29,
"contingencyType": "OCO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "amEEAXryFzFwYF1FeRpUoZ",
"transactionTime": 1565245913483,
"symbol": "LTCBTC",
"orders": [
{
"symbol": "LTCBTC",
"orderId": 4,
"clientOrderId": "oD7aesZqjEGlZrbtRpy5zB"
},
{
"symbol": "LTCBTC",
"orderId": 5,
"clientOrderId": "Jr1h6xirOxgeJOUuYQS7V3"
}
]
},
{
"orderListId": 28,
"contingencyType": "OCO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "hG7hFNxJV6cZy3Ze4AUT4d",
"transactionTime": 1565245913407,
"symbol": "LTCBTC",
"orders": [
{
"symbol": "LTCBTC",
"orderId": 2,
"clientOrderId": "j6lFOfbmFMRjTYA7rRJ0LP"
},
{
"symbol": "LTCBTC",
"orderId": 3,
"clientOrderId": "z0KCjOdditiLS5ekAFtK81"
}
]
}
]
GET /papi/v1/margin/allOrderList (HMAC SHA256)
根据提供的可选参数检索特定杠杆账户所有的 OCO 订单。
权重: 100
参数
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
fromId | LONG | NO | 提供该项后, startTime 和 endTime 都不可提供 |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | 默认值: 500; 最大值: 1000 |
recvWindow | LONG | NO | 赋值不能超过 60000 |
timestamp | LONG | YES |
查询杠杆账户 OCO 挂单 (USER_DATA)
响应:
[
{
"orderListId": 31,
"contingencyType": "OCO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "wuB13fmulKj3YjdqWEcsnp",
"transactionTime": 1565246080644,
"symbol": "LTCBTC",
"orders": [
{
"symbol": "LTCBTC",
"orderId": 4,
"clientOrderId": "r3EH2N76dHfLoSZWIUw1bT"
},
{
"symbol": "LTCBTC",
"orderId": 5,
"clientOrderId": "Cv1SnyPD3qhqpbjpYEHbd2"
}
]
}
]
GET /papi/v1/margin/openOrderList (HMAC SHA256)
权重(IP): 5
参数
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
recvWindow | LONG | NO | 赋值不能大于 60000 |
timestamp | LONG | YES |
查询杠杆账户交易历史 (USER_DATA)
响应:
[
{
"commission": "0.00006000",
"commissionAsset": "BTC",
"id": 34,
"isBestMatch": true,
"isBuyer": false,
"isMaker": false,
"orderId": 39324,
"price": "0.02000000",
"qty": "3.00000000",
"symbol": "BNBBTC",
"time": 1561973357171
}
]
GET /papi/v1/margin/myTrades (HMAC SHA256)
权重: 5
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
orderId | LONG | NO | |
startTime | LONG | NO | |
endTime | LONG | NO | |
fromId | LONG | NO | 获取TradeId,默认获取近期交易历史。 |
limit | INT | NO | 默认 500; 最大 1000. |
recvWindow | LONG | NO | 默认值不能大于 60000 |
timestamp | LONG | YES |
- 如果设置 fromId , 获取订单 id >= fromId, 否则返回近期订单历史。
查询UM订单修改历史 (USER_DATA)
响应:
[
{
"amendmentId": 5363, // 修改记录号
"symbol": "BTCUSDT",
"pair": "BTCUSDT",
"orderId": 20072994037,
"clientOrderId": "LJ9R4QZDihCaS8UAOOLpgW",
"time": 1629184560899, // 修改时间
"amendment": {
"price": {
"before": "30004",
"after": "30003.2"
},
"origQty": {
"before": "1",
"after": "1"
},
"count": 3 // 修改记数,代表该修改记录是这笔订单第几次修改
}
},
{
"amendmentId": 5361,
"symbol": "BTCUSDT",
"pair": "BTCUSDT",
"orderId": 20072994037,
"clientOrderId": "LJ9R4QZDihCaS8UAOOLpgW",
"time": 1629184533946,
"amendment": {
"price": {
"before": "30005",
"after": "30004"
},
"origQty": {
"before": "1",
"after": "1"
},
"count": 2
}
},
{
"amendmentId": 5325,
"symbol": "BTCUSDT",
"pair": "BTCUSDT",
"orderId": 20072994037,
"clientOrderId": "LJ9R4QZDihCaS8UAOOLpgW",
"time": 1629182711787,
"amendment": {
"price": {
"before": "30002",
"after": "30005"
},
"origQty": {
"before": "1",
"after": "1"
},
"count": 1
}
}
]
GET /papi/v1/um/orderAmendment (HMAC SHA256)
查询UM订单修改历史
权重(order): 1
参数:
名称 | 类型 | 类型 | 描述 |
---|---|---|---|
symbol | STRING | YES | 交易对 |
orderId | LONG | NO | 系统订单号 |
origClientOrderId | STRING | NO | 用户自定义的订单号 |
startTime | LONG | NO | 起始时间 |
endTime | LONG | NO | 结束时间 |
limit | INT | NO | 默认值 500, 最大值 1000 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
- 至少需要发送
orderId
与origClientOrderId
中的一个,同时发送则以 orderId 为准
查询CM订单修改历史 (USER_DATA)
响应:
[
{
"amendmentId": 5363, // 修改记录号
"symbol": "BTCUSD_PERP",
"pair": "BTCUSD",
"orderId": 20072994037,
"clientOrderId": "LJ9R4QZDihCaS8UAOOLpgW",
"time": 1629184560899, // 修改时间
"amendment": {
"price": {
"before": "30004",
"after": "30003.2"
},
"origQty": {
"before": "1",
"after": "1"
},
"count": 3 // 修改记数,代表该修改记录是这笔订单第几次修改
}
},
{
"amendmentId": 5361,
"symbol": "BTCUSD_PERP",
"pair": "BTCUSD",
"orderId": 20072994037,
"clientOrderId": "LJ9R4QZDihCaS8UAOOLpgW",
"time": 1629184533946,
"amendment": {
"price": {
"before": "30005",
"after": "30004"
},
"origQty": {
"before": "1",
"after": "1"
},
"count": 2
}
},
{
"amendmentId": 5325,
"symbol": "BTCUSD_PERP",
"pair": "BTCUSD",
"orderId": 20072994037,
"clientOrderId": "LJ9R4QZDihCaS8UAOOLpgW",
"time": 1629182711787,
"amendment": {
"price": {
"before": "30002",
"after": "30005"
},
"origQty": {
"before": "1",
"after": "1"
},
"count": 1
}
}
]
GET /papi/v1/cm/orderAmendment (HMAC SHA256)
查询CM订单修改历史
权重(order): 1
参数:
名称 | 类型 | 类型 | 描述 |
---|---|---|---|
symbol | STRING | YES | 交易对 |
orderId | LONG | NO | 系统订单号 |
origClientOrderId | STRING | NO | 用户自定义的订单号 |
startTime | LONG | NO | 起始时间 |
endTime | LONG | NO | 结束时间 |
limit | INT | NO | 默认值 50, 最大值 100 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
- 至少需要发送
orderId
与origClientOrderId
中的一个,同时发送则以 orderId 为准
账户信息
查询账户余额(USER_DATA)
响应:
[
{
"asset": "USDT", // 资产
"totalWalletBalance": "122607.35137903", // 钱包余额 = 全仓杠杆未锁定 + 全仓杠杆锁定 + u本位合约钱包余额 + 币本位合约钱包余额
"crossMarginAsset": "92.27530794", // 全仓资产 = 全仓杠杆未锁定 + 全仓杠杆锁定
"crossMarginBorrowed": "10.00000000", // 全仓杠杆借贷
"crossMarginFree": "100.00000000", // 全仓杠杆未锁定
"crossMarginInterest": "0.72469206", // 全仓杠杆利息
"crossMarginLocked": "3.00000000", //全仓杠杆锁定
"umWalletBalance": "0.00000000", // u本位合约钱包余额
"umUnrealizedPNL": "23.72469206", // u本位未实现盈亏
"cmWalletBalance": "23.72469206", // 币本位合约钱包余额
"cmUnrealizedPNL": "", // 币本位未实现盈亏
"updateTime": 1617939110373,
"negativeBalance": "0"
}
]
**OR (when symbol sent)**
{
"asset": "USDT",
"totalWalletBalance": "122607.35137903",
"crossMarginBorrowed": "10.00000000",
"crossMarginFree": "100.00000000",
"crossMarginInterest": "0.72469206",
"crossMarginLocked": "3.00000000",
"umWalletBalance": "0.00000000",
"umUnrealizedPNL": "23.72469206",
"cmWalletBalance": "23.72469206",
"cmUnrealizedPNL": "",
"updateTime": 1617939110373,
"negativeBalance": "0"
}
GET /papi/v1/balance (HMAC SHA256)
权重: 20
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
asset | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
查询账户信息 (USER_DATA)
响应:
{
"uniMMR": "5167.92171923", // 统一账户维持保证金率
"accountEquity": "122607.35137903", // 以USD计价的账户权益
"actualEquity": "73.47428058", // 不考虑质押率后的以USD计价账户权益
"accountInitialMargin": "23.72469206",
"accountMaintMargin": "23.72469206", // 以USD计价统一账户维持保证金
"accountStatus": "NORMAL" // 统一账户账户状态:"NORMAL", "MARGIN_CALL", "SUPPLY_MARGIN", "REDUCE_ONLY", "ACTIVE_LIQUIDATION", "FORCE_LIQUIDATION", "BANKRUPTED"
"virtualMaxWithdrawAmount": "1627523.32459208" // 以USD计价的最大可转出
"totalAvailableBalance":"",
"totalMarginOpenLoss":"",
"updateTime": 1657707212154 // 更新时间
}
GET /papi/v1/account (HMAC SHA256)
权重: 20
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
查询账户最大可借贷额度 (USER_DATA)
响应:
{
"amount": 125 // 系统可借充足情况下用户账户当前最大可借额度
"borrowLimit": 60 // 平台限制的用户当前等级可以借的额度
}
GET /papi/v1/margin/maxBorrowable (HMAC SHA256)
查询账户最大可借贷额度
权重: 5
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
asset | STRING | YES | |
recvWindow | LONG | NO | 赋值不能超过 60000 |
timestamp | LONG | YES |
查询账户最大可转出额度(USER_DATA)
响应:
{
"amount": "60"
}
GET /papi/v1/margin/maxWithdraw (HMAC SHA256)
权重: 5
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
asset | STRING | YES | |
recvWindow | LONG | NO | 赋值不能超过 60000 |
timestamp | LONG | YES |
用户UM持仓风险(USER_DATA)
响应:
* 单向持仓模式下(存在持仓才会返回):
[
{
"entryPrice": "0.00000", // 开仓均价
"leverage": "10", // 当前杠杆倍数
"markPrice": "6679.50671178", // 当前标记价格
"maxNotionalValue": "20000000", // 当前杠杆倍数允许的名义价值上限
"positionAmt": "0.000", // 头寸数量,符号代表多空方向, 正数为多,负数为空
"notional": "0",
"symbol": "BTCUSDT", // 交易对
"unRealizedProfit": "0.00000000", // 持仓未实现盈亏
"liquidationPrice": "6170.20509059",
"positionSide": "BOTH", // 持仓方向
"updateTime": 1625474304765, // 更新时间
"breakEvenPrice": "0.00000"
}
]
* 双向持仓模式下(存在持仓才会返回):
[
{
"symbol": "BTCUSDT",
"positionAmt": "0.001",
"entryPrice": "22185.2",
"markPrice": "21123.05052574",
"unRealizedProfit": "-1.06214947",
"liquidationPrice": "6170.20509059",
"leverage": "4",
"maxNotionalValue": "100000000",
"positionSide": "LONG",
"notional": "21.12305052",
"updateTime": 1655217461579,
"breakEvenPrice": "0.00000"
},
{
"symbol": "BTCUSDT",
"positionAmt": "0.001",
"entryPrice": "0.0",
"markPrice": "21123.05052574",
"unRealizedProfit": "0.00000000",
"liquidationPrice": "6170.20509059",
"leverage": "4",
"maxNotionalValue": "100000000",
"positionSide": "SHORT",
"notional": "0",
"updateTime": 0,
"breakEvenPrice": "0.00000"
}
]
GET /papi/v1/um/positionRisk
获取用户UM持仓风险
权重: 5
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
请与账户推送信息ACCOUNT_UPDATE
配合使用,以满足您的及时性和准确性需求。
- 对于单向持仓模式,仅会展示
BOTH
方向的持仓 - 对于双向持仓模式,会展示所有
BOTH
,LONG
,和SHORT
方向的持仓 - 请与账户推送信息
ACCOUNT_UPDATE
配合使用,以满足您的及时性和准确性需求。
用户CM持仓风险(USER_DATA)
响应:
* 单向持仓模式下:
[
{
"symbol": "BTCUSD_201225", // 交易对
"positionAmt": "0", // 头寸数量, 符号代表多空方向, 正数为多, 负数为空
"entryPrice": "0.0", // 开仓均价
"markPrice": "0.00000000", // 当前标记价格
"unRealizedProfit": "0.00000000", // 持仓未实现盈亏
"liquidationPrice": "6170.20509059", // 爆仓价
"leverage": "125", // 当前杠杆倍数
"positionSide": "BOTH", // 持仓方向
"updateTime": 0, // 最新更新时间
"maxQty": "50", // 当前杠杆倍数允许的数量上限(标的数量)
"notionalValue": "0.00084827",
"breakEvenPrice": "0.00000"
}
]
* 双向持仓模式下(存在持仓才会返回):
[
{
"symbol": "BTCUSD_201225",
"positionAmt": "1",
"entryPrice": "11707.70000003",
"markPrice": "11788.66626667",
"unRealizedProfit": "0.00005866",
"liquidationPrice": "6170.20509059",
"leverage": "125",
"positionSide": "LONG",
"updateTime": 1627026881327,
"maxQty": "50",
"notionalValue": "0.00084827",
"breakEvenPrice": "0.00000"
},
{
"symbol": "BTCUSD_201225",
"positionAmt": "1",
"entryPrice": "11707.70000003",
"markPrice": "11788.66626667",
"unRealizedProfit": "0.00005866",
"liquidationPrice": "6170.20509059",
"leverage": "125",
"positionSide": "LONG",
"updateTime": 1627026881327,
"maxQty": "50",
"notionalValue": "0.00084827",
"breakEvenPrice": "0.00000"
}
]
获取用户CM持仓风险
GET /papi/v1/cm/positionRisk (HMAC SHA256)
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
marginAsset | STRING | NO | |
pair | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
注意:
* marginAsset
和 pair
不要同时提供
* marginAsset
和 pair
均不提供则返回所有上市状态和结算中的symbol
* 对于单向持仓模式,仅会展示BOTH
方向的持仓
* 对于双向持仓模式,会展示所有BOTH
,LONG
,和SHORT
方向的持仓
* 请与账户推送信息ACCOUNT_UPDATE
配合使用,以满足您的及时性和准确性需求。
调整UM开仓杠杆 (TRADE)
响应:
{
"leverage": 21,
"maxNotionalValue": "1000000",
"symbol": "BTCUSDT"
}
POST /papi/v1/um/leverage (HMAC SHA256)
调整用户在指定UM symbol合约的开仓杠杆。不同持仓方向上使用相同杠杆倍数,共享允许的最大交易标的资产数量
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
leverage | INT | YES | target initial leverage: int from 1 to 125 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
调整CM开仓杠杆 (TRADE)
响应:
{
"leverage": 21,
"maxQty": "1000",
"symbol": "BTCUSD_200925"
}
POST /papi/v1/cm/leverage (HMAC SHA256)
调整用户在指定CM symbol合约的开仓杠杆。不同持仓方向上使用相同杠杆倍数,共享允许的最大交易标的资产数量
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
leverage | INT | YES | target initial leverage: int from 1 to 125 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
更改UM持仓模式(TRADE)
响应:
{
"code": 200,
"msg": "success"
}
POST /papi/v1/um/positionSide/dual (HMAC SHA256)
变换用户在UM所有symbol合约上的持仓模式:双向持仓或单向持仓。
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
dualSidePosition | STRING | YES | "true": 双向持仓模式;"false": 单向持仓模式 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
更改CM持仓模式(TRADE)
响应:
{
"code": 200,
"msg": "success"
}
POST /papi/v1/cm/positionSide/dual (HMAC SHA256)
变换用户在CM所有symbol合约上的持仓模式:双向持仓或单向持仓。
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
dualSidePosition | STRING | YES | "true": 双向持仓模式;"false": 单向持仓模式 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
查询UM持仓模式(USER_DATA)
响应:
{
"dualSidePosition": true // "true": 双向持仓模式;"false": 单向持仓模式
}
GET /papi/v1/um/positionSide/dual (HMAC SHA256)
查询用户目前在UM所有symbol合约上的持仓模式: 双向持仓或单向持仓。
权重: 30
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
查询CM持仓模式(USER_DATA)
响应:
{
"dualSidePosition": true // "true": 双向持仓模式;"false": 单向持仓模式
}
GET /papi/v1/cm/positionSide/dual (HMAC SHA256)
查询用户目前在CM所有symbol合约上的持仓模式: 双向持仓或单向持仓。
权重: 30
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
UM账户成交历史 (USER_DATA)
响应:
[
{
"symbol": "BTCUSDT",
"id": 67880589,
"orderId": 270093109,
"side": "SELL",
"price": "28511.00",
"qty": "0.010",
"realizedPnl": "2.58500000",
"marginAsset": "USDT",
"quoteQty": "285.11000",
"commission": "-0.11404400",
"commissionAsset": "USDT",
"time": 1680688557875,
"buyer": false,
"maker": false,
"positionSide": "BOTH"
}
]
GET /papi/v1/um/userTrades (HMAC SHA256)
获取UM某交易对的成交历史
权重: 5
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | 交易对 |
orderId | INT | NO | |
startTime | LONG | NO | |
endTime | LONG | NO | |
fromId | LONG | NO | 返回该fromId及之后的成交,缺省返回最近的成交 |
limit | INT | NO | 返回的结果集数量 默认值:50 最大值:1000 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- 如果
startTime
和endTime
均不填,默认返回最近24小时数据 startTime
和endTime
的最大间隔为24小时- 参数
fromId
不能和startTime
与endTime
一起发送
CM账户成交历史 (USER_DATA)
响应:
[
{
'symbol': 'BTCUSD_200626',
'id': 6,
'orderId': 28,
'pair': 'BTCUSD',
'side': 'SELL',
'price': '8800',
'qty': '1',
'realizedPnl': '0',
'marginAsset': 'BTC',
'baseQty': '0.01136364',
'commission': '0.00000454',
'commissionAsset': 'BTC',
'time': 1590743483586,
'positionSide': 'BOTH',
'buyer': false,
'maker': false
}
]
GET /papi/v1/cm/userTrades (HMAC SHA256)
获取CM成交历史
权重:
传symbol 20 传pairs 40
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
pair | STRING | NO | |
startTime | LONG | NO | |
endTime | LONG | NO | |
fromId | LONG | NO | 返回该fromId及之后的成交,缺省返回最近的成交,仅支持配合symbol使用 |
limit | INT | NO | 返回的结果集数量 默认值:50 最大值:1000 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
symbol
或pair
其中一个必传symbol
或pair
不能同时传fromId
或pair
不能同时传- 如果传
pair
,该pair
的所有交易对会被返回 - 参数
fromId
不能和startTime
或endTime
一起发送 - 如果
startTime
和endTime
都不传,返回过去24hr数据 startTime
和endTime
不能超过24hr
查询UM杠杆分层标准 (USER_DATA)
响应:
[
{
"symbol": "ETHUSDT",
"notionalCoef": "4.0",
"brackets": [
{
"bracket": 1, // 层级
"initialLeverage": 75, // 该层允许的最高初始杠杆倍数
"notionalCap": 10000, // 该层对应的数量上限
"notionalFloor": 0, // 该层对应的数量下限
"maintMarginRatio": 0.0065, // 该层对应的维持保证金率
"cum":0 // 速算数
},
]
}
]
GET /papi/v1/um/leverageBracket
查询UM杠杆分层标准
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
查询CM杠杆分层标准 (USER_DATA)
响应:
[
{
"symbol": "BTCUSD_PERP",
"notionalCoef": "4.0",
"brackets": [
{
"bracket": 1, // 层级
"initialLeverage": 125, // 该层允许的最高初始杠杆倍数
"qtyCap": 50, // 该层对应的数量上限
"qtyFloor": 0, // 该层对应的数量下限
"maintMarginRatio": 0.004, // 该层对应的维持保证金率
"cum": 0.0 // 速算数
},
]
}
]
GET /papi/v1/cm/leverageBracket
查询CM杠杆分层标准
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
获取账户杠杆强制平仓记录 (USER_DATA)
响应:
{
"rows": [
{
"avgPrice": "0.00388359",
"executedQty": "31.39000000",
"orderId": 180015097,
"price": "0.00388110",
"qty": "31.39000000",
"side": "SELL",
"symbol": "BNBBTC",
"timeInForce": "GTC",
"updatedTime": 1558941374745
}
],
"total": 1
}
GET /papi/v1/margin/forceOrders (HMAC SHA256)
获取账户杠杆强制平仓记录
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
startTime | LONG | NO | |
endTime | LONG | NO | |
current | LONG | NO | 当前查询页。 开始值 1. 默认:1 |
size | LONG | NO | 默认:10 最大:100 |
recvWindow | LONG | NO | 赋值不能大于 60000 |
timestamp | LONG | YES |
用户强平单历史(USER_DATA)
[
{
"orderId": 6071832819,
"symbol": "BTCUSDT",
"status": "FILLED",
"clientOrderId": "autoclose-1596107620040000020",
"price": "10871.09",
"avgPrice": "10913.21000",
"origQty": "0.001",
"executedQty": "0.001",
"cumQuote": "10.91321",
"timeInForce": "IOC",
"type": "LIMIT",
"reduceOnly": false,
"side": "SELL",
"positionSide": "BOTH",
"origType": "LIMIT",
"time": 1596107620044,
"updateTime": 1596107620087
}
]
GET /papi/v1/um/forceOrders (HMAC SHA256)
查询用户UM强平单历史
权重: 带symbol 20, 不带symbol 50
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
autoCloseType | ENUM | NO | LIQUIDATION : 强平单, ADL : ADL减仓单. |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | 默认50;最大100. |
recvWindow | LONG | NO | 赋值不能超过 60000 |
timestamp | LONG | YES |
- 如果没有传
autoCloseType
,强平单和ADL减仓单都会被返回 - 如果没有传
startTime
, 只会返回endTime
之前7天内的数据
响应:
用户CM强平单历史 (USER_DATA)
响应:
[
{
"orderId": 165123080,
"symbol": "BTCUSD_200925",
"pair": "BTCUSD",
"status": "FILLED",
"clientOrderId": "autoclose-1596542005017000006",
"price": "11326.9",
"avgPrice": "11326.9",
"origQty": "1",
"executedQty": "1",
"cumBase": "0.00882854",
"timeInForce": "IOC",
"type": "LIMIT",
"reduceOnly": false,
"side": "SELL",
"positionSide": "BOTH",
"origType": "LIMIT",
"time": 1596542005019,
"updateTime": 1596542005050
}
]
GET /papi/v1/cm/forceOrders (HMAC SHA256)
查询用户CM强平单历史
权重:
带symbol 20, 不带symbol 50
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
autoCloseType | ENUM | NO | LIQUIDATION : 强平单, ADL : ADL减仓单. |
startTime | LONG | NO | |
endTime | LONG | NO | |
limit | INT | NO | 默认50;最大100. |
recvWindow | LONG | NO | 赋值不能超过 60000 |
timestamp | LONG | YES |
- 如果没有传
autoCloseType
,强平单和ADL减仓单都会被返回 - 如果没有传
startTime
, 只会返回endTime
之前7天内的数据
统一账户UM合约交易量化规则指标 (USER_DATA)
响应:
{
"indicators": { // indicator:风控指标名, value:用户在该市场的风控指标数值, triggerValue:阈值, 对于没有达到记录阈值的则不返回数据。
"BTCUSDT": [
{
"isLocked": true, //用户该品种交易是否被风控禁用
"plannedRecoverTime": 1545741270000,
"indicator": "UFR", // Unfilled Ratio (UFR)
"value": 0.05, // Current value
"triggerValue": 0.995 // Trigger value
},
{
"isLocked": true,
"plannedRecoverTime": 1545741270000,
"indicator": "IFER", // IOC/FOK Expiration Ratio (IFER)
"value": 0.99, // Current value
"triggerValue": 0.99 // Trigger value
},
{
"isLocked": true,
"plannedRecoverTime": 1545741270000,
"indicator": "GCR", // GTC Cancellation Ratio (GCR)
"value": 0.99, // Current value
"triggerValue": 0.99 // Trigger value
},
{
"isLocked": true,
"plannedRecoverTime": 1545741270000,
"indicator": "DR", // Dust Ratio (DR)
"value": 0.99, // Current value
"triggerValue": 0.99 // Trigger value
}
]
},
"updateTime": 1545741270000
}
Or (account violation triggered)
{
"indicators":{
"ACCOUNT":[
{
"indicator":"TMV", // Too many violations 多交易对触发账号层级违规
"value":10,
"triggerValue":1,
"plannedRecoverTime":1644919865000,
"isLocked":true
}
]
},
"updateTime":1644913304748
}
GET /papi/v1/um/apiTradingStatus
查询合约交易量化规则指标
权重: 1 for a single symbol 10 when the symbol parameter is omitted
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
查询用户UM手续费率 (USER_DATA)
响应:
{
"symbol": "BTCUSDT",
"makerCommissionRate": "0.0002", // 0.02%
"takerCommissionRate": "0.0004" // 0.04%
}
GET /papi/v1/um/commissionRate (HMAC SHA256)
查询用户UM手续费率
权重: 20
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
查询用户CM手续费率 (USER_DATA)
响应:
{
"symbol": "BTCUSD_PERP",
"makerCommissionRate": "0.00015", // 0.015%
"takerCommissionRate": "0.00040" // 0.040%
}
GET /papi/v1/cm/commissionRate (HMAC SHA256)
查询用户CM手续费率
权重: 20
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | YES | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
查询杠杆借贷记录 (USER_DATA)
响应:
{
"rows": [
{
"txId": 12807067523,
"asset": "BNB",
"principal": "0.84624403",
"timestamp": 1555056425000,
"status": "CONFIRMED" //状态: PENDING (等待执行), CONFIRMED (成功借贷), FAILED (执行失败);
}
],
"total": 1
}
GET /papi/v1/margin/marginLoan
查询杠杆借贷记录
权重: 10
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
asset | STRING | YES | |
txId | LONG | NO | tranId in POST/papi/v1/marginLoan |
startTime | LONG | NO | |
endTime | LONG | NO | |
current | LONG | NO | 当前查询页。 开始值 1。 默认:1 |
size | LONG | NO | Default:10 Max:100 |
recvWindow | LONG | NO | 赋值不能超过 60000 |
timestamp | LONG | YES |
- 必须发送
txId
或startTime
,txId
优先 - 响应返回为降序排列
- 传了asset参数,最大查询时间范围为
endTime
往前30天;不传asset参数,最大查询时间范围为endTime
往前7天 - 若
startTime
和endTime
没传,则默认返回最近7天数据 startTime
不传,默认endTime
-7天;结束时间不传,默认当前时间
查询杠杆还贷记录(USER_DATA)
响应:
{
"rows": [
{
"amount": "14.00000000", //还款总额
"asset": "BNB",
"interest": "0.01866667", //支付的利息
"principal": "13.98133333", //支付的本金
"status": "CONFIRMED", //状态: PENDING (等待执行), CONFIRMED (成功还款), FAILED (执行失败);
"timestamp": 1563438204000,
"txId": 2970933056
}
],
"total": 1
}
GET /papi/v1/margin/repayLoan
查询杠杆还贷记录
权重: 10
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
asset | STRING | YES | |
txId | LONG | NO | the tranId in POST/papi/v1/repayLoan |
startTime | LONG | NO | |
endTime | LONG | NO | |
current | LONG | NO | 当前查询页。 开始值 1。 默认:1 |
size | LONG | NO | Default:10 Max:100 |
recvWindow | LONG | NO | 赋值不能超过 60000 |
timestamp | LONG | YES |
- 必须发送
txId
或startTime
,txId
优先 - 响应返回为降序排列
- 传了asset参数,最大查询时间范围为
endTime
往前30天;不传asset参数,最大查询时间范围为endTime
往前7天 - 若
startTime
和endTime
没传,则默认返回最近7天数据 startTime
不传,默认endTime
-7天;结束时间不传,默认当前时间
获取杠杆利息历史 (USER_DATA)
响应:
{
"rows": [
{
"txId": 1352286576452864727,
"interestAccuredTime": 1672160400000,
"asset": "USDT",
"rawAsset": “USDT”,
"principal": "45.3313",
"interest": "0.00024995",
"interestRate": "0.00013233",
"type": "ON_BORROW"
}
],
"total": 1
}
GET/papi/v1/margin/marginInterestHistory (HMAC SHA256)
权重: 1
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
asset | STRING | NO | |
startTime | LONG | NO | |
endTime | LONG | NO | |
current | LONG | NO | 当前查询页。 开始值 1. 默认:1 |
size | LONG | NO | 默认:10 最大:100 |
recvWindow | LONG | NO | 赋值不能超过 60000 |
timestamp | LONG | YES |
- 响应返回为降序排列。
- 查询时间范围最大不得超过30天。
- 若
startTime
和endTime
没传,则默认返回最近7天数据 - 如果想查询6个月以前数据,设置
archived
为true
- 返回的type数据有4种类型:
PERIODIC
每小时收的利息ON_BORROW
借款的时候第一次收的利息PERIODIC_CONVERTED
每小时收的利息,用BNB抵扣ON_BORROW_CONVERTED
借款的时候第一次收的利息,用BNB抵扣
查询统一账户期货负余额收息历史(USER_DATA)
响应:
[
{
"asset": "USDT",
"interest": "24.4440", //利息金额
"interestAccuredTime": 1670227200000,
"interestRate": "0.0001164", //日利率
"principal": "210000"
}
]
GET /papi/v1/portfolio/interest-history
查询统一账户期货负余额收息历史
权重: 50
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
asset | STRING | NO | |
startTime | LONG | NO | |
endTime | LONG | NO | |
size | LONG | NO | Default:10 Max:100 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
统一账户资金归集(TRADE)
响应:
{
"msg": "success"
}
POST /papi/v1/auto-collection
资金归集到统一账户钱包
权重: 750
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
recvWindow | LONG | NO | 赋值不能超过 60000 |
timestamp | LONG | YES |
- 本接口不会将 UM 钱包中的 BNB 资产进行归集
- 滚动每小时仅能调用500次
特定资产资金归集(TRADE)
响应:
{
"msg": "success"
}
POST /papi/v1/asset-collection
特定资产账户资金归集,从合约账户划转到杠杆账户
权重(IP):
30
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
asset | STRING | YES | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- 本接口不支持划转BNB资产
BNB划转(TRADE)
响应:
{
//transaction id
"tranId": 100000001
}
POST /papi/v1/bnb-transfer
从PM钱包划转BNB到UM钱包
权重: 750
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
amount | DECIMAL | YES | |
transferSide | STRING | YES | "TO_UM","FROM_UM" |
recvWindow | LONG | NO | 赋值不能超过 60000 |
timestamp | LONG | YES |
- 本接口每10分钟只能调用10次(时间滚动计算)
获取UM损益资金流水 (USER_DATA)
响应:
[
{
"symbol": "", // 交易对,仅针对涉及交易对的资金流
"incomeType": "TRANSFER", // 资金流类型
"income": "-0.37500000", // 资金流数量,正数代表流入,负数代表流出
"asset": "USDT", // 资产内容
"info":"TRANSFER", // 备注信息,取决于流水类型
"time": 1570608000000,
"tranId":"9689322392", // 划转ID
"tradeId":"" // 引起流水产生的原始交易ID
},
{
"symbol": "BTCUSDT",
"incomeType": "COMMISSION",
"income": "-0.01000000",
"asset": "USDT",
"info":"COMMISSION",
"time": 1570636800000,
"tranId":"9689322392",
"tradeId":"2059192"
}
]
GET /papi/v1/um/income (HMAC SHA256)
权重: 30
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
incomeType | STRING | NO | TRANSFER, WELCOME_BONUS, REALIZED_PNL, FUNDING_FEE, COMMISSION, INSURANCE_CLEAR, REFERRAL_KICKBACK, COMMISSION_REBATE, API_REBATE, CONTEST_REWARD, CROSS_COLLATERAL_TRANSFER, OPTIONS_PREMIUM_FEE, OPTIONS_SETTLE_PROFIT, INTERNAL_TRANSFER, AUTO_EXCHANGE, DELIVERED_SETTELMENT, COIN_SWAP_DEPOSIT, COIN_SWAP_WITHDRAW, POSITION_LIMIT_INCREASE_FEE |
startTime | LONG | NO | 起始时间 |
endTime | LONG | NO | 结束时间 |
limit | INT | NO | 默认 100; 最大 1000 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- 如果
startTime
和endTime
均未发送, 只会返回最近7天的数据. - 如果
incomeType
没有发送,返回所有类型账户损益资金流水。 trandId
在相同用户的同一种收益流水类型中是唯一的。- 仅保留最近3个月的数据。
获取CM损益资金流水(USER_DATA)
响应:
[
{
"symbol": "", // 交易对,仅针对涉及交易对的资金流
"incomeType": "TRANSFER", // 资金流类型
"income": "-0.37500000", // 资金流数量,正数代表流入,负数代表流出
"asset": "BTC", // 资产内容
"info":"WITHDRAW", // 备注信息,取决于流水类型
"time": 1570608000000,
"tranId":"9689322392", // 划转ID
"tradeId":"" // 引起流水产生的原始交易ID
},
{
"symbol": "BTCUSD_200925",
"incomeType": "COMMISSION",
"income": "-0.01000000",
"asset": "BTC",
"info":"",
"time": 1570636800000,
"tranId":"9689322392",
"tradeId":"2059192"
}
]
GET /papi/v1/cm/income (HMAC SHA256)
权重: 30
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
incomeType | STRING | NO | "TRANSFER","WELCOME_BONUS", "FUNDING_FEE", "REALIZED_PNL", "COMMISSION", "INSURANCE_CLEAR", and "DELIVERED_SETTELMENT" |
startTime | LONG | NO | 起始时间 |
endTime | LONG | NO | 结束时间 |
limit | INT | NO | 默认 100; 最大 1000 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
- 如果
startTime
和endTime
均未发送, 只会返回最近7天的数据. - 如果
incomeType
没有发送,返回所有类型账户损益资金流水。 trandId
在相同用户的同一种收益流水类型中是唯一的。- 仅保留最近3个月的数据。
获取UM账户信息 (USER_DATA)
响应:
{
"tradeGroupId": -1,
"assets": [
{
"asset": "USDT", // 资产
"crossWalletBalance": "23.72469206", // 全仓账户余额
"crossUnPnl": "0.00000000", // 全仓持仓未实现盈亏
"maintMargin": "0.00000000", // 维持保证金
"initialMargin": "0.00000000", // 当前所需起始保证金
"positionInitialMargin": "0.00000000", //持仓所需起始保证金(基于最新标记价格)
"openOrderInitialMargin": "0.00000000", //当前挂单所需起始保证金(基于最新标记价格)
"updateTime": 1625474304765 // 更新时间
}
],
"positions": [ // 头寸,将返回所有市场symbol。
//根据用户持仓模式展示持仓方向,即单向模式下只返回BOTH持仓情况,双向模式下只返回 LONG 和 SHORT 持仓情况
{
"symbol": "BTCUSDT", // 交易对
"initialMargin": "0", // 当前所需起始保证金(基于最新标记价格)
"maintMargin": "0", // 维持保证金
"unrealizedProfit": "0.00000000", // 持仓未实现盈亏
"positionInitialMargin": "0", //持仓所需起始保证金(基于最新标记价格)
"openOrderInitialMargin": "0", // 当前挂单所需起始保证金(基于最新标记价格)
"leverage": "100", // 杠杆倍率
"entryPrice": "0.00000", // 持仓成本价
"maxNotional": "250000", // 当前杠杆下用户可用的最大名义价值
"bidNotional": "0", // 买单净值,忽略
"askNotional": "0", // 卖单净值,忽略
"positionSide": "BOTH", // 持仓方向
"positionAmt": "0", // 持仓数量
"updateTime": 0, // 更新时间
"breakEvenPrice": "0.0"
}
]
}
GET /papi/v1/um/account (HMAC SHA256)
现有UM账户资产和仓位信息
权重: 5
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
获取CM账户信息 (USER_DATA)
响应:
{
"assets": [
{
"asset": "BTC", // 资产
"crossWalletBalance": "0.00241969", // 全仓账户余额
"crossUnPnl": "0.00000000", // 全仓持仓未实现盈亏
"maintMargin": "0.00000000", // 维持保证金
"initialMargin": "0.00000000", // 当前所需起始保证金
"positionInitialMargin": "0.00000000", // 持仓所需起始保证金(基于最新标记价格)
"openOrderInitialMargin": "0.00000000", // 当前挂单所需起始保证金(基于最新标记价格)e
"updateTime": 1625474304765 // 更新时间
}
],
"positions": [
{
"symbol": "BTCUSD_201225",
"positionAmt":"0",
"initialMargin": "0",
"maintMargin": "0",
"unrealizedProfit": "0.00000000",
"positionInitialMargin": "0",
"openOrderInitialMargin": "0",
"leverage": "125",
"positionSide": "BOTH",
"entryPrice": "0.0",
"maxQty": "50",
"updateTime": 0,
"breakEvenPrice": "0.0"
}
]
}
GET /papi/v1/cm/account (HMAC SHA256)
现有CM账户资产和仓位信息
权重: 5
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
更改自动清还合约负余额模式(TRADE)
响应:
{
"msg": "success"
}
POST /papi/v1/repay-futures-switch (HMAC SHA256)
更改自动支付合约负余额模式 (HMAC SHA256)
权重(IP):
750
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
autoRepay | STRING | YES | 默认为true ; false 代表关闭自动清还合约负余额 |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
查询自动清还合约负余额模式(USER_DATA)
响应:
{
"autoRepay": true // `true`代表自动清还合约负余额; `false`代表关闭自动清还合约负余额
}
GET /papi/v1/repay-futures-switch (HMAC SHA256)
查询自动清还合约负余额模式
权重(IP):
30
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
清还合约负余额(USER_DATA)
响应:
{
"msg": "success"
}
POST /papi/v1/repay-futures-negative-balance (HMAC SHA256)
清还合约负余额
权重(IP):
750
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
recvWindow | LONG | NO | |
timestamp | LONG | YES |
UM持仓ADL队列估算 (USER_DATA)
响应:
[
{
"symbol": "ETHUSDT",
"adlQuantile":
{
// 对于全仓状态下的双向持仓模式的交易对,会返回 "LONG", "SHORT" 和 "HEDGE", 其中"HEDGE"的存在仅作为标记;如果多空均有持仓的情况下,"LONG"和"SHORT"应返回共同计算后相同的队列分数。
"LONG": 3,
"SHORT": 3,
"HEDGE": 0 // HEDGE 仅作为指示出现,请忽略数值
}
},
{
"symbol": "BTCUSDT",
"adlQuantile":
{
// 对于单向持仓模式或者是逐仓状态下的双向持仓模式的交易对,会返回 "LONG", "SHORT" 和 "BOTH" 分别表示不同持仓方向上持仓的adl队列分数
"LONG": 1, // 双开模式下多头持仓的ADL队列估算分
"SHORT": 2, // 双开模式下空头持仓的ADL队列估算分
"BOTH": 0 // 单开模式下持仓的ADL队列估算分
}
}
]
GET /papi/v1/um/adlQuantile
权重: 5
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
每30秒更新数据
队列分数0,1,2,3,4,分数越高说明在ADL队列中的位置越靠前
对于单向持仓模式或者是逐仓状态下的双向持仓模式的交易对,会返回 "LONG", "SHORT" 和 "BOTH" 分别表示不同持仓方向上持仓的adl队列分数
对于全仓状态下的双向持仓模式的交易对,会返回 "LONG", "SHORT" 和 "HEDGE", 其中"HEDGE"的存在仅作为标记;其中如果多空均有持仓的情况下,"LONG"和"SHORT"返回共同计算后相同的队列分数。
CM持仓ADL队列估算 (USER_DATA)
响应:
[
{
"symbol": "BTCUSD_201225",
"adlQuantile":
{
// 对于全仓状态下的双向持仓模式的交易对,会返回 "LONG", "SHORT" 和 "HEDGE", 其中"HEDGE"的存在仅作为标记;如果多空均有持仓的情况下,"LONG"和"SHORT"应返回共同计算后相同的队列分数。
"LONG": 3,
"SHORT": 3,
"HEDGE": 0 // HEDGE 仅作为指示出现,请忽略数值
}
},
{
"symbol": "BTCUSD_201225",
"adlQuantile":
{
// 对于单向持仓模式或者是逐仓状态下的双向持仓模式的交易对,会返回 "LONG", "SHORT" 和 "BOTH" 分别表示不同持仓方向上持仓的adl队列分数
"LONG": 1, // 双开模式下多头持仓的ADL队列估算分
"SHORT": 2, // 双开模式下空头持仓的ADL队列估算分
"BOTH": 0 // 单开模式下持仓的ADL队列估算分
}
}
]
GET /papi/v1/cm/adlQuantile
权重: 5
参数:
名称 | 类型 | 是否必需 | 描述 |
---|---|---|---|
symbol | STRING | NO | |
recvWindow | LONG | NO | |
timestamp | LONG | YES |
每30秒更新数据
队列分数0,1,2,3,4,分数越高说明在ADL队列中的位置越靠前
对于单向持仓模式或者是逐仓状态下的双向持仓模式的交易对,会返回 "LONG", "SHORT" 和 "BOTH" 分别表示不同持仓方向上持仓的adl队列分数
对于全仓状态下的双向持仓模式的交易对,会返回 "LONG", "SHORT" 和 "HEDGE", 其中"HEDGE"的存在仅作为标记;其中如果多空均有持仓的情况下,"LONG"和"SHORT"返回共同计算后相同的队列分数。
Websocket 账户信息推送
- 本篇所列出REST接口的baseurl: https://papi.binance.com
- 用于订阅账户数据的
listenKey
从创建时刻起有效期为60分钟 - 可以通过
PUT
一个listenKey
延长60分钟有效期,如收到-1125
报错提示此listenKey
不存在,建议重新使用POST /fapi/v1/listenKey
生成listenKey
- 可以通过
DELETE
一个listenKey
立即关闭当前数据流,并使该listenKey
无效 - 在具有有效
listenKey
的帐户上执行POST
将返回当前有效的listenKey
并将其有效期延长60分钟 - Websocket连接方式:
- Base Url: wss://fstream.binance.com/pm
- 订阅账户数据流的stream名称为 /ws/<listenKey>
- 连接样例:
wss://fstream.binance.com/pm/ws/pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1
- 每个链接有效期不超过24小时,请妥善处理断线重连。
- 单一账户,单一连接的推送数据流消息可以保证时间序; 强烈建议您使用 E 字段进行排序
- 考虑到剧烈行情下, RESTful接口可能存在查询延迟,我们强烈建议您优先从Websocket user data stream推送的消息来获取订单,仓位等信息。
生成listenKey (USER_STREAM)
响应:
{
"listenKey": "pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1"
}
POST /papi/v1/listenKey
创建一个新的user data stream,返回值为一个listenKey,即websocket订阅的stream名称。如果该帐户具有有效的listenKey
,则将返回该listenKey
并将其有效期延长60分钟。
权重: 1
延长listenKey有效期 (USER_STREAM)
响应:
{}
PUT /papi/v1/listenKey
有效期延长至本次调用后60分钟
权重: 1
参数:
None
关闭listenKey (USER_STREAM)
响应:
{}
DELETE /papi/v1/listenKey
关闭某账户数据流
权重: 1
参数:
None
listenKey 过期推送
Payload:
{
'e': 'listenKeyExpired', // 事件类型
'E': 1576653824250 // 事件时间
}
当前连接使用的有效listenKey过期时,user data stream 将会推送此事件。
注意:
- 此事件与websocket连接中断没有必然联系
- 只有正在连接中的有效
listenKey
过期时才会收到此消息 - 收到此消息后user data stream将不再更新,直到用户使用新的有效的
listenKey
合约Balance和Position更新推送
Payload:
{
"e": "ACCOUNT_UPDATE", // Event Type
"fs": "UM", // Event business unit. 'UM' for USDS-M futures and 'CM' for COIN-M futures
"E": 1564745798939, // Event Time
"T": 1564745798938 , // Transaction
"i":"", // Account Alias, ignore for UM
"a": // Update Data
{
"m":"ORDER", // Event reason type
"B":[ // Balances
{
"a":"USDT", // Asset
"wb":"122624.12345678", // Wallet Balance
"cw":"100.12345678", // Cross Wallet Balance
"bc":"50.12345678" // Balance Change except PnL and Commission
},
{
"a":"BUSD",
"wb":"1.00000000",
"cw":"0.00000000",
"bc":"-49.12345678"
}
],
"P":[
{
"s":"BTCUSDT", // Symbol
"pa":"0", // Position Amount
"ep":"0.00000", // Entry Price
"cr":"200", // (Pre-fee) Accumulated Realized
"up":"0", // Unrealized PnL
"ps":"BOTH", // Position Side
"bep":"0.00000" // breakeven price},
{
"s":"BTCUSDT",
"pa":"20",
"ep":"6563.66500",
"cr":"0",
"up":"2850.21200",
"ps":"LONG",
"bep":"0.00000" // breakeven price
}
]
}
}
- Update Speed: 50ms
- Update under the following conditions:
- Account deposit or withdrawal
- A transfer occurs between trading accounts (e.g. transfer from spot to option accounts)
- Position changes
- Greek update
合约订单/交易更新推送
Payload:
{
"e":"ORDER_TRADE_UPDATE", // 事件类型
"E":1568879465651, // 事件时间
"T":1568879465650, // 撮合时间
"fs": "UM", // 事件业务线:'UM'代表U本位合约,'CM'代表币本位合约
"o":{
"s":"BTCUSDT", // 交易对
"c":"TEST", // 客户端自定订单ID
// 特殊的自定义订单ID:
// "autoclose-"开头的字符串: 系统强平订单
// "adl_autoclose": ADL自动减仓订单
// "settlement_autoclose-": 下架或交割的结算订单
"S":"SELL", // 订单方向
"o":"TRAILING_STOP_MARKET", // 订单类型
"f":"GTC", // 有效方式
"q":"0.001", // 订单原始数量
"p":"0", // 订单原始价格
"ap":"0", // 订单平均价格
"sp":"7103.04", // 忽略
"x":"NEW", // 本次事件的具体执行类型
"X":"NEW", // 订单的当前状态
"i":8886774, // 订单ID
"l":"0", // 订单末次成交量
"z":"0", // 订单累计已成交量
"L":"0", // 订单末次成交价格
"N": "USDT", // 手续费资产类型
"n": "0", // 手续费数量
"T":1568879465650, // 成交时间
"t":0, // 成交ID
"b":"0", // 买单净值
"a":"9.91", // 卖单净值
"m": false, // 该成交是作为挂单成交吗?
"R":false , // 是否是只减仓单
"ps":"LONG" // 持仓方向
"rp":"0", // 该交易实现盈亏
"st":"C_TAKE_PROFIT", // 策略单类型,仅在条件订单触发后会推送此字段
"si":12893, // 该交易实现盈亏,仅在条件订单触发后会推送此字段
"V":"EXPIRE_TAKER", // STP mode
"gtd":0
}
}
当有新订单创建、订单有新成交或者新的状态变化时会推送此类事件
事件类型统一为 ORDER_TRADE_UPDATE
订单方向
- BUY 买入
- SELL 卖出
订单类型
- MARKET 市价单
- LIMIT 限价单
- STOP 止损单
- TAKE_PROFIT 止盈单
- LIQUIDATION 强平单
本次事件的具体执行类型
- NEW
- CANCELED 已撤
- CALCULATED 订单ADL或爆仓
- EXPIRED 订单失效
- TRADE 交易
订单状态
- NEW
- PARTIALLY_FILLED
- FILLED
- CANCELED
- EXPIRED
有效方式:
- GTC
- IOC
- FOK
- GTX
强平和ADL:
- 若用户因保证金不足发生强平:
c
为"autoclose-XXX",X
为"NEW"
- 若用户保证金充足但被ADL:
c
为“adl_autoclose”,X
为“NEW”
合约条件订单/交易更新推送
Payload:
{
"e": "CONDITIONAL_ORDER_TRADE_UPDATE", // 时间类型
"T": 1669262908216, // 交易时间
"E": 1669262908218, // 事件时间
"fs": "UM", // 业务线
"so": {
"s": "BTCUSDT", // 交易对
"c":"TEST", // 用户自定义策略Id
"si": 176057039, // 策略Id
"S":"SELL", // 方向
"st": "TRAILING_STOP_MARKET", // 策略类型
"f":"GTC", // 生效时间
"q":"0.001", // 数量
"p":"0", // 价格
"sp":"7103.04", // TPSL触发价
"os":"NEW", // 策略订单状态
"T":1568879465650, // 订单
"ut": 1669262908216, // Order update Time
"R":false, // 仅减仓
"wt":"MARK_PRICE", // TPSL触发价格类型
"ps":"LONG", // 仓位方向
"cp":false, // 是否为触发平仓单; 仅在条件订单情况下会推送此字段
"AP":"7476.89", // 追踪止损激活价格, 仅在追踪止损单时会推送此字段
"cr":"5.0", // 追踪止损回调比例, 仅在追踪止损单时会推送此字段
"i":8886774, // 订单Id
"V":"EXPIRE_TAKER", // STP mode
"gtd":0
}
}
当有新订单创建、订单有新成交或者新的状态变化时会推送此类事件
事件类型统一为 CONDITIONAL_ORDER_TRADE_UPDATE
订单方向
- BUY 买入
- SELL 卖出
条件订单类型
- STOP
- TAKE_PROFIT
- STOP_MARKET
- TAKE_PROFIT_MARKET
- TRAILING_STOP_MARKET
本次事件的具体执行类型
- NEW
- CANCELED 已撤
- CALCULATED 订单ADL或爆仓
- EXPIRED 订单失效
- TRADE 交易
订单状态
- NEW
- CANCELED
- EXPIRED
- TRIGGERING // 订单达到触发状态
- TRIGGERED // 订单通过触发校验
- FINISHED
有效方式:
- GTC
- IOC
- FOK
- GTX
追加保证金通知
Payload:
{
"e":"riskLevelChange", // 事件类型
"E":1587727187525, // 事件时间
"u":"1.99999999", // uniMMR
"s":"MARGIN_CALL", //MARGIN_CALL, SUPPLY_MARGIN, REDUCE_ONLY, FORCE_LIQUIDATION
"eq":"30.23416728", // 账号美元保证金
"ae":"30.23416728", // actual equity without collateral rate in USD value
"m":"15.11708371" // 美元计价维持保证金
}
- 当用户持仓风险过高,会推送此消息。
- 此消息仅作为风险指导信息,不建议用于投资策略。
RISK_LEVEL_CHANGE
包含如下事件:MARGIN_CALL
,SUPPLY_MARGIN
,REDUCE_ONLY
,FORCE_LIQUIDATION
- 在大波动市场行情下,不排除此消息发出的同时用户仓位已被强平的可能。
合约杠杆倍数等账户配置 更新推送
Payload:
{
"e":"ACCOUNT_CONFIG_UPDATE", // 事件类型
"fs": "UM", // 事件业务线
"E":1611646737479, // 事件时间
"T":1611646737476, // 撮合时间
"ac":{
"s":"BTCUSD_PERP", // 交易对
"l":25 // 杠杆倍数
}
}
当账户配置发生变化时会推送此类事件类型统一为ACCOUNT_CONFIG_UPDATE
当交易对杠杆倍数发生变化时推送消息体会包含对象ac
表示交易对账户配置,其中s
代表具体的交易对,l
代表杠杆倍数
当用户联合保证金状态发生变化时推送消息体会包含对象ai
表示用户账户配置,其中j
代表用户联合保证金状态
杠杆账户全仓挂单占用事件
Payload:
{
"e": "openOrderLoss", //Event Type
"E": 1678710578788, // Event Time
"O": [{ // Update Data
"a": "BUSD",
"o": "-0.1232313" // Amount
}, {
"a": "BNB",
"o": "-12.1232313"
}]
}
杠杆账户负债更新
Payload:
{
"e": "liabilityChange", //Event Type
"E": 1573200697110, //Event Time
"a": "BTC", //Asset
"t": “BORROW” //Type
"tx": 1352286576452864727, //Transaction ID
"p": "1.03453430", //Principal
"i": "0", //Interest
"l": "1.03476851" //Total Liability
}
杠杆账户更新事件
Payload:
{
"e": "outboundAccountPosition", // 事件类型
"E": 1564034571105, // 事件时间
"u": 1564034571073, // 账户末次更新时间戳
"U": 1027053479517, // 时间更新ID
"B": [ // 余额
{
"a": "ETH", // 资产名称
"f": "10000.000000", // 可用余额
"l": "0.000000" // 冻结余额
}
]
}
每当帐户余额发生更改时,都会发送一个事件outboundAccountPosition
,其中包含可能由生成余额变动的事件而变动的资产。
杠杆账户余额更新事件
Payload:
{
"e": "balanceUpdate", //时间类型
"E": 1573200697110, //事件时间
"a": "BTC", //资产
"d": "100.00000000", //变动数量
"U": 1027053479517 //事件更新ID
"T": 1573200697068 //Time
}
杠杆账户订单事件
Payload:
{
"e": "executionReport", // 事件类型
"E": 1499405658658, // 事件时间
"s": "ETHBTC", // 交易对
"c": "mUvoqJxFIILMdfAW5iGSOW", // clientOrderId
"S": "BUY", // 订单方向
"o": "LIMIT", // 订单类型
"f": "GTC", // 有效方式
"q": "1.00000000", // 订单原始数量
"p": "0.10264410", // 订单原始价格
"P": "0.00000000", // 止盈止损单触发价格
"F": "0.00000000", // 冰山订单数量
"g": -1, // OCO订单 OrderListId
"C": "", // 原始订单自定义ID(原始订单,指撤单操作的对象。撤单本身被视为另一个订单)
"x": "NEW", // 本次事件的具体执行类型
"X": "NEW", // 订单的当前状态
"r": "NONE", // 订单被拒绝的原因
"i": 4293153, // orderId
"l": "0.00000000", // 订单末次成交量
"z": "0.00000000", // 订单累计已成交量
"L": "0.00000000", // 订单末次成交价格
"n": "0", // 手续费数量
"N": null, // 手续费资产类别
"T": 1499405658657, // 成交时间
"t": -1, // 成交ID
"v": 3, // 被阻止撮合交易的ID; 这仅在订单因 STP 触发而过期时可见
"I": 8641984, // 请忽略
"w": true, // 订单是否在订单簿上?
"m": false, // 该成交是作为挂单成交吗?
"M": false, // 请忽略
"O": 1499405658657, // 订单创建时间
"Z": "0.00000000", // 订单累计已成交金额
"Y": "0.00000000", // 订单末次成交金额
"Q": "0.00000000", // Quote Order Quantity
"W": 1499405658657, // Working Time; 订单被添加到 order book 的时间
"V": "NONE" // SelfTradePreventionMode
}
杠杆账户订单由executionReport
事件推出
执行类型:
- NEW - 新订单已被引擎接受。
- CANCELED - 订单被用户取消。
- REPLACED - (保留字段,当前未使用)
- REJECTED - 新订单被拒绝 (这信息只会在撤消挂单再下单中发生,下新订单被拒绝但撤消挂单请求成功)。
- TRADE - 订单有新成交。
- EXPIRED - 订单已根据 Time In Force 参数的规则取消(e.g. 没有成交的 LIMIT FOK 订单或部分成交的 LIMIT IOC 订单)或者被交易所取消(e.g. 强平或维护期间取消的订单)。
- TRADE_PREVENTION - 订单因 STP 触发而过期。
错误代码
error JSON payload:
{
"code":-1121,
"msg":"Invalid symbol."
}
错误由两部分组成:错误代码和消息。 代码是通用的,但是消息可能会有所不同。
10xx - 常规服务器或网络问题
-1000 UNKNOWN
- An unknown error occured while processing the request.
- 处理请求时发生未知错误。
-1001 DISCONNECTED
- Internal error; unable to process your request. Please try again.
- 内部错误; 无法处理您的请求。 请再试一次.
-1002 UNAUTHORIZED
- You are not authorized to execute this request.
- 您无权执行此请求。
-1003 TOO_MANY_REQUESTS
- Too many requests queued.
- 排队的请求过多。
- Too many requests; please use the websocket for live updates.
- 请求权重过多; 请使用websocket获取最新更新。
- Too many requests; current limit is %s requests per minute. Please use the websocket for live updates to avoid polling the API.
- 请求权重过多; 当前限制为每分钟%s请求权重。 请使用websocket进行实时更新,以避免轮询API。
- Way too many requests; IP banned until %s. Please use the websocket for live updates to avoid bans.
- 请求权重过多; IP被禁止,直到%s。 请使用websocket进行实时更新,以免被禁。
-1004 DUPLICATE_IP
- This IP is already on the white list
- IP地址已经在白名单
-1005 NO_SUCH_IP
- No such IP has been white listed
- 白名单上没有此IP地址
-1006 UNEXPECTED_RESP
- An unexpected 响应 was received from the message bus. Execution status unknown.
- 从消息总线收到意外的响应。执行状态未知。
-1007 TIMEOUT
- Timeout waiting for 响应 from backend server. Send status unknown; execution status unknown.
- 等待后端服务器响应超时。 发送状态未知; 执行状态未知。
-1014 UNKNOWN_ORDER_COMPOSITION
- Unsupported order combination.
- 不支持当前的下单参数组合
-1015 TOO_MANY_ORDERS
- Too many new orders.
- 新订单太多。
- Too many new orders; current limit is %s orders per %s. * 新订单太多; 当前限制为每%s %s个订单。
-1016 SERVICE_SHUTTING_DOWN
- This service is no longer available.
- 该服务不可用。
-1020 UNSUPPORTED_OPERATION
- This operation is not supported.
- 不支持此操作。
-1021 INVALID_TIMESTAMP
- Timestamp for this request is outside of the recvWindow.
- 此请求的时间戳在recvWindow之外。
- Timestamp for this request was 1000ms ahead of the server's time. * 此请求的时间戳比服务器时间提前1000毫秒。
-1022 INVALID_SIGNATURE
- Signature for this request is not valid.
- 此请求的签名无效。
-1023 START_TIME_GREATER_THAN_END_TIME
- Start time is greater than end time.
- 参数里面的开始时间在结束时间之后
11xx - Request issues
-1100 ILLEGAL_CHARS
- Illegal characters found in a parameter.
- 在参数中发现非法字符。
- Illegal characters found in parameter '%s'; legal range is '%s'.
- 在参数
%s
中发现非法字符; 合法范围是%s
。
-1101 TOO_MANY_参数
- Too many 参数 sent for this endpoint.
- 为此端点发送的参数太多。
- Too many 参数; expected '%s' and received '%s'.
- 参数太多;预期为
%s
并收到了%s
。 - Duplicate values for a parameter detected. * 检测到的参数值重复。
-1102 MANDATORY_PARAM_EMPTY_OR_MALFORMED
- A mandatory parameter was not sent, was empty/null, or malformed.
- 未发送强制性参数,该参数为空/空或格式错误。
- Mandatory parameter '%s' was not sent, was empty/null, or malformed.
* 强制参数
%s
未发送,为空/空或格式错误。 - Param '%s' or '%s' must be sent, but both were empty/null!
* 必须发送参数
%s
或%s
,但两者均为空!
-1103 UNKNOWN_PARAM
- An unknown parameter was sent.
- 发送了未知参数。
-1104 UNREAD_参数
- Not all sent 参数 were read.
- 并非所有发送的参数都被读取。
- Not all sent 参数 were read; read '%s' parameter(s) but was sent '%s'.
- 并非所有发送的参数都被读取; 读取了
%s
参数,但被发送了%s
。
-1105 PARAM_EMPTY
- A parameter was empty.
- 参数为空。
- Parameter '%s' was empty.
- 参数
%s
为空。
-1106 PARAM_NOT_REQUIRED
- A parameter was sent when not required.
- 发送了不需要的参数。
- Parameter '%s' sent when not required.
- 发送了不需要参数
%s
。
-1111 BAD_PRECISION
- Precision is over the maximum defined for this asset.
- 精度超过为此资产定义的最大值。
-1112 NO_DEPTH
- No orders on book for symbol.
- 交易对没有挂单。
-1114 TIF_NOT_REQUIRED
- TimeInForce parameter sent when not required.
- 发送的
TimeInForce
参数不需要。
-1115 INVALID_TIF
- Invalid timeInForce.
- 无效的
timeInForce
-1116 INVALID_ORDER_TYPE
- Invalid orderType.
- 无效订单类型。
-1117 INVALID_SIDE
- Invalid side.
- 无效买卖方向。
-1118 EMPTY_NEW_CL_ORD_ID
- New client order ID was empty.
- 新的客户订单ID为空。
-1119 EMPTY_ORG_CL_ORD_ID
- Original client order ID was empty.
- 客户自定义的订单ID为空。
-1120 BAD_INTERVAL
- Invalid interval.
- 无效时间间隔。
-1121 BAD_SYMBOL
- Invalid symbol.
- 无效的交易对。
-1125 INVALID_LISTEN_KEY
- This listenKey does not exist.
- 此
listenKey
不存在。建议重新使用POST /fapi/v1/listenKey
生成listenKey
-1127 MORE_THAN_XX_HOURS
- Lookup interval is too big.
- 查询间隔太大。
- More than %s hours between startTime and endTime.
- 从开始时间到结束时间之间超过
%s
小时。
-1128 OPTIONAL_PARAMS_BAD_COMBO
- Combination of optional 参数 invalid.
- 可选参数组合无效。
-1130 INVALID_PARAMETER
- Invalid data sent for a parameter.
- 发送的参数为无效数据。
- Data sent for parameter '%s' is not valid.
- 发送参数
%s
的数据无效。
-1136 INVALID_NEW_ORDER_RESP_TYPE
- Invalid newOrderRespType.
- 无效的 newOrderRespType。
20xx - Processing Issues
-2010 NEW_ORDER_REJECTED
- NEW_ORDER_REJECTED
- 新订单被拒绝
-2011 CANCEL_REJECTED
- CANCEL_REJECTED
- 取消订单被拒绝
-2013 NO_SUCH_ORDER
- Order does not exist.
- 订单不存在。
-2014 BAD_API_KEY_FMT
- API-key format invalid.
- API-key 格式无效。
-2015 REJECTED_MBX_KEY
- Invalid API-key, IP, or permissions for action.
- 无效的API密钥,IP或操作权限。
-2016 NO_TRADING_WINDOW
- No trading window could be found for the symbol. Try ticker/24hrs instead.
- 找不到该交易对的交易窗口。 尝试改为24小时自动报价。
-2018 BALANCE_NOT_SUFFICIENT
- Balance is insufficient.
- 余额不足
-2019 MARGIN_NOT_SUFFICIEN
- Margin is insufficient.
- 杠杆账户余额不足
-2020 UNABLE_TO_FILL
- Unable to fill.
- 无法成交
-2021 ORDER_WOULD_IMMEDIATELY_TRIGGER
- Order would immediately trigger.
- 订单可能被立刻触发
-2022 REDUCE_ONLY_REJECT
- ReduceOnly Order is rejected.
ReduceOnly
订单被拒绝
-2023 USER_IN_LIQUIDATION
- User in liquidation mode now.
- 用户正处于被强平模式
-2024 POSITION_NOT_SUFFICIENT
- Position is not sufficient.
- 持仓不足
-2025 MAX_OPEN_ORDER_EXCEEDED
- Reach max open order limit.
- 挂单量达到上限
-2026 REDUCE_ONLY_ORDER_TYPE_NOT_SUPPORTED
- This OrderType is not supported when reduceOnly.
- 当前订单类型不支持
reduceOnly
-2027 MAX_LEVERAGE_RATIO
- Exceeded the maximum allowable position at current leverage.
- 挂单或持仓超出当前初始杠杆下的最大值
-2028 MIN_LEVERAGE_RATIO
- Leverage is smaller than permitted: insufficient margin balance.
- 调整初始杠杆过低,导致可用余额不足
40xx - Filters and other Issues
-4000 INVALID_ORDER_STATUS
- Invalid order status.
- 订单状态不正确
-4001 PRICE_LESS_THAN_ZERO
- Price less than 0.
- 价格小于0
-4002 PRICE_GREATER_THAN_MAX_PRICE
- Price greater than max price.
- 价格超过最大值
-4003 QTY_LESS_THAN_ZERO
- Quantity less than zero.
- 数量小于0
-4004 QTY_LESS_THAN_MIN_QTY
- Quantity less than min quantity.
- 数量小于最小值
-4005 QTY_GREATER_THAN_MAX_QTY
- Quantity greater than max quantity.
- 数量大于最大值
-4006 STOP_PRICE_LESS_THAN_ZERO
- Stop price less than zero.
- 触发价小于最小值
-4007 STOP_PRICE_GREATER_THAN_MAX_PRICE
- Stop price greater than max price.
- 触发价大于最大值
-4008 TICK_SIZE_LESS_THAN_ZERO
- Tick size less than zero.
- 价格精度小于0
-4009 MAX_PRICE_LESS_THAN_MIN_PRICE
- Max price less than min price.
- 最大价格小于最小价格
-4010 MAX_QTY_LESS_THAN_MIN_QTY
- Max qty less than min qty.
- 最大数量小于最小数量
-4011 STEP_SIZE_LESS_THAN_ZERO
- Step size less than zero.
- 步进值小于0
-4012 MAX_NUM_ORDERS_LESS_THAN_ZERO
- Max num orders less than zero.
- 最大订单量小于0
-4013 PRICE_LESS_THAN_MIN_PRICE
- Price less than min price.
- 价格小于最小价格
-4014 PRICE_NOT_INCREASED_BY_TICK_SIZE
- Price not increased by tick size.
- 价格增量不是价格精度的倍数。
-4015 INVALID_CL_ORD_ID_LEN
- Client order id is not valid.
- 客户订单ID有误。
- Client order id length should not be more than 36 chars
- 客户订单ID长度应该不多于36字符
-4016 PRICE_HIGHTER_THAN_MULTIPLIER_UP
- Price is higher than mark price multiplier cap.
-4017 MULTIPLIER_UP_LESS_THAN_ZERO
- Multiplier up less than zero.
- 价格上限小于0
-4018 MULTIPLIER_DOWN_LESS_THAN_ZERO
- Multiplier down less than zero.
- 价格下限小于0
-4019 COMPOSITE_SCALE_OVERFLOW
- Composite scale too large.
-4020 TARGET_STRATEGY_INVALID
- Target strategy invalid for orderType '%s',reduceOnly '%b'.
- 目标策略值不适合
%s
订单状态, 只减仓%b
。
-4021 INVALID_DEPTH_LIMIT
- Invalid depth limit.
- 深度信息的
limit
值不正确。 - '%s' is not valid depth limit.
%s
不是合理的深度信息的limit
值。
-4022 WRONG_MARKET_STATUS
- market status sent is not valid.
- 发送的市场状态不正确。
-4023 QTY_NOT_INCREASED_BY_STEP_SIZE
- Qty not increased by step size.
- 数量的递增值不是步进值的倍数。
-4024 PRICE_LOWER_THAN_MULTIPLIER_DOWN
- Price is lower than mark price multiplier floor.
-4025 MULTIPLIER_DECIMAL_LESS_THAN_ZERO
- Multiplier decimal less than zero.
-4026 COMMISSION_INVALID
- Commission invalid.
- 收益值不正确
%s
less than zero.%s
少于0%s
absolute value greater than%s
%s
绝对值大于%s
-4027 INVALID_ACCOUNT_TYPE
- Invalid account type.
- 账户类型不正确。
-4028 INVALID_LEVERAGE
- Invalid leverage
- 杠杆倍数不正确
- Leverage
%s
is not valid - 杠杆
%s
不正确 - Leverage
%s
already exist with%s
- 杠杆
%s
已经存在于%s
-4029 INVALID_TICK_SIZE_PRECISION
- Tick size precision is invalid.
- 价格精度小数点位数不正确。
-4030 INVALID_STEP_SIZE_PRECISION
- Step size precision is invalid.
- 步进值小数点位数不正确。
-4031 INVALID_WORKING_TYPE
- Invalid parameter working type
- 不正确的参数类型
- Invalid parameter working type:
%s
- 不正确的参数类型:
%s
-4032 EXCEED_MAX_CANCEL_ORDER_SIZE
- Exceed maximum cancel order size.
- 超过可以取消的最大订单量。
- Invalid parameter working type:
%s
- 不正确的参数类型:
%s
-4033 INSURANCE_ACCOUNT_NOT_FOUND
- Insurance account not found.
- 风险保障基金账号没找到。
-4044 INVALID_BALANCE_TYPE
- Balance Type is invalid.
- 余额类型不正确。
-4045 MAX_STOP_ORDER_EXCEEDED
- Reach max stop order limit.
- 达到止损单的上限。
-4046 NO_NEED_TO_CHANGE_MARGIN_TYPE
- No need to change margin type.
- 不需要切换仓位模式。
-4047 THERE_EXISTS_OPEN_ORDERS
- Margin type cannot be changed if there exists open orders.
- 如果有挂单,仓位模式不能切换。
-4048 THERE_EXISTS_QUANTITY
- Margin type cannot be changed if there exists position.
- 如果有仓位,仓位模式不能切换。
-4049 ADD_ISOLATED_MARGIN_REJECT
- Add margin only support for isolated position.
-4050 CROSS_BALANCE_INSUFFICIENT
- Cross balance insufficient.
- 全仓余额不足。
-4051 ISOLATED_BALANCE_INSUFFICIENT
- Isolated balance insufficient.
- 逐仓余额不足。
-4052 NO_NEED_TO_CHANGE_AUTO_ADD_MARGIN
- No need to change auto add margin.
-4053 AUTO_ADD_CROSSED_MARGIN_REJECT
- Auto add margin only support for isolated position.
- 自动增加保证金只适用于逐仓。
-4054 ADD_ISOLATED_MARGIN_NO_POSITION_REJECT
- Cannot add position margin: position is 0.
- 不能增加逐仓保证金: 持仓为0
-4055 AMOUNT_MUST_BE_POSITIVE
- Amount must be positive.
- 数量必须是正整数
-4056 INVALID_API_KEY_TYPE
- Invalid api key type.
- API key的类型不正确
-4057 INVALID_RSA_PUBLIC_KEY
- Invalid api public key
- API key不正确
-4058 MAX_PRICE_TOO_LARGE
- maxPrice and priceDecimal too large,please check.
- maxPrice和priceDecimal太大,请检查。
-4059 NO_NEED_TO_CHANGE_POSITION_SIDE
- No need to change position side.
- 无需变更仓位方向
-4060 INVALID_POSITION_SIDE
- Invalid position side.
- 仓位方向不正确。
-4061 POSITION_SIDE_NOT_MATCH
- Order's position side does not match user's setting.
- 订单的持仓方向和用户设置不一致。
-4062 REDUCE_ONLY_CONFLICT
- Invalid or improper reduceOnly value.
- 仅减仓的设置不正确。
-4063 INVALID_OPTIONS_REQUEST_TYPE
- Invalid options request type
- 无效的期权请求类型
-4064 INVALID_OPTIONS_TIME_FRAME
- Invalid options time frame
- 无效的期权时间窗口
-4065 INVALID_OPTIONS_AMOUNT
- Invalid options amount
- 无效的期权数量
-4066 INVALID_OPTIONS_EVENT_TYPE
- Invalid options event type
- 无效的期权事件类型
-4067 POSITION_SIDE_CHANGE_EXISTS_OPEN_ORDERS
- Position side cannot be changed if there exists open orders.
- 如果有挂单,无法修改仓位方向。
-4068 POSITION_SIDE_CHANGE_EXISTS_QUANTITY
- Position side cannot be changed if there exists position.
- 如果有仓位, 无法修改仓位方向。
-4069 INVALID_OPTIONS_PREMIUM_FEE
- Invalid options premium fee
- 无效的期权费
-4070 INVALID_CL_OPTIONS_ID_LEN
- Client options id is not valid.
- 客户的期权ID不合法
- Client options id length should be less than 32 chars
- 客户的期权ID长度应该小于32个字符
-4071 INVALID_OPTIONS_DIRECTION
- Invalid options direction
- 期权的方向无效
-4072 OPTIONS_PREMIUM_NOT_UPDATE
- premium fee is not updated, reject order
- 期权费没有更新
-4073 OPTIONS_PREMIUM_INPUT_LESS_THAN_ZERO
- input premium fee is less than 0, reject order
- 输入的期权费小于0
-4074 OPTIONS_AMOUNT_BIGGER_THAN_UPPER
- Order amount is bigger than upper boundary or less than 0, reject order
-4075 OPTIONS_PREMIUM_OUTPUT_ZERO
- output premium fee is less than 0, reject order
-4076 OPTIONS_PREMIUM_TOO_DIFF
- original fee is too much higher than last fee
- 期权的费用比之前的费用高
-4077 OPTIONS_PREMIUM_REACH_LIMIT
- place order amount has reached to limit, reject order
- 下单的数量达到上限
-4078 OPTIONS_COMMON_ERROR
- options internal error
- 期权内部系统错误
-4079 INVALID_OPTIONS_ID
- invalid options id
- invalid options id: %s
- duplicate options id %d for user %d
- 期权ID无效
-4080 OPTIONS_USER_NOT_FOUND
- user not found
- user not found with id: %s
- 用户找不到
-4081 OPTIONS_NOT_FOUND
- options not found
- options not found with id: %s
- 期权找不到
-4082 INVALID_BATCH_PLACE_ORDER_SIZE
- Invalid number of batch place orders.
- Invalid number of batch place orders: %s
- 批量下单的数量不正确
-4083 PLACE_BATCH_ORDERS_FAIL
- Fail to place batch orders.
- 无法批量下单
-4084 UPCOMING_METHOD
- Method is not allowed currently. Upcoming soon.
- 方法不支持
-4085 INVALID_NOTIONAL_LIMIT_COEF
- Invalid notional limit coefficient
- 期权的有限系数不正确
-4086 INVALID_PRICE_SPREAD_THRESHOLD
- Invalid price spread threshold
- 无效的价差阀值
-4087 REDUCE_ONLY_ORDER_PERMISSION
- User can only place reduce only order
- 用户只能下仅减仓订单
-4088 NO_PLACE_ORDER_PERMISSION
- User can not place order currently
- 用户当前不能下单
-4104 INVALID_CONTRACT_TYPE
- Invalid contract type
- 无效的合约类型
-4114 INVALID_CLIENT_TRAN_ID_LEN
- clientTranId is not valid
- clientTranId不正确
- Client tran id length should be less than 64 chars
- 客户的tranId长度应该小于64个字符
-4115 DUPLICATED_CLIENT_TRAN_ID
- clientTranId is duplicated
- clientTranId重复
- Client tran id should be unique within 7 days
- 客户的tranId应在7天内唯一
-4118 REDUCE_ONLY_MARGIN_CHECK_FAILED
- ReduceOnly Order Failed. Please check your existing position and open orders
- 仅减仓订单失败。请检查现有的持仓和挂单
-4131 MARKET_ORDER_REJECT
- The counterparty's best price does not meet the PERCENT_PRICE filter limit
- 交易对手的最高价格未达到PERCENT_PRICE过滤器限制
-4135 INVALID_ACTIVATION_PRICE
- Invalid activation price
- 无效的激活价格
-4137 QUANTITY_EXISTS_WITH_CLOSE_POSITION
- Quantity must be zero with closePosition equals true
- 数量必须为0,当closePosition为true时
-4138 REDUCE_ONLY_MUST_BE_TRUE
- Reduce only must be true with closePosition equals true
- Reduce only 必须为true,当closePosition为true时
-4139 ORDER_TYPE_CANNOT_BE_MKT
- Order type can not be market if it's unable to cancel
- 订单类型不能为市价单如果不能取消
-4140 INVALID_OPENING_POSITION_STATUS
- Invalid symbol status for opening position
- 无效的交易对状态
-4141 SYMBOL_ALREADY_CLOSED
- Symbol is closed
- 交易对已下架
-4142 STRATEGY_INVALID_TRIGGER_PRICE
- REJECT: take profit or stop order will be triggered immediately
- 拒绝:止盈止损单将立即被触发
-4144 INVALID_PAIR
- Invalid pair
- 无效的pair
-4161 ISOLATED_LEVERAGE_REJECT_WITH_POSITION
- Leverage reduction is not supported in Isolated Margin Mode with open positions
- 逐仓仓位模式下无法降低杠杆
-4164 MIN_NOTIONAL
- Order's notional must be no smaller than 5.0 (unless you choose reduce only)
- 订单的名义价值不可以小于5,除了使用reduce only
- Order's notional must be no smaller than %s (unless you choose reduce only)
- 订单的名义价值不可以小于
%s
,除了使用reduce only
-4165 INVALID_TIME_INTERVAL
- Invalid time interval
- 无效的间隔
- Maximum time interval is %s days
- 最大的时间间隔为
%s
天
-4183 PRICE_HIGHTER_THAN_STOP_MULTIPLIER_UP
- Price is higher than stop price multiplier cap.
- 止盈止损订单价格不应高于触发价与报价乘数上限的乘积
- Limit price can't be higher than %s.
- 止盈止损订单价格不应高于
%s
-4184 PRICE_LOWER_THAN_STOP_MULTIPLIER_DOWN
- Price is lower than stop price multiplier floor.
- 止盈止损订单价格不应低于触发价与报价乘数下限的乘积
- Limit price can't be lower than %s.
- 止盈止损订单价格不应低于
%s
f
50xx - Order Execution Issues
-5021 FOK_ORDER_REJECT
- 订单无法完全成交,FOK订单被拒绝
-5022 GTX_ORDER_REJECT
- 订单无法仅做maker单, Post Only订单被拒绝
-5028 ME_RECVWINDOW_REJECT
- 请求的时间戳在撮合的recvWindow之外