Navbar
简体中文

更新日志

2020-12-30

REST


2020-11-27


2020-08-14

WEBSOCKET

REST


2020-08-12


2020-07-30

币本位永续合约


2020-07-17


基本信息

Rest 基本信息

HTTP 返回代码

错误代码

异常响应格式如下:

{
  "code": -1121,
  "msg": "Invalid symbol."
}

接口的基本信息

访问限制

IP 访问限制

下单频率限制

接口鉴权类型

鉴权类型 描述
NONE 不需要鉴权的接口
TRADE 需要有效的API-KEY和签名
USER_DATA 需要有效的API-KEY和签名
USER_STREAM 需要有效的API-KEY
MARKET_DATA 需要有效的API-KEY

需要签名的接口 (TRADE 与 USER_DATA)

时间同步安全

逻辑伪代码:

  if (timestamp < (serverTime + 1000) && (serverTime - timestamp) <= recvWindow) {
    // process request
  } else {
    // reject request
  }

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

POST /dapi/v1/order 的示例

以下是在linux bash环境下使用 echo openssl 和curl工具实现的一个调用接口下单的示例 apikey、secret仅供示范

Key Value
apiKey dbefbc809e3e83c283a984c3a1459732ea7db1360ca80c5c2c8867408d28cc83
secretKey 2b5eb11e18796d12d88f13dc27dbbd02c2cc51ff7059765ed9821957d82bb4d9
参数 取值
symbol BTCUSD_200925
side BUY
type LIMIT
timeInForce GTC
quantity 1
price 9000
recvWindow 5000
timestamp 1591702613943

示例 1: 所有参数通过 query string 发送

示例1:

HMAC SHA256 签名:

    $ echo -n "symbol=BTCUSD_200925&side=BUY&type=LIMIT&quantity=1&price=9000&timeInForce=GTC&recvWindow=5000&timestamp=1591702613943" | openssl dgst -sha256 -hmac "2b5eb11e18796d12d88f13dc27dbbd02c2cc51ff7059765ed9821957d82bb4d9"
    (stdin)= 3c661234138461fcc7a7d8746c6558c9842d4e10870d2ecbedf7777cad694af9

curl 调用:

    (HMAC SHA256)
    $ curl -H "X-MBX-APIKEY: dbefbc809e3e83c283a984c3a1459732ea7db1360ca80c5c2c8867408d28cc83" -X POST 'https://testnet.binancefuture.com/dapi/v1/order?symbol=BTCUSD_200925&side=BUY&type=LIMIT&quantity=1&price=9000&timeInForce=GTC&recvWindow=5000&timestamp=1591702613943&signature= 3c661234138461fcc7a7d8746c6558c9842d4e10870d2ecbedf7777cad694af9'

示例 2: 所有参数通过 request body 发送

示例2:

HMAC SHA256 签名:

    $ echo -n "symbol=BTCUSD_200925&side=BUY&type=LIMIT&quantity=1&price=9000&timeInForce=GTC&recvWindow=5000&timestamp=1591702613943" | openssl dgst -sha256 -hmac "2b5eb11e18796d12d88f13dc27dbbd02c2cc51ff7059765ed9821957d82bb4d9"
    (stdin)= 21fd819734bf0e5c68740eed892909414d693635c5f7fffab1313925ae13556a

curl 调用:

    (HMAC SHA256)
    $ curl -H "X-MBX-APIKEY: dbefbc809e3e83c283a984c3a1459732ea7db1360ca80c5c2c8867408d28cc83" -X POST 'https://testnet.binancefuture.com/dapi/v1/order' -d 'symbol=BTCUSD_200925&side=BUY&type=LIMIT&quantity=1&price=9000&timeInForce=GTC&recvWindow=5000&timestamp=1591702613943&signature= 21fd819734bf0e5c68740eed892909414d693635c5f7fffab1313925ae13556a'

示例 3: 混合使用 query string 与 request body

示例3:

HMAC SHA256 签名:

    $ echo -n "symbol=BTCUSD_200925&side=BUY&type=LIMIT&quantity=1&price=9000&timeInForce=GTC&recvWindow=5000&timestamp=1591702613943" | openssl dgst -sha256 -hmac "2b5eb11e18796d12d88f13dc27dbbd02c2cc51ff7059765ed9821957d82bb4d9"
    (stdin)= 21fd819734bf0e5c68740eed892909414d693635c5f7fffab1313925ae13556a

curl 调用:

    (HMAC SHA256)
    $ curl -H "X-MBX-APIKEY: dbefbc809e3e83c283a984c3a1459732ea7db1360ca80c5c2c8867408d28cc83" -X POST 'https://testnet.binancefuture.com/dapi/v1/order?symbol=BTCUSD_200925&side=BUY&type=LIMIT&timeInForce=GTC' -d 'quantity=1&price=9000&recvWindow=5000&timestamp=1591702613943&signature=21fd819734bf0e5c68740eed892909414d693635c5f7fffab1313925ae13556a'

请注意,示例3中的签名有些许不同,在"GTC"和"quantity=1"之间没有"&"字符。

公开API参数

术语解释

枚举定义

交易对类型:

合约类型 (contractType):

合约状态 (contractStatus):

订单状态 (status):

订单种类 (type):

订单方向 (side):

持仓方向 (positionSide):

有效方式 (timeInForce):

条件价格触发类型 (workingType)

响应类型 (newOrderRespType)

K线间隔:

m -> 分钟; h -> 小时; d -> 天; w -> 周; M -> 月

限制种类 (rateLimitType)

REQUEST_WEIGHT

  {
    "rateLimitType": "REQUEST_WEIGHT",
    "interval": "MINUTE",
    "intervalNum": 1,
    "limit": 6000
  }

ORDERS

  {
    "rateLimitType": "ORDERS",
    "interval": "MINUTE",
    "intervalNum": 1,
    "limit": 1200
   }

限制间隔

过滤器

过滤器,即Filter,定义了一系列交易规则。 共有两类,分别是针对交易对的过滤器symbol filters,和针对整个交易所的过滤器exchange filters(暂不支持)

交易对过滤器

PRICE_FILTER 价格过滤器

/exchangeInfo 响应中的格式:

  {
    "filterType": "PRICE_FILTER",
    "minPrice": "0.00000100",
    "maxPrice": "100000.00000000",
    "tickSize": "0.00000100"
  }

价格过滤器用于检测order订单中price参数的合法性

逻辑伪代码如下:

LOT_SIZE 订单尺寸

/exchangeInfo 响应中的格式:*

  {
    "filterType": "LOT_SIZE",
    "minQty": "0.00100000",
    "maxQty": "100000.00000000",
    "stepSize": "0.00100000"
  }

lots是拍卖术语,这个过滤器对订单中的quantity也就是数量参数进行合法性检查。包含三个部分:

逻辑伪代码如下:

MARKET_LOT_SIZE 市价订单尺寸

参考LOT_SIZE,区别仅在于对市价单还是限价单生效

MAX_NUM_ORDERS 最多订单数

/exchangeInfo 响应中的格式:

  {
    "filterType": "MAX_NUM_ORDERS",
    "limit": 25
  }

定义了某个交易对最多允许的挂单数量(不包括已关闭的订单)

普通订单与条件订单均计算在内

PERCENT_PRICE 价格振幅过滤器

/exchangeInfo 响应中的格式:

  {
    "filterType": "PERCENT_PRICE",
    "multiplierUp": "1.1500",
    "multiplierDown": "0.8500",
    "multiplierDecimal": 4
  }

PERCENT_PRICE 定义了基于标记价格计算的挂单价格的可接受区间.

挂单价格必须同时满足以下条件:

行情接口

测试服务器连通性 PING

GET /dapi/v1/ping

响应:

{}

测试能否联通

权重: 1

参数: NONE

获取服务器时间

响应:

{
  "serverTime": 1499827319559 // 当前的系统时间
}

GET /dapi/v1/time

获取服务器时间

权重: 1

参数: NONE

获取交易规则和交易对

响应:

{
    "exchangeFilters": [],
    "rateLimits": [ // API访问的限制
        {
            "interval": "MINUTE", // 按照分钟计算
            "intervalNum": 1, // 按照1分钟计算
            "limit": 2400, // 上限次数
            "rateLimitType": "REQUEST_WEIGHT" // 按照访问权重来计算
        },
        {
            "interval": "MINUTE",
            "intervalNum": 1,
            "limit": 1200,
            "rateLimitType": "ORDERS" // 按照订单数量来计算
        }
    ],
    "serverTime": 1565613908500, // 系统时间
    "symbols": [ // 交易对信息
        {
            "filters": [
                {
                    "filterType": "PRICE_FILTER", // 价格限制
                    "maxPrice": "100000", // 价格上限, 最大价格
                    "minPrice": "0.1", // 价格下限, 最小价格
                    "tickSize": "0.1" // 步进间隔
                },
                {
                    "filterType": "LOT_SIZE", // 数量限制
                    "maxQty": "100000", // 数量上限, 最大数量
                    "minQty": "1", // 数量下限, 最小数量
                    "stepSize": "1" // 允许的步进值
                },
                {
                    "filterType": "MARKET_LOT_SIZE", // 市价订单数量限制
                    "maxQty": "100000", // 数量上限, 最大数量
                    "minQty": "1", // 数量下限, 最小数量
                    "stepSize": "1" // 允许的步进值
                },
                {
                    "filterType": "MAX_NUM_ORDERS", // 最多挂单数限制
                    "limit": 200
                },
                {
                    "filterType": "PERCENT_PRICE", // 价格比限制
                    "multiplierUp": "1.0500", // 价格上限百分比
                    "multiplierDown": "0.9500", // 价格下限百分比
                    "multiplierDecimal": 4
                }
            ],
            "OrderType": [ // 订单类型
                "LIMIT",  // 限价单
                "MARKET",  // 市价单
                "STOP", // 止损单
                "TAKE_PROFIT", // 止盈单
                "TRAILING_STOP_MARKET" // 跟踪止损单
            ],
            "timeInForce": [ // 有效方式
                "GTC", // 成交为止, 一直有效
                "IOC", // 无法立即成交(吃单)的部分就撤销
                "FOK", // 无法全部立即成交就撤销
                "GTX" // 无法成为挂单方就撤销
            ],
            "symbol": "BTCUSD_200925", // 交易对
            "pair": "BTCUSD",   // 标的交易对
            "contractType": "CURRENT_QUARTER",   // 合约类型
            "deliveryDate": 1601020800000,
            "onboardDate": 1590739200000,
            "contractStatus": "TRADING", // 交易对状态
            "contractSize": 100,     //
            "quoteAsset": "USD", // 报价币种
            "baseAsset": "BTC",  // 标的物
            "marginAsset": "BTC",   // 保证金币种
            "pricePrecision": 1,   // 价格小数点位数
            "quantityPrecision": 0, // 数量小数点位数
            "baseAssetPrecision": 8,
            "quotePrecision": 8,
            "equalQtyPrecision": 4,     // 请忽略
            "triggerProtect": "0.0500", // 开启"priceProtect"的条件订单的触发阈值
            "maintMarginPercent": "2.5000", // 请忽略
            "requiredMarginPercent": "5.0000", // 请忽略
            "underlyingType": "COIN",  // 标的类型
            "underlyingSubType": []     // 标的物子类型
        }
    ],
    "timezone": "UTC" // 服务器所用的时间区域
}

GET /dapi/v1/exchangeInfo

获取交易规则和交易对

权重: 1

参数: NONE

深度信息

响应:

{
  "lastUpdateId": 16769853,
  "symbol": "BTCUSD_PERP", // 交易对
  "pair": "BTCUSD",      // 标的交易对
  "E": 1591250106370,   // 消息时间
  "T": 1591250106368,   // 撮合时间
  "bids": [              // 买单
    [
      "9638.0",         // 价格
      "431"             // 数量
    ]
  ],
  "asks": [             // 卖单
    [
      "9638.2",         // 价格
      "12"              // 数量
    ]
  ]
}

GET /dapi/v1/depth

权重:

limit 权重
5, 10, 20, 50 2
100 5
500 10
1000 20

参数:

名称 类型 是否必需 描述
symbol STRING YES 交易对
limit INT NO 默认 500; 可选值:[5, 10, 20, 50, 100, 500, 1000]

近期成交

响应:

[
  {
    "id": 28457,                // 成交ID
    "price": "9635.0",          // 成交价格
    "qty": "1",                 // 成交量
    "baseQty": "0.01037883",    // 成交额(标的数量)
    "time": 1591250192508,      // 时间
    "isBuyerMaker": true        // 买方是否为挂单方
  }
]

GET /dapi/v1/trades

获取近期成交

权重: 1

参数:

名称 类型 是否必需 描述
symbol STRING YES 交易对
limit INT NO 默认值:500 最大值:1000.

查询历史成交 (MARKET_DATA)

响应:

[
  {
    "id": 595103,               // 成交ID
    "price": "9642.2",          // 成交价格
    "qty": "1",                 // 成交量(张数)
    "baseQty": "0.01037108",    // 成交额(标的物数量)
    "time": 1499865549590,      // 时间
    "isBuyerMaker": true        // 买方是否为挂单方
  }
]

GET /dapi/v1/historicalTrades

权重: 20

参数:

名称 类型 是否必需 描述
symbol STRING YES 交易对
limit INT NO 默认值:500 最大值:1000.
fromId LONG NO 从哪一条成交id开始返回. 缺省返回最近的成交记录

近期成交(归集)

响应:

[
  {
    "a": 416690,            // 归集成交ID
    "p": "9642.4",          // 成交价
    "q": "3",               // 成交量
    "f": 595259,            // 被归集的首个成交ID
    "l": 595259,            // 被归集的末个成交ID
    "T": 1591250548649,     // 成交时间
    "m": true,              // 是否为主动卖出单
  }
]

GET /dapi/v1/aggTrades

归集交易与逐笔交易的区别在于,同一价格、同一方向、同一时间(按秒计算)的trade会被聚合为一条

权重: 20

参数:

名称 类型 是否必需 描述
symbol STRING YES 交易对
fromId LONG NO 从包含fromID的成交开始返回结果
startTime LONG NO 从该时刻之后的成交记录开始返回结果
endTime LONG NO 返回该时刻为止的成交记录
limit INT NO 默认 500; 最大 1000.

最新现货指数价格和Mark Price

响应:

[
    {
        "symbol": "BTCUSD_PERP",    // 交易对
        "pair": "BTCUSD",           // 基础标的
        "markPrice": "11029.69574559",  // 标记价格
        "indexPrice": "10979.14437500", // 指数价格
        "estimatedSettlePrice": "10981.74168236",  // 预估结算价,仅在交割开始前最后一小时有意义
        "lastFundingRate": "0.00071003",     // 最近更新的资金费率, 只对永续合约有效,其他合约返回""
        "interestRate": "0.00010000",       // 标的资产基础利率,只对永续合约有效,其他合约返回""
        "nextFundingTime": 1596096000000,    // 下次资金费时间,只对永续合约有效,其他合约返回0
        "time": 1596094042000   // 更新时间
    },
    {
        "symbol": "BTCUSD_200925",  
        "pair": "BTCUSD",
        "markPrice": "12077.01343750",
        "indexPrice": "10979.10312500",
        "estimatedSettlePrice": "10981.74168236",
        "lastFundingRate": "",
        "interestRate": "",
        "nextFundingTime": 0,
        "time": 1596094042000
    }
]

GET /dapi/v1/premiumIndex

权重: 1

参数:

名称 类型 是否必需 描述
symbol STRING NO 交易对
pair STRING NO 标的交易对

查询永续合约资金费率历史

响应:

[
    {
        "symbol": "BTCUSD_PERP",    // 交易对
        "fundingTime": 1596038400000,   // 资金费时间
        "fundingRate": "-0.00300000"    // 资金费率
    },
    {
        "symbol": "BTCUSD_PERP",
        "fundingTime": 1596067200000,
        "fundingRate": "-0.00300000"
    }
]

GET /dapi/v1/fundingRate

权重: 1

参数:

名称 类型 是否必需 描述
symbol STRING YES 交易对
startTime LONG NO 起始时间
endTime LONG NO 结束时间
limit INT NO 默认值:100 最大值:1000

K线数据

响应:

[
  [
    1591258320000,      // 开盘时间
    "9640.7",           // 开盘价
    "9642.4",           // 最高价
    "9640.6",           // 最低价
    "9642.0",           // 收盘价(当前K线未结束的即为最新价)
    "206",              // 成交量
    1591258379999,      // 收盘时间
    "2.13660389",       // 成交额(标的数量)
    48,                 // 成交笔数
    "119",              // 主动买入成交量
    "1.23424865",       // 主动买入成交额(标的数量)
    "0"                 // 请忽略该参数
  ]
]

GET /dapi/v1/klines 每根K线的开盘时间可视为唯一ID

权重: 取决于请求中的LIMIT参数

LIMIT参数 权重
[1,100) 1
[100, 500) 2
[500, 1000] 5
> 1000 10

参数:

名称 类型 是否必需 描述
symbol STRING YES 交易对
interval ENUM YES 时间间隔
startTime LONG NO 起始时间
endTime LONG NO 结束时间
limit INT NO 默认值:500 最大值:1500

连续合约K线数据

响应:

[
  [
    1591258320000,      // 开盘时间
    "9640.7",           // 开盘价
    "9642.4",           // 最高价
    "9640.6",           // 最低价
    "9642.0",           // 收盘价(当前K线未结束的即为最新价)
    "206",              // 成交量
    1591258379999,      // 收盘时间
    "2.13660389",       // 成交额(标的数量)
    48,                 // 成交笔数
    "119",              // 主动买入成交量
    "1.23424865",       // 主动买入成交额(标的数量)
    "0"                 // 请忽略该参数
  ]
]

GET /dapi/v1/continuousKlines 每根K线的开盘时间可视为唯一ID

权重: 取决于请求中的LIMIT参数

LIMIT参数 权重
[1,100) 1
[100, 500) 2
[500, 1000] 5
> 1000 10

参数:

名称 类型 是否必需 描述
pair STRING YES 标的交易对
contractType ENUM YES 合约类型
interval ENUM YES 时间间隔
startTime LONG NO 起始时间
endTime LONG NO 结束时间
limit INT NO 默认值:500 最大值:1500

价格指数K线数据

响应:

[
  [
    1591256400000,          // 开盘时间
    "9653.69440000",        // 开盘价
    "9653.69640000",        // 最高价
    "9651.38600000",        // 最低价
    "9651.55200000",        // 收盘价(当前K线未结束的即为最新价)
    "0  ",                  // 请忽略
    1591256459999,          // 收盘时间
    "0",                    // 请忽略
    60,                     // 构成记录数
    "0",                    // 请忽略
    "0",                    // 请忽略
    "0"                     // 请忽略
  ]
]

GET /dapi/v1/indexPriceKlines

每根K线的开盘时间可视为唯一ID

权重: 取决于请求中的LIMIT参数

LIMIT参数 权重
[1,100) 1
[100, 500) 2
[500, 1000] 5
> 1000 10

参数:

名称 类型 是否必需 描述
pair STRING YES 标的交易对
interval ENUM YES 时间间隔
startTime LONG NO 起始时间
endTime LONG NO 结束时间
limit INT NO 默认值:500 最大值:1500

标记价格K线数据

响应:

[
  [
    1591256400000,          // 开盘时间
    "9653.69440000",        // 开盘价
    "9653.69640000",        // 最高价
    "9651.38600000",        // 最低价
    "9651.55200000",        // 收盘价(当前K线未结束的即为最新价)
    "0  ",                  // 请忽略
    1591256459999,          // 收盘时间
    "0",                    // 请忽略
    60,                     // 构成记录数
    "0",                    // 请忽略
    "0",                    // 请忽略
    "0"                     // 请忽略
  ]
]

GET /dapi/v1/markPriceKlines 每根K线的开盘时间可视为唯一ID

权重: 取决于请求中的LIMIT参数

LIMIT参数 权重
[1,100) 1
[100, 500) 2
[500, 1000] 5
> 1000 10

参数:

名称 类型 是否必需 描述
symbol STRING YES 交易对
interval ENUM YES 时间间隔
startTime LONG NO 起始时间
endTime LONG NO 结束时间
limit INT NO 默认值:500 最大值:1500

24hr价格变动情况

响应:

[
    {
        "symbol": "BTCUSD_200925",
        "pair": "BTCUSD",
        "priceChange": "136.6",             //24小时价格变动
        "priceChangePercent": "1.436",  //24小时价格变动百分比
        "weightedAvgPrice": "9547.3",       //24小时加权平均价
        "lastPrice": "9651.6",              //最近一次成交价
        "lastQty": "1",                     //最近一次成交量
        "openPrice": "9515.0",              //24小时内第一次成交的价格
        "highPrice": "9687.0",              //24小时最高价
        "lowPrice": "9499.5",               //24小时最低价
        "volume": "494109",                 //24小时成交量
        "baseVolume": "5192.94797687",  //24小时成交额(标的数量)
        "openTime": 1591170300000,          //24小时内,第一笔交易的发生时间
        "closeTime": 1591256718418,     //24小时内,最后一笔交易的发生时间
        "firstId": 600507,                  // 首笔成交id
        "lastId": 697803,                   // 末笔成交id
        "count": 97297                      // 成交笔数     
    }
]

GET /dapi/v1/ticker/24hr

请注意,不携带symbol参数会返回全部交易对数据,不仅数据庞大,而且权重极高

权重:

参数:

名称 类型 是否必需 描述
symbol STRING NO 交易对
pair STRING NO 标的交易对

最新价格

响应:

[
    {
        "symbol": "BTCUSD_200626",  // 交易对
        "ps": "BTCUSD",             // 标的交易对
        "price": "9647.8",          // 价格
        "time": 1591257246176       // 时间
    }
]

GET /dapi/v1/ticker/price

返回最近价格

权重:

参数:

名称 类型 是否必需 描述
symbol STRING NO 交易对
pair STRING NO 标的交易对

当前最优挂单

响应:

[
    {
        "symbol": "BTCUSD_200626",  // 交易对
        "pair": "BTCUSD",           // 标的交易对
        "bidPrice": "9650.1",       //最优买单价
        "bidQty": "16",             //最优买单挂单量
        "askPrice": "9650.3",       //最优卖单价
        "askQty": "7",              //最优卖单挂单量
        "time": 1591257300345
    }
]

GET /dapi/v1/ticker/bookTicker

返回当前最优的挂单(最高买单,最低卖单)

权重: 单交易对1
多交易对2

参数:

名称 类型 是否必需 描述
symbol STRING NO 交易对
pair STRING NO 标的交易对

获取市场强平订单

响应:

[
    {
        "symbol": "BTCUSD_200925",     // 交易对
        "price": "9425.5",            // 订单价格
        "origQty": "1",                 // 订单数量
        "executedQty": "1",               // 成交量
        "avragePrice": "9496.5",         // 成交均价
        "status": "FILLED",            // 订单状态
        "timeInForce": "IOC",          // 有效方式
        "type": "LIMIT",                // 订单类型
        "side": "SELL",                 // 订单方向
        "time": 1591154240949
    },
]

GET /dapi/v1/allForceOrders

权重: 20

参数:

名称 类型 是否必需 描述
symbol STRING NO 交易对
pair STRING NO 标的交易对
startTime LONG NO 起始时间
endTime LONG NO 结束时间
limit LONG NO 默认值:100 最大值:1000

获取未平仓合约数

响应:

{
    "symbol": "BTCUSD_200626",
    "pair": "BTCUSD",
    "openInterest": "15004",
    "contractType": "CURRENT_QUARTER",
    "time": 1591261042378
}

GET /dapi/v1/openInterest

权重: 1

参数:

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

Websocket 行情推送

实时订阅/取消数据流

订阅一个信息流

响应

  {
    "result": null,
    "id": 1
  }

取消订阅一个信息流

响应

  {
    "result": null,
    "id": 312
  }

{
"method": "UNSUBSCRIBE",
"params":
[
"btcusd_200925@depth"
],
"id": 312
}

已订阅信息流

响应

  {
    "result": [
      "btcusd_200925@aggTrade"
    ],
    "id": 3
  }

{
"method": "LIST_SUBSCRIPTIONS",
"id": 3
}

设定属性

当前,唯一可以设置的属性是设置是否启用combined("组合")信息流。
当使用/ws/("原始信息流")进行连接时,combined属性设置为false,而使用 /stream/进行连接时则将属性设置为true

响应

  {
    "result": null
    "id": 5
  }

{
"method": "SET_PROPERTY",
"params":
[
"combined",
true
],
"id": 5
}

检索属性

响应

  {
    "result": true, // Indicates that combined is set to true.
    "id": 2
  }

{
"method": "GET_PROPERTY",
"params":
[
"combined"
],
"id": 2
}

最新合约价格

aggTrade中的价格'p'或ticker/miniTicker中的价格'c'均可以作为最新成交价。

归集交易

Payload:

{
  "e":"aggTrade",       // 事件类型
  "E":1591261134288,    // 事件时间
  "a":424951,               // 归集成交ID
  "s":"BTCUSD_200626",  // 交易对
  "p":"9643.5",         // 成交价格
  "q":"2",              // 成交量
  "f":606073,               // 被归集的首个交易ID
  "l":606073,               // 被归集的末次交易ID
  "T":1591261134199,    // 成交时间
  "m":false             / 买方是否是做市方。如true,则此次成交是一个主动卖出单,否则是一个主动买入单。
}

同一价格、同一方向、同一时间(100ms计算)的trade会被聚合为一条.推送间隔100毫秒。

Stream Name:
<symbol>@aggTrade

Update Speed: 100ms

最新现货指数价格

Payload:

  {
    "e": "indexPriceUpdate",  // 事件类型
    "E": 1591261236000,       // 事件时间
    "i": "BTCUSD",            // 标的交易对
    "p": "9636.57860000",       // 指数价格
  }

Stream Name:
<pair>@indexPrice<pair>@indexPrice@1s

Update Speed: 3000ms 或 1000ms

最新MarkPrice

Payload:

{
    "e":"markPriceUpdate",  // 事件类型
    "E":1596095725000,      // 事件时间
    "s":"BTCUSD_201225",    // 交易对
    "p":"10934.62615417",   // 标记价格
    "P":"10962.17178236",   // 预估结算价,仅在结算前最后一小时有参考价值
    "r":"",                 // 资金费率,对非永续合约显示""
    "T":0                       // 下个资金时间,对非永续合约显示0
},

Stream Name:
<symbol>@markPrice<symbol>@markPrice@1s

Update Speed: 3000ms 或 1000ms

pair所有symbol最新MarkPrice

Payload:

[ 
  {
    "e":"markPriceUpdate",  // 事件类型
    "E":1596095725000,      // 事件时间
    "s":"BTCUSD_201225",    // 交易对
    "p":"10934.62615417",   // 标记价格
    "P":"10962.17178236",   // 预估结算价,仅在结算前最后一小时有参考价值
    "r":"",                 // 资金费率,对非永续合约显示""
    "T":0                       // 下个资金时间,对非永续合约显示0
  },
  {
    "e":"markPriceUpdate",
    "E":1596095725000,
    "s":"BTCUSD_PERP",
    "p":"11012.31359011",
    "P":"10962.17178236",
    "r":"0.00000000",
    "T":1596096000000
  }
]

Stream Name:
<pair>@markPrice<pair>@markPrice@1s

Update Speed: 3000ms 或 1000ms

K线

Payload:

{
  "e":"kline",              // 事件类型
  "E":1591261542539,        // 事件时间
  "s":"BTCUSD_200626",      // 交易对
  "k":{
    "t":1591261500000,      // 这根K线的起始时间
    "T":1591261559999,      // 这根K线的结束时间
    "s":"BTCUSD_200626",    // 交易对
    "i":"1m",               // K线间隔
    "f":606400,             // 这根K线期间第一笔成交ID
    "L":606430,             // 这根K线期间末一笔成交ID
    "o":"9638.9",           // 这根K线期间第一笔成交价
    "c":"9639.8",           // 这根K线期间末一笔成交价
    "h":"9639.8",           // 这根K线期间最高成交价
    "l":"9638.6",           // 这根K线期间最低成交价
    "v":"156",              // 这根K线期间成交量
    "n":31,                 // 这根K线期间成交笔数
    "x":false,              // 这根K线是否完结(是否已经开始下一根K线)
    "q":"1.61836886",       // 这根K线期间成交额(标的数量)
    "V":"73",               // 主动买入的成交量
    "Q":"0.75731156",       // 主动买入的成交额(标的数量)
    "B":"0"                 // 忽略此参数
  }
}

K线stream逐秒推送所请求的K线种类(最新一根K线)的更新。

订阅Kline需要提供间隔参数,最短为分钟线,最长为月线。支持以下间隔:

m -> 分钟; h -> 小时; d -> 天; w -> 周; M -> 月

Stream Name:
<symbol>@kline_<interval>

例如: btcusd_200626@kline_1m

Update Speed: 250ms

连续合约K线

Payload:

{
  "e":"continuous_kline",   // 事件类型
  "E":1591261542539,        // 事件时间
  "ps":"BTCUSD",            // 标的交易对
  "ct":"NEXT_QUARTER",      // 合约类型 
  "k":{
    "t":1591261500000,      // 这根K线的起始时间
    "T":1591261559999,      // 这根K线的结束时间
    "i":"1m",               // K线间隔
    "f":606400,             // 这根K线期间第一笔成交ID
    "L":606430,             // 这根K线期间末一笔成交ID
    "o":"9638.9",           // 这根K线期间第一笔成交价
    "c":"9639.8",           // 这根K线期间末一笔成交价
    "h":"9639.8",           // 这根K线期间最高成交价
    "l":"9638.6",           // 这根K线期间最低成交价
    "v":"156",              // 这根K线期间成交量
    "n":31,                 // 这根K线期间成交笔数
    "x":false,              // 这根K线是否完结(是否已经开始下一根K线)
    "q":"1.61836886",       // 这根K线期间成交额(标的数量)
    "V":"73",               // 主动买入的成交量
    "Q":"0.75731156",       // 主动买入的成交额(标的数量)
    "B":"0"                 // 忽略此参数
  }
}

K线stream逐秒推送所请求的K线种类(最新一根K线)的更新。

合约类型: * PERPETUAL 永续合约 * CURRENT_QUARTER 当季交割合约 * NEXT_QUARTER 次季交割合约

订阅Kline需要提供间隔参数,最短为分钟线,最长为月线。支持以下间隔:

m -> 分钟; h -> 小时; d -> 天; w -> 周; M -> 月

Stream Name:
<pair>_<contractType>@continuousKline_<interval>

例如: "btcusd_next_quarter@continuousKline_1m"

Update Speed: 250ms

价格指数K线

Payload:

{
  "e":"indexPrice_kline",       // 事件类型
  "E":1591267070033,            // 事件时间
  "ps":"BTCUSD",                // 标的交易对
  "k":{
    "t":1591267020000,          // 这根K线的起始时间
    "T":1591267079999,          // 这根K线的结束时间
    "s":"0",                    // 无意义字段
    "i":"1m",                   // K线间隔
    "f":1591267020000,          // 无意义字段
    "L":1591267070000,          // 无意义字段
    "o":"9542.21900000",        // 这根K线期间第一笔成交价
    "c":"9542.50440000",        // 这根K线期间末一笔成交价
    "h":"9542.71640000",        // 这根K线期间最高成交价
    "l":"9542.21040000",        // 这根K线期间最低成交价
    "v":"0",                    // 无意义字段
    "n":51,                     // 这根K线更新期间数据数量
    "x":false,                  // 这根K线是否完结(是否已经开始下一根K线)
    "q":"0",                    // 无意义字段
    "V":"0",                    // 无意义字段
    "Q":"0",                    // 无意义字段
    "B":"0"                     // 无意义字段
  }
}

K线stream逐秒推送所请求的K线种类(最新一根K线)的更新。

订阅Kline需要提供间隔参数,最短为分钟线,最长为月线。支持以下间隔:

m -> 分钟; h -> 小时; d -> 天; w -> 周; M -> 月

Stream Name:
<pair>@indexPriceKline_<interval>

例如: btcusd@indexPriceKline_1m

Update Speed: 250ms

标记价格K线

Payload:

{
  "e":"markPrice_kline",        // 事件类型
  "E":1591267398004,            // 事件时间
  "ps":"BTCUSD",                // 标的交易对
  "k":{
    "t":1591267380000,          // 这根K线的起始时间
    "T":1591267439999,          // 这根K线的结束时间
    "s":"BTCUSD_200626",        // 交易对
    "i":"1m",                   // K线间隔
    "f":1591267380000,          // 无意义字段
    "L":1591267398000,          // 无意义字段
    "o":"9539.67161333",        // 这根K线期间第一笔成交价
    "c":"9540.82761333",        // 这根K线期间末一笔成交价
    "h":"9540.82761333",        // 这根K线期间最高成交价
    "l":"9539.66961333",        // 这根K线期间最低成交价
    "v":"0",                    // 无意义字段
    "n":19,                     // 这根K线更新期间数据数量
    "x":false,                  // 这根K线是否完结(是否已经开始下一根K线)
    "q":"0",                    // 无意义字段
    "V":"0",                    // 无意义字段
    "Q":"0",                    // 无意义字段
    "B":"0"                     // 无意义字段
  }
}

K线stream逐秒推送所请求的K线种类(最新一根K线)的更新。

订阅Kline需要提供间隔参数,最短为分钟线,最长为月线。支持以下间隔:

m -> 分钟; h -> 小时; d -> 天; w -> 周; M -> 月

Stream Name:
<symbol>@markPriceKline_<interval>

例如: btcusd_200626@markPriceKline_1m

Update Speed: 250ms

按Symbol的精简Ticker

Payload:

{
  "e":"24hrMiniTicker",         // 事件类型
  "E":1591267704450,            // 事件时间
  "s":"BTCUSD_200626",          // 交易对
  "ps":"BTCUSD",                // 标的交易对
  "c":"9561.7",                 // 最新成交价格
  "o":"9580.9",                 // 24小时前开始第一笔成交价格
  "h":"10000.0",                // 24小时内最高成交价
  "l":"7000.0",                 // 24小时内最低成交价
  "v":"487476",                 // 24小时成交量
  "q":"33264343847.22378500"    // 24小时成交额(标的数量
}

按Symbol刷新的24小时精简ticker信息.

Stream Name:
`<symbol>@miniTicker

Update Speed: 500ms

全市场的精简Ticker

Payload:

[  
    {
      "e":"24hrMiniTicker",         // 事件类型
      "E":1591267704450,            // 事件时间
      "s":"BTCUSD_200626",          // 交易对
      "ps":"BTCUSD",                // 标的交易对
      "c":"9561.7",                 // 最新成交价格
      "o":"9580.9",                 // 24小时前开始第一笔成交价格
      "h":"10000.0",                // 24小时内最高成交价
      "l":"7000.0",                 // 24小时内最低成交价
      "v":"487476",                 // 24小时成交量
      "q":"33264343847.22378500"    // 24小时成交额(标的数量
    }
]

所有symbol24小时精简ticker信息.需要注意的是,只有发生变化的ticker更新才会被推送。

Stream Name:
!miniTicker@arr

Update Speed: 1000ms

按Symbol的完整Ticker

Payload:

{
  "e":"24hrTicker",             // 事件类型
  "E":1591268262453,            // 事件时间
  "s":"BTCUSD_200626",          // 交易对
  "ps":"BTCUSD",                // 标的交易对
  "p":"-43.4",                  // 24小时价格变化
  "P":"-0.452",                 // 24小时价格变化(百分比)
  "w":"0.00147974",             // 24小时平均价格
  "c":"9548.5",                 // 最新成交价格
  "Q":"2",                      // 最新成交价格上的成交量
  "o":"9591.9",                 // 24小时前第一笔成交价格
  "h":"10000.0",                // 24小时内最高成交价
  "l":"7000.0",                 // 24小时内最低成交价
  "v":"487850",                 // 24小时成交量
  "q":"32968676323.46222700",   // 24小时成交额(标的数量)
  "O":1591181820000,            // 统计开始时间
  "C":1591268262442,            // 统计关闭时间
  "F":512014,                   // 24小时内第一笔成交交易ID
  "L":615289,                   // 24小时内最后一笔成交交易ID
  "n":103272                    // 24小时内成交数
}

按Symbol刷新的24小时完整ticker信息.

Stream Name:
<symbol>@ticker

Update Speed: 500ms

全市场的完整Ticker

Payload:

[
    {
      "e":"24hrTicker",             // 事件类型
      "E":1591268262453,            // 事件时间
      "s":"BTCUSD_200626",          // 交易对
      "ps":"BTCUSD",                // 标的交易对
      "p":"-43.4",                  // 24小时价格变化
      "P":"-0.452",                 // 24小时价格变化(百分比)
      "w":"0.00147974",             // 24小时平均价格
      "c":"9548.5",                 // 最新成交价格
      "Q":"2",                      // 最新成交价格上的成交量
      "o":"9591.9",                 // 24小时前第一笔成交价格
      "h":"10000.0",                // 24小时内最高成交价
      "l":"7000.0",                 // 24小时内最低成交价
      "v":"487850",                 // 24小时成交量
      "q":"32968676323.46222700",   // 24小时成交额(标的数量)
      "O":1591181820000,            // 统计开始时间
      "C":1591268262442,            // 统计关闭时间
      "F":512014,                   // 24小时内第一笔成交交易ID
      "L":615289,                   // 24小时内最后一笔成交交易ID
      "n":103272                    // 24小时内成交数
    }
]   

所有symbol 24小时完整ticker信息.需要注意的是,只有发生变化的ticker更新才会被推送。

Stream 名称:
!ticker@arr

Update Speed: 1000ms

按Symbol的最优挂单信息

Payload:

{
  "e":"bookTicker",         // 事件类型
  "u":17242169,             // 更新ID
  "s":"BTCUSD_200626",      // 交易对
  "ps":"BTCUSD",                 // 标的交易对
  "b":"9548.1",             // 买单最优挂单价格
  "B":"52",                 // 买单最优挂单数量
  "a":"9548.5",             // 卖单最优挂单价格
  "A":"11",                 // 卖单最优挂单数量
  "T":1591268628155,        // 撮合时间
  "E":1591268628166         // 事件时间
}

实时推送指定交易对最优挂单信息

Stream Name: <symbol>@bookTicker

Update Speed: 实时

全市场最优挂单信息

Payload:

{
  // Same as <symbol>@bookTicker payload
}

实时推送所有交易对交易对最优挂单信息

Stream Name: !bookTicker

Update Speed: 实时

强平订单

Payload:

{

    "e":"forceOrder",                    // 事件类型
    "E": 1591154240950,                 // 事件时间
    "o":{

        "s":"BTCUSD_200925",           // 交易对
        "ps": "BTCUSD",                 // 标的交易对
        "S":"SELL",                     // 订单方向
        "o":"LIMIT",                    // 订单类型
        "f":"IOC",                      // 有效方式
        "q":"1",                        // 订单数量
        "p":"9425.5",                   // 订单价格
        "ap":"9496.5",                  // 平均价格
        "X":"FILLED",                   // 订单状态
        "l":"1",                        // 订单最近成交量
        "z":"1",                        // 订单累计成交量
        "T": 1591154240949,             // 交易时间

    }
}

推送特定symbol的强平订单信息

Stream Name:  <symbol>@forceOrder

Update Speed: 实时

全市场强平订单

Payload:

{

    "e":"forceOrder",                    // 事件类型
    "E": 1591154240950,                 // 事件时间
    "o":{

        "s":"BTCUSD_200925",           // 交易对
        "ps": "BTCUSD",                 // 标的交易对
        "S":"SELL",                     // 订单方向
        "o":"LIMIT",                    // 订单类型
        "f":"IOC",                      // 有效方式
        "q":"1",                        // 订单数量
        "p":"9425.5",                   // 订单价格
        "ap":"9496.5",                  // 平均价格
        "X":"FILLED",                   // 订单状态
        "l":"1",                        // 订单最近成交量
        "z":"1",                        // 订单累计成交量
        "T": 1591154240949,             // 交易时间

    }
}

推送全市场强平订单信息

Stream Name: !forceOrder@arr

Update Speed: 实时

有限档深度信息

Payload:

{
  "e":"depthUpdate",        // 事件类型
  "E":1591269996801,        // 事件时间
  "T":1591269996646,        // 撮合时间
  "s":"BTCUSD_200626",      // 交易对
  "ps":"BTCUSD",            // 标的交易对
  "U":17276694,
  "u":17276701,
  "pu":17276678,
  "b":[                     // 买方
    [
      "9523.0",             // 价格
      "5"                   // 数量
    ],
    [
      "9522.8",
      "8"
    ],
    [
      "9522.6",
      "2"
    ],
    [
      "9522.4",
      "1"
    ],
    [
      "9522.0",
      "5"
    ]
  ],
  "a":[                     // 卖方
    [
      "9524.6",             // 价格
      "2"                   // 数量
    ],
    [
      "9524.7",
      "3"
    ],
    [
      "9524.9",
      "16"
    ],
    [
      "9525.1",
      "10"
    ],
    [
      "9525.3",
      "6"
    ]
  ]
}

推送有限档深度信息。levels表示几档买卖单信息, 可选 5/10/20档

Stream Names: <symbol>@depth<levels><symbol>@depth<levels>@500ms<symbol>@depth<levels>@100ms.

Update Speed: 250ms 或 500ms 或 100ms

增量深度信息stream

Payload:

{
  "e": "depthUpdate",           // 事件类型
  "E": 1591270260907,           // 事件时间
  "T": 1591270260891,           // 撮合时间
  "s": "BTCUSD_200626",         // 交易对
  "ps": "BTCUSD",               // 标的交易对
  "U": 17285681,                // 从上次推送至今新增的第一个 update Id
  "u": 17285702,                // 从上次推送至今新增的最后一个 update Id
  "pu": 17285675,               // 上次推送的最后一个update Id(即上条消息的‘u’)
  "b": [                        // 变动的买单深度
    [
      "9517.6",                 // 价格
      "10"                      // 数量
    ]
  ],
  "a": [                        // 变动的卖单深度
    [
      "9518.5",                 // 价格
      "45"                      // 数量
    ]
  ]
}

orderbook的变化部分,推送间隔250毫秒,500毫秒,100毫秒(如有刷新)

Stream 名称:
<symbol>@depth OR <symbol>@depth@500ms OR <symbol>@depth@100ms

Update Speed: 250ms 或 500ms 或 100ms

如何正确在本地维护一个orderbook副本

  1. 订阅 wss://dstream.binancefuture.com/stream?streams=btcusd_200925@depth
  2. 开始缓存收到的更新。同一个价位,后收到的更新覆盖前面的。
  3. 访问Rest接口 https://testnet.binancefuture.com/dapi/v1/depth?symbol=BTCUSD_200925&limit=1000获得一个1000档的深度快照
  4. 将目前缓存到的信息中u< 步骤3中获取到的快照中的lastUpdateId的部分丢弃(丢弃更早的信息,已经过期)。
  5. 将深度快照中的内容更新到本地orderbook副本中,并从websocket接收到的第一个U <= lastUpdateId u >= lastUpdateId 的event开始继续更新本地副本。
  6. 每一个新event的pu应该等于上一个event的u,否则可能出现了丢包,请从step3重新进行初始化。
  7. 每一个event中的挂单量代表这个价格目前的挂单量绝对值,而不是相对变化。
  8. 如果某个价格对应的挂单量为0,表示该价位的挂单已经撤单或者被吃,应该移除这个价位。

账户和交易接口

更改持仓模式(TRADE)

响应:

{
    "code": 200,
    "msg": "success"
}

POST /dapi/v1/positionSide/dual (HMAC SHA256)

变换用户在 所有symbol 合约上的持仓模式:双向持仓或单向持仓。

权重: 1

参数:

名称 类型 是否必需 描述
dualSidePosition STRING YES "true": 双向持仓模式;"false": 单向持仓模式
recvWindow LONG NO
timestamp LONG YES

查询持仓模式(USER_DATA)

响应:

{
    "dualSidePosition": true // "true": 双向持仓模式;"false": 单向持仓模式
}

GET /dapi/v1/positionSide/dual (HMAC SHA256)

查询用户目前在 所有symbol 合约上的持仓模式:双向持仓或单向持仓。

权重: 30

参数:

名称 类型 是否必需 描述
recvWindow LONG NO
timestamp LONG YES

下单 (TRADE)

响应:

{
    "clientOrderId": "testOrder", // 用户自定义的订单号
    "cumQty": "0",
    "cumBase": "0", // 成交额(标的数量)
    "executedQty": "0", // 成交量(张数)
    "orderId": 22542179, // 系统订单号
    "avgPrice": "0.0",      // 平均成交价
    "origQty": "10", // 原始委托数量
    "price": "0", // 委托价格
    "reduceOnly": false, // 仅减仓
    "closePosition": false,   // 是否条件全平仓
    "side": "SELL", // 买卖方向
    "positionSide": "SHORT", // 持仓方向
    "status": "NEW", // 订单状态
    "stopPrice": "0", // 触发价,对`TRAILING_STOP_MARKET`无效
    "symbol": "BTCUSD_200925", // 交易对
    "pair": "BTCUSD",   // 标的交易对
    "timeInForce": "GTC", // 有效方法
    "type": "TRAILING_STOP_MARKET", // 订单类型
    "origType": "TRAILING_STOP_MARKET",  // 触发前订单类型
    "activatePrice": "9020", // 跟踪止损激活价格, 仅`TRAILING_STOP_MARKET` 订单返回此字段
    "priceRate": "0.3", // 跟踪止损回调比例, 仅`TRAILING_STOP_MARKET` 订单返回此字段
    "updateTime": 1566818724722, // 更新时间
    "workingType": "CONTRACT_PRICE", // 条件价格触发类型
    "priceProtect": false            // 是否开启条件单触发保护
 }

POST /dapi/v1/order (HMAC SHA256)

权重: 1

参数:

名称 类型 是否必需 描述
symbol STRING YES 交易对
side ENUM YES 买卖方向 SELL, BUY
positionSide ENUM NO 持仓方向,单向持仓模式下非必填,默认且仅可填BOTH;在双向持仓模式下必填,且仅可选择 LONGSHORT
type ENUM YES 订单类型 LIMIT, MARKET, STOP, TAKE_PROFIT, STOP_MARKET, TAKE_PROFIT_MARKET, TRAILING_STOP_MARKET
reduceOnly STRING NO true, false; 非双开模式下默认false;双开模式下不接受此参数; 使用closePosition不支持此参数。
quantity DECIMAL NO 下单数量,使用closePosition不支持此参数。
price DECIMAL NO 委托价格
newClientOrderId STRING NO 用户自定义的订单号,不可以重复出现在挂单中。如空缺系统会自动赋值
stopPrice DECIMAL NO 触发价, 仅 STOP, STOP_MARKET, TAKE_PROFIT, TAKE_PROFIT_MARKET 需要此参数
closePosition STRING NO true, false;触发后全部平仓,仅支持STOP_MARKETTAKE_PROFIT_MARKET;不与quantity合用;自带只平仓效果,不与reduceOnly 合用
activationPrice DECIMAL NO 追踪止损激活价格,仅TRAILING_STOP_MARKET 需要此参数, 默认为下单当前市场价格(支持不同workingType)
callbackRate DECIMAL NO 追踪止损回调比例,可取值范围[0.1, 4],其中 1代表1% ,仅TRAILING_STOP_MARKET 需要此参数
timeInForce ENUM 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 需要此参数
newOrderRespType ENUM NO "ACK", "RESULT", 默认 "ACK"
recvWindow LONG NO
timestamp LONG YES

根据 order type的不同,某些参数强制要求,具体如下:

Type 强制要求的参数
LIMIT timeInForce, quantity, price
MARKET quantity
STOP, TAKE_PROFIT quantity, price, stopPrice
STOP_MARKET, TAKE_PROFIT_MARKET stopPrice
TRAILING_STOP_MARKET callbackRate

测试下单接口 (TRADE)

响应:

{}

POST /dapi/v1/order/test (HMAC SHA256)

用于测试订单请求,但不会提交到撮合引擎

权重: 1

参数:

参考 POST /dapi/v1/order

批量下单 (TRADE)

响应:

[
    {
        "clientOrderId": "testOrder", // 用户自定义的订单号
        "cumQty": "0",
        "cumBase": "0", // 成交金额(标的数量)
        "executedQty": "0", // 成交量(张数)
        "orderId": 22542179, // 系统订单号
        "avgPrice": "0.0",  // 平均成交价
        "origQty": "10", // 原始委托数量
        "price": "0", // 委托价格
        "reduceOnly": false, // 仅减仓
        "side": "SELL", // 买卖方向
        "positionSide": "SHORT", // 持仓方向
        "status": "NEW", // 订单状态
        "stopPrice": "0", // 触发价,对`TRAILING_STOP_MARKET`无效
        "closePosition": false,   // 是否条件全平仓
        "symbol": "BTCUSD_200925", // 交易对
        "pair": "BTCUSD",   // 标的交易对
        "timeInForce": "GTC", // 有效方法
        "type": "TRAILING_STOP_MARKET", // 订单类型
        "origType": "TRAILING_STOP_MARKET",  // 触发前订单类型
        "activatePrice": "9020", // 跟踪止损激活价格, 仅`TRAILING_STOP_MARKET` 订单返回此字段
        "priceRate": "0.3", // 跟踪止损回调比例, 仅`TRAILING_STOP_MARKET` 订单返回此字段
        "updateTime": 1566818724722, // 更新时间
        "workingType": "CONTRACT_PRICE", // 条件价格触发类型
        "priceProtect": false            // 是否开启条件单触发保护
    },
    {
        "code": -2022, 
        "msg": "ReduceOnly Order is rejected."
    }
]

POST /dapi/v1/batchOrders (HMAC SHA256)

权重: 5

参数:

名称 类型 是否必需 描述
batchOrders list YES 订单列表,最多支持5个订单
recvWindow LONG NO
timestamp LONG YES

其中batchOrders应以list of JSON格式填写订单参数

名称 类型 是否必需 描述
symbol STRING YES 交易对
side ENUM YES 买卖方向 SELL, BUY
positionSide ENUM NO 持仓方向,单向持仓模式下非必填,默认且仅可填BOTH;在双向持仓模式下必填,且仅可选择 LONGSHORT
type ENUM YES 订单类型 LIMIT, MARKET, STOP, TAKE_PROFIT, STOP_MARKET, TAKE_PROFIT_MARKET, TRAILING_STOP_MARKET
reduceOnly STRING NO true, false; 非双开模式下默认false;双开模式下不接受此参数。
quantity DECIMAL YES 下单数量
price DECIMAL NO 委托价格
newClientOrderId STRING NO 用户自定义的订单号,不可以重复出现在挂单中。如空缺系统会自动赋值
stopPrice DECIMAL NO 触发价, 仅 STOP, STOP_MARKET, TAKE_PROFIT, TAKE_PROFIT_MARKET 需要此参数
activationPrice DECIMAL NO 追踪止损激活价格,仅TRAILING_STOP_MARKET 需要此参数, 默认为下单当前市场价格(支持不同workingType)
callbackRate DECIMAL NO 追踪止损回调比例,可取值范围[0.1, 4],其中 1代表1% ,仅TRAILING_STOP_MARKET 需要此参数
timeInForce ENUM 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 需要此参数
newOrderRespType ENUM NO "ACK", "RESULT", 默认 "ACK"

查询订单 (USER_DATA)

响应:

{
    "avgPrice": "0.0",              // 平均成交价
    "clientOrderId": "abc",             // 用户自定义的订单号
    "cumBase": "0",                         // 成交金额(标的数量)
    "executedQty": "0",                 // 成交量(张数)
    "orderId": 1573346959,              // 系统订单号
    "origQty": "0.40",                  // 原始委托数量
    "origType": "TRAILING_STOP_MARKET", // 触发前订单类型
    "price": "0",                       // 委托价格
    "reduceOnly": false,                // 是否仅减仓
    "side": "BUY",                      // 买卖方向
    "positionSide": "SHORT",            // 持仓方向
    "status": "NEW",                    // 订单状态
    "stopPrice": "9300",                    // 触发价,对`TRAILING_STOP_MARKET`无效
    "closePosition": false,   // 是否条件全平仓
    "symbol": "BTCUSD_200925",              // 交易对
    "pair": "BTCUSD",   // 标的交易对
    "time": 1579276756075,              // 订单时间
    "timeInForce": "GTC",               // 有效方法
    "type": "TRAILING_STOP_MARKET",     // 订单类型
    "activatePrice": "9020",            // 跟踪止损激活价格, 仅`TRAILING_STOP_MARKET` 订单返回此字段
    "priceRate": "0.3",                 // 跟踪止损回调比例, 仅`TRAILING_STOP_MARKET` 订单返回此字段
    "updateTime": 1579276756075,        // 更新时间
    "workingType": "CONTRACT_PRICE",        // 条件价格触发类型
    "priceProtect": false            // 是否开启条件单触发保护
}

GET /dapi/v1/order (HMAC SHA256)

查询订单状态

权重: 1

参数:

名称 类型 是否必需 描述
symbol STRING YES 交易对
orderId LONG NO 系统订单号
origClientOrderId STRING NO 用户自定义的订单号
recvWindow LONG NO
timestamp LONG YES

注意:

撤销订单 (TRADE)

响应:

{
    "avgPrice": "0.0",              // 平均成交价
    "clientOrderId": "myOrder1", // 用户自定义的订单号
    "cumQty": "0",
    "cumBase": "0", // 成交金额(标的数量)
    "executedQty": "0", // 成交量(张数)
    "orderId": 283194212, // 系统订单号
    "origQty": "11", // 原始委托数量
    "price": "0", // 委托价格
    "reduceOnly": false, // 仅减仓
    "side": "BUY", // 买卖方向
    "positionSide": "SHORT", // 持仓方向
    "status": "CANCELED", // 订单状态
    "stopPrice": "9300", // 触发价,对`TRAILING_STOP_MARKET`无效
    "closePosition": false,   // 是否条件全平仓
    "symbol": "BTCUSD_200925", // 交易对
    "pair": "BTCUSD",   // 标的交易对
    "timeInForce": "GTC", // 有效方法
    "origType": "TRAILING_STOP_MARKET", // 触发前订单类型
    "type": "TRAILING_STOP_MARKET", // 订单类型
    "activatePrice": "9020", // 跟踪止损激活价格, 仅`TRAILING_STOP_MARKET` 订单返回此字段
    "priceRate": "0.3", // 跟踪止损回调比例, 仅`TRAILING_STOP_MARKET` 订单返回此字段
    "updateTime": 1571110484038, // 更新时间
    "workingType": "CONTRACT_PRICE", // 条件价格触发类型
    "priceProtect": false            // 是否开启条件单触发保护
}

DELETE /dapi/v1/order (HMAC SHA256)

权重: 1

Parameters:

名称 类型 是否必需 描述
symbol STRING YES 交易对
orderId LONG NO 系统订单号
origClientOrderId STRING NO 用户自定义的订单号
recvWindow LONG NO
timestamp LONG YES

orderIdorigClientOrderId 必须至少发送一个

撤销全部订单 (TRADE)

响应:

{
    "code": "200", 
    "msg": "The operation of cancel all open order is done."
}

DELETE /dapi/v1/allOpenOrders (HMAC SHA256)

权重: 1

Parameters:

名称 类型 是否必需 描述
symbol STRING YES 交易对
recvWindow LONG NO
timestamp LONG YES

批量撤销订单 (TRADE)

响应:

[
    {
        "avgPrice": "0.0",              // 平均成交价
        "clientOrderId": "myOrder1", // 用户自定义的订单号
        "cumQty": "0",
        "cumBase": "0", // 成交金额(标的数量)
        "executedQty": "0", // 成交量(张数)
        "orderId": 283194212, // 系统订单号
        "origQty": "11", // 原始委托数量
        "price": "0", // 委托价格
        "reduceOnly": false, // 仅减仓
        "side": "BUY", // 买卖方向
        "positionSide": "SHORT", // 持仓方向
        "status": "CANCELED", // 订单状态
        "stopPrice": "9300", // 触发价,对`TRAILING_STOP_MARKET`无效
        "closePosition": false,   // 是否条件全平仓
        "symbol": "BTCUSD_200925", // 交易对
        "pair": "BTCUSD",   // 标的交易对
        "timeInForce": "GTC", // 有效方法
        "origType": "TRAILING_STOP_MARKET", // 触发前订单类型
        "type": "TRAILING_STOP_MARKET", // 订单类型
        "activatePrice": "9020", // 跟踪止损激活价格, 仅`TRAILING_STOP_MARKET` 订单返回此字段
        "priceRate": "0.3", // 跟踪止损回调比例, 仅`TRAILING_STOP_MARKET` 订单返回此字段
        "workingType": "CONTRACT_PRICE", // 条件价格触发类型
        "priceProtect": false,            // 是否开启条件单触发保护
        "updateTime": 1571110484038 // 更新时间
    },
    {
        "code": -2011,
        "msg": "Unknown order sent."
    }
]

DELETE /dapi/v1/batchOrders (HMAC SHA256)

权重: 1

Parameters:

名称 类型 是否必需 描述
symbol STRING YES 交易对
orderIdList LIST<LONG> NO 系统订单号, 最多支持10个订单
比如[1234567,2345678]
origClientOrderIdList LIST<STRING> NO 用户自定义的订单号, 最多支持10个订单
比如["my_id_1","my_id_2"] 需要encode双引号。逗号后面没有空格。
recvWindow LONG NO
timestamp LONG YES

orderIdListorigClientOrderIdList 必须至少发送一个,不可同时发送

倒计时撤销所有订单 (TRADE)

响应:

{
    "symbol": "BTCUSD_200925", 
    "countdownTime": "100000"
}

POST /dapi/v1/countdownCancelAll (HMAC SHA256)

权重: 10

Parameters:

名称 类型 是否必需 描述
symbol STRING YES
countdownTime LONG YES 倒计时。 1000 表示 1 秒; 0 表示取消倒计时撤单功能。
recvWindow LONG NO
timestamp LONG YES

查询当前挂单 (USER_DATA)

响应:


{
    "avgPrice": "0.0",              // 平均成交价
    "clientOrderId": "abc",             // 用户自定义的订单号
    "cumBase": "0",                         // 成交金额(标的数量)
    "executedQty": "0",                 // 成交量(张数)
    "orderId": 1917641,                 // 系统订单号
    "origQty": "0.40",                  // 原始委托数量
    "origType": "TRAILING_STOP_MARKET", // 触发前订单类型
    "price": "0",                   // 委托价格
    "reduceOnly": false,                // 是否仅减仓
    "side": "BUY",                      // 买卖方向
    "status": "NEW",                    // 订单状态
    "stopPrice": "9300",                    // 触发价,对`TRAILING_STOP_MARKET`无效
    "closePosition": false,   // 是否条件全平仓
    "symbol": "BTCUSD_200925",              // 交易对
    "pair": "BTCUSD",   // 标的交易对
    "time": 1579276756075,              // 订单时间
    "timeInForce": "GTC",               // 有效方法
    "type": "TRAILING_STOP_MARKET",     // 订单类型
    "activatePrice": "9020", // 跟踪止损激活价格, 仅`TRAILING_STOP_MARKET` 订单返回此字段
    "priceRate": "0.3", // 跟踪止损回调比例, 仅`TRAILING_STOP_MARKET` 订单返回此字段
    "updateTime": 1579276756075,        // 更新时间
    "workingType": "CONTRACT_PRICE",        // 条件价格触发类型
    "priceProtect": false           // 是否开启条件单触发保护
}

GET /dapi/v1/openOrder (HMAC SHA256)

请小心使用不带symbol参数的调用

权重: 1*

参数:

名称 类型 是否必需 描述
symbol STRING YES 交易对
orderId LONG NO 系统订单号
origClientOrderId STRING NO 用户自定义的订单号
recvWindow LONG NO
timestamp LONG YES

查看当前全部挂单 (USER_DATA)

响应:

[
  {
    "avgPrice": "0.0",              // 平均成交价
    "clientOrderId": "abc",             // 用户自定义的订单号
    "cumBase": "0",                         // 成交金额(标的数量)
    "executedQty": "0",                 // 成交量(张数)
    "orderId": 1917641,                 // 系统订单号
    "origQty": "0.40",                  // 原始委托数量
    "origType": "TRAILING_STOP_MARKET", // 触发前订单类型
    "price": "0",                   // 委托价格
    "reduceOnly": false,                // 是否仅减仓
    "side": "BUY",                      // 买卖方向
    "positionSide": "SHORT", // 持仓方向
    "status": "NEW",                    // 订单状态
    "stopPrice": "9300",                    // 触发价,对`TRAILING_STOP_MARKET`无效
    "closePosition": false,   // 是否条件全平仓
    "symbol": "BTCUSD_200925",              // 交易对
    "pair": "BTCUSD",   // 标的交易对
    "time": 1579276756075,              // 订单时间
    "timeInForce": "GTC",               // 有效方法
    "type": "TRAILING_STOP_MARKET",     // 订单类型
    "activatePrice": "9020", // 跟踪止损激活价格, 仅`TRAILING_STOP_MARKET` 订单返回此字段
    "priceRate": "0.3", // 跟踪止损回调比例, 仅`TRAILING_STOP_MARKET` 订单返回此字段
    "updateTime": 1579276756075,        // 更新时间
    "workingType": "CONTRACT_PRICE",        // 条件价格触发类型
    "priceProtect": false            // 是否开启条件单触发保护
  }
]

GET /dapi/v1/openOrders (HMAC SHA256)

请小心使用不带symbol参数的调用

权重:

参数:

名称 类型 是否必需 描述
symbol STRING NO 交易对
pair STRING NO 标的交易对
recvWindow LONG NO
timestamp LONG YES

查询所有订单(包括历史订单) (USER_DATA)

响应:

[
  {
    "avgPrice": "0.0",              // 平均成交价
    "clientOrderId": "abc",             // 用户自定义的订单号
    "cumBase": "0",                         // 成交金额(标的数量)
    "executedQty": "0",                 // 成交量(张数)
    "orderId": 1917641,                 // 系统订单号
    "origQty": "0.40",                  // 原始委托数量
    "origType": "TRAILING_STOP_MARKET", // 触发前订单类型
    "price": "0",                   // 委托价格
    "reduceOnly": false,                // 是否仅减仓
    "side": "BUY",                      // 买卖方向
    "positionSide": "SHORT",            // 持仓方向
    "status": "NEW",                    // 订单状态
    "stopPrice": "9300",                    // 触发价,对`TRAILING_STOP_MARKET`无效
    "closePosition": false,   // 是否条件全平仓
    "symbol": "BTCUSD_200925",              // 交易对
    "pair": "BTCUSD",   // 标的交易对
    "time": 1579276756075,              // 订单时间
    "timeInForce": "GTC",               // 有效方法
    "type": "TRAILING_STOP_MARKET",     // 订单类型
    "activatePrice": "9020", // 跟踪止损激活价格, 仅`TRAILING_STOP_MARKET` 订单返回此字段
    "priceRate": "0.3", // 跟踪止损回调比例, 仅`TRAILING_STOP_MARKET` 订单返回此字段
    "updateTime": 1579276756075,        // 更新时间
    "workingType": "CONTRACT_PRICE"     // 条件价格触发类型
  }
]

GET /dapi/v1/allOrders (HMAC SHA256)

权重:
传symbol 20
传pairs 40

Parameters:

名称 类型 是否必需 描述
symbol STRING NO 交易对
pair STRING NO 标的交易对
orderId LONG NO 只返回此orderID及之后的订单,缺省返回最近的订单, 仅支持配合symbol使用
startTime LONG NO 起始时间
endTime LONG NO 结束时间
limit INT NO 返回的结果集数量 默认值:50 最大值:100
recvWindow LONG NO
timestamp LONG YES

账户余额 (USER_DATA)

响应:

[
    {
        "accountAlias": "SgsR",    // 账户唯一识别码
        "asset": "BTC",     // 资产
        "balance": "0.00250000",    // 账户余额
        "withdrawAvailable": "0.00250000", // 最大可提款金额,同`GET /dapi/account`中"maxWithdrawAmount"
        "crossWalletBalance": "0.00241969", // 全仓账户余额
        "crossUnPnl": "0.00000000", // 全仓持仓未实现盈亏
        "availableBalance": "0.00241969",    // 可用下单余额
        "updateTime": 1592468353979
    }
]

GET /dapi/v1/balance (HMAC SHA256)

Weight: 1

Parameters:

名称 类型 是否必需 描述
recvWindow LONG NO
timestamp LONG YES

账户信息 (USER_DATA)

响应:


{
    "assets": [ // 资产内容
        {
            "asset": "BTC",  // 资产名
            "walletBalance": "0.00241969",  // 账户余额
            "unrealizedProfit": "0.00000000",  // 全部持仓未实现盈亏
            "marginBalance": "0.00241969",  // 保证金余额
            "maintMargin": "0.00000000",    // 维持保证金
            "initialMargin": "0.00000000",  // 当前所需起始保证金(按最新标标记价格)
            "positionInitialMargin": "0.00000000",  // 当前所需持仓起始保证金(按最新标标记价格)
            "openOrderInitialMargin": "0.00000000",  // 当前所需挂单起始保证金(按最新标标记价格)
            "maxWithdrawAmount": "0.00241969",  // 最大可提款金额
            "crossWalletBalance": "0.00241969",  // 可用于全仓的账户余额
            "crossUnPnl": "0.00000000",  // 所有全仓持仓的未实现盈亏
            "availableBalance": "0.00241969"  // 可用下单余额
        }
     ],
     "positions": [ // 头寸
         {
            "symbol": "BTCUSD_201225",  // 交易对 
            "initialMargin": "0",   // 当前所需起始保证金(按最新标标记价格)
            "maintMargin": "0", // 持仓维持保证金
            "unrealizedProfit": "0.00000000",  // 持仓未实现盈亏
            "positionInitialMargin": "0",  // 当前所需持仓起始保证金(按最新标标记价格)
            "openOrderInitialMargin": "0",  // 当前所需挂单起始保证金(按最新标标记价格)
            "leverage": "125",  // 杠杆倍率
            "isolated": false,  // 是否是逐仓模式
            "positionSide": "BOTH", // 持仓方向
            "entryPrice": "0.0",    // 平均持仓成本
            "maxQty": "50"  // 当前杠杆下最大可开仓数(标的数量)
        },
        {
            "symbol": "BTCUSD_201225",
            "initialMargin": "0",
            "maintMargin": "0",
            "unrealizedProfit": "0.00000000",
            "positionInitialMargin": "0",
            "openOrderInitialMargin": "0",
            "leverage": "125",
            "isolated": false,
            "positionSide": "LONG",  
            "entryPrice": "0.0",
            "maxQty": "50"
        },
        {
            "symbol": "BTCUSD_201225",
            "initialMargin": "0",
            "maintMargin": "0",
            "unrealizedProfit": "0.00000000",
            "positionInitialMargin": "0",
            "openOrderInitialMargin": "0",
            "leverage": "125",
            "isolated": false,
            "positionSide": "SHORT", 
            "entryPrice": "0.0",
            "maxQty": "50"
        }
     ],
     "canDeposit": true, // 是否可以入金
     "canTrade": true, // 是否可以交易
     "canWithdraw": true, // 是否可以出金
     "feeTier": 2, // 手续费等级
     "updateTime": 0
 }

GET /dapi/v1/account (HMAC SHA256)

权重: 5

参数:

名称 类型 是否必需 描述
recvWindow LONG NO
timestamp LONG YES

调整开仓杠杆 (TRADE)

响应:

{
    "leverage": 21, // 杠杆倍数
    "maxQty": "1000", // 当前杠杆倍数下允许的最大base asset数量
    "symbol": "BTCUSD_200925"   // 交易对
}

POST /dapi/v1/leverage (HMAC SHA256)

调整用户在指定symbol合约的开仓杠杆。不同持仓方向上使用相同杠杆倍数,共享允许的最大交易标的资产数量。

权重: 1

参数:

名称 类型 是否必需 描述
symbol STRING YES 交易对
leverage INT YES 目标杠杆倍数
recvWindow LONG NO
timestamp LONG YES

变换逐全仓模式 (TRADE)

响应:

{
    "code": 200,
    "msg": "success"
}

POST /dapi/v1/marginType (HMAC SHA256)

变换用户在指定symbol合约上的保证金模式:逐仓或全仓。
不同持仓方向上使用相同的保证金模式。双向持仓模式下的逐仓,LONGSHORT使用独立的逐仓仓位。

权重: 1

参数:

名称 类型 是否必需 描述
symbol STRING YES 交易对
marginType ENUM YES 保证金模式 ISOLATED(逐仓), CROSSED(全仓)
recvWindow LONG NO
timestamp LONG YES

调整逐仓保证金 (TRADE)

响应:

{
    "amount": 100.0,
    "code": 200,
    "msg": "Successfully modify position margin.",
    "type": 1
}

POST /dapi/v1/positionMargin (HMAC SHA256)

针对逐仓模式下的仓位,调整其逐仓保证金资金。

权重: 1

参数:

名称 类型 是否必需 描述
symbol STRING YES 交易对
positionSide ENUM NO 持仓方向,单向持仓模式下非必填,默认且仅可填BOTH;在双向持仓模式下必填,且仅可选择 LONGSHORT
amount DECIMAL YES 保证金资金
type INT YES 调整方向 1: 增加逐仓保证金,2: 减少逐仓保证金
recvWindow LONG NO
timestamp LONG YES

逐仓保证金变动历史 (TRADE)

响应:

[
    {
        "amount": "23.36332311", // 数量
        "asset": "BTC", // 资产
        "symbol": "BTCUSD_200925", // 交易对
        "time": 1578047897183, // 时间
        "type": 1,  // 调整方向
        "positionSide": "BOTH"  // 持仓方向
    },
    {
        "amount": "100",
        "asset": "BTC",
        "symbol": "BTCUSD_200925",
        "time": 1578047900425,
        "type": 1,
        "positionSide": "LONG" 
    }
]

GET /dapi/v1/positionMargin/history (HMAC SHA256)

权重: 1

参数:

名称 类型 是否必需 描述
symbol STRING YES 交易对
type INT NO 调整方向 1: 增加逐仓保证金,2: 减少逐仓保证金
startTime LONG NO 起始时间
endTime LONG NO 结束时间
limit INT NO 返回的结果集数量 默认值: 50
recvWindow LONG NO
timestamp LONG YES

用户持仓风险

响应:

[
    {
        "symbol": "BTCUSD_201225",  // 交易对
        "positionAmt": "0", // 头寸数量,符号代表多空方向, 正数为多,负数为空
        "entryPrice": "0.0",    // 开仓均价
        "markPrice": "0.00000000",  // 当前标记价格
        "unRealizedProfit": "0.00000000",   // 持仓未实现盈亏
        "liquidationPrice": "0",    // 参考强平价格
        "leverage": "125",  // 当前杠杆倍数
        "maxQty": "50",  // 当前杠杆倍数允许的数量上限(标的数量)
        "marginType": "cross",  // 逐仓模式或全仓模式
        "isolatedMargin": "0.00000000", // 逐仓保证金
        "isAutoAddMargin": "false",
        "positionSide": "BOTH"  // 持仓方向
    },
    {
        "symbol": "BTCUSD_201225",
        "positionAmt": "1",
        "entryPrice": "11707.70000003",
        "markPrice": "11788.66626667",
        "unRealizedProfit": "0.00005866",
        "liquidationPrice": "11667.63509587",
        "leverage": "125",
        "maxQty": "50",
        "marginType": "cross",
        "isolatedMargin": "0.00012357",
        "isAutoAddMargin": "false",
        "positionSide": "LONG"
    },
    {
        "symbol": "BTCUSD_201225",
        "positionAmt": "0",
        "entryPrice": "0.0",
        "markPrice": "0.00000000",
        "unRealizedProfit": "0.00000000",
        "liquidationPrice": "0",
        "leverage": "125",
        "maxQty": "50",
        "marginType": "cross",
        "isolatedMargin": "0.00000000",
        "isAutoAddMargin": "false",
        "positionSide": "SHORT"
  }
]

GET /dapi/v1/positionRisk (HMAC SHA256)

权重: 1

参数:

名称 类型 是否必需 描述
marginAsset STRING NO
pair STRING NO
recvWindow LONG NO
timestamp LONG YES

注意
请与账户推送信息ACCOUNT_UPDATE配合使用,以满足您的及时性和准确性需求。

账户成交历史 (USER_DATA)

响应:

[
    {
        'symbol': 'BTCUSD_200626',      // 交易对
        'id': 6,                        // 交易ID
        'orderId': 28,                  // 订单ID
        '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 /dapi/v1/userTrades (HMAC SHA256)

获取成交历史

权重:

传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 最大值:100.
recvWindow LONG NO
timestamp LONG YES

获取账户损益资金流水(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 /dapi/v1/income (HMAC SHA256)

权重: 20

参数:

名称 类型 是否必需 描述
symbol STRING NO 交易对
incomeType STRING NO 收益类型 "TRANSFER", "FUNDING_FEE", "REALIZED_PNL", "COMMISSION", "INSURANCE_CLEAR", "DELIVERED_SETTELMENT"
startTime LONG NO 起始时间
endTime LONG NO 结束时间
limit INT NO 返回的结果集数量 默认值:100 最大值:1000
recvWindow LONG NO
timestamp LONG YES

杠杆分层标准 (USER_DATA)

响应:

[
    {
        "pair": "BTCUSD",
        "brackets": [
            {
                "bracket": 1,   // 层级
                "initialLeverage": 125,  // 该层允许的最高初始杠杆倍数
                "qtyCap": 50,  // 该层对应的数量上限
                "qtylFloor": 0,  // 该层对应的数量下限 
                "maintMarginRatio": 0.004 // 该层对应的维持保证金率
            },
        ]
    }
]

GET /dapi/v1/leverageBracket

权重: 1

参数:

名称 类型 是否必需 描述
pair STRING NO
recvWindow LONG NO
timestamp LONG YES

用户强平单历史 (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,
    "closePosition": false,
    "side": "SELL",
    "positionSide": "BOTH",
    "stopPrice": "0",
    "workingType": "CONTRACT_PRICE",
    "priceProtect": false,
    "origType": "LIMIT",
    "time": 1596542005019,
    "updateTime": 1596542005050
  },
  {
    "orderId": 207251986,
    "symbol": "BTCUSD_200925",
    "pair": "BTCUSD",
    "status": "FILLED",
    "clientOrderId": "autoclose-1597307316020000006",
    "price": "11619.4",
    "avgPrice": "11661.2",
    "origQty": "1",
    "executedQty": "1",
    "cumBase": "0.00857544",
    "timeInForce": "IOC",
    "type": "LIMIT",
    "reduceOnly": false,
    "closePosition": false,
    "side": "SELL",
    "positionSide": "LONG",
    "stopPrice": "0",
    "workingType": "CONTRACT_PRICE",
    "priceProtect": false,
    "origType": "LIMIT",
    "time": 1597307316022,
    "updateTime": 1597307316035
  }
]

GET /dapi/v1/forceOrders

权重: 20

参数:

名称 类型 是否必需 描述
symbol STRING NO
autoCloseType ENUM NO "LIQUIDATION": 强平单, "ADL": ADL减仓单.
startTime LONG NO
endTime LONG NO
limit INT NO Default 50; max 100.
recvWindow LONG NO
timestamp LONG YES

持仓ADL队列估算 (USER_DATA)

响应:

[
    {
        "symbol": "BTCUSD_200925", 
        "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 /dapi/v1/adlQuantile

用户手续费率 (USER_DATA)

响应:

{
    "symbol": "BTCUSD_PERP",
    "makerCommissionRate": "0.00015",  // 0.015%
    "takerCommissionRate": "0.00040"   // 0.040%
}

GET /dapi/v1/commissionRate (HMAC SHA256)

权重: 20

参数:

名称 类型 是否必需 描述
symbol STRING YES
recvWindow LONG NO
timestamp LONG YES

Websocket 账户信息推送

生成listenKey (USER_STREAM)

响应:

{
  "listenKey": "pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1"
}

POST /dapi/v1/listenKey

创建一个新的user data stream,返回值为一个listenKey,即websocket订阅的stream名称。如果该帐户具有有效的listenKey,则将返回该listenKey并将其有效期延长60分钟。

权重: 1

参数:

None

延长listenKey有效期 (USER_STREAM)

响应:

{}

PUT /dapi/v1/listenKey

有效期延长至本次调用后60分钟

权重: 1

参数:

None

关闭listenKey (USER_STREAM)

响应:

{}

DELETE /dapi/v1/listenKey

关闭某账户数据流

权重: 1

参数:

None

追加保证金通知

Payload:

{
    "e":"MARGIN_CALL",      // 事件类型
    "E":1587727187525,      // 事件时间
    "i": "SfsR",                            // 账户唯一识别码 accountAlias
    "cw":"3.16812045",      // 除去逐仓仓位保证金的钱包余额, 仅在全仓 margin call 情况下推送此字段
    "p":[                   // 涉及持仓
      {
        "s":"BTCUSD_200925",        // symbol
        "ps":"LONG",        // 持仓方向
        "pa":"1",           // 仓位
        "mt":"CROSSED",     // 保证金模式
        "iw":"0",           // 若为逐仓,仓位保证金
        "mp":"9187.17127000",   // 标记价格
        "up":"-1.166074",   // 未实现盈亏
        "mm":"1.614445"     // 持仓需要的维持保证金
      }
    ]
}  

Balance和Position更新推送

Payload:

{
  "e": "ACCOUNT_UPDATE",                // 事件类型
  "E": 1564745798939,                   // 事件时间
  "T": 1564745798938,                   // 撮合时间
  "i": "SfsR",                          // 账户唯一识别码 accountAlias
  "a":                                  // 账户更新事件
    {
      "m":"ORDER",                      // 事件推出原因 
      "B":[                             // 余额信息
        {
          "a":"BTC",                // 资产名称
          "wb":"122624.12345678",       // 钱包余额
          "cw":"100.12345678"           // 除去逐仓保证金的钱包余额
        },
        {
          "a":"ETH",           
          "wb":"1.00000000",
          "cw":"0.00000000"         
        }
      ],
      "P":[
       {
          "s":"BTCUSD_200925",              // 交易对
          "pa":"0",                 // 仓位
          "ep":"0.0",            // 入仓价格
          "cr":"200",               // (费前)累计实现损益
          "up":"0",                     // 持仓未实现盈亏
          "mt":"isolated",              // 保证金模式
          "iw":"0.00000000",            // 若为逐仓,仓位保证金
          "ps":"BOTH"                   // 持仓方向
       },
       {
            "s":"BTCUSD_200925",
            "pa":"20",
            "ep":"6563.6",
            "cr":"0",
            "up":"2850.21200000",
            "mt":"isolated",
            "iw":"13200.70726908",
            "ps":"LONG"
         },
       {
            "s":"BTCUSD_200925",
            "pa":"-10",
            "ep":"6563.8",
            "cr":"-45.04000000",
            "up":"-1423.15600000",
            "mt":"isolated",
            "iw":"6570.42511771",
            "ps":"SHORT"
       }
      ]
    }
}

账户更新事件的 event type 固定为 ACCOUNT_UPDATE

订单/交易 更新推送

Payload:

{

  "e":"ORDER_TRADE_UPDATE",         // 事件类型
  "E":1568879465651,                // 事件时间
  "T":1568879465650,                // 撮合时间
  "i": "SfsR",                          // 账户唯一识别码 accountAlias
  "o":{                             
    "s":"BTCUSD_200925",                    // 交易对
    "c":"TEST",                     // 客户端自定订单ID
      // 特殊的自定义订单ID:
      // "autoclose-"开头的字符串: 系统强平订单
      // "delivery-"开头的字符串: 系统交割平仓单
    "S":"SELL",                     // 订单方向
    "o":"LIMIT",                    // 订单类型
    "f":"GTC",                      // 有效方式
    "q":"0.001",                    // 订单原始数量
    "p":"9910",                     // 订单原始价格
    "ap":"0",                       // 订单平均价格
    "sp":"0",                       // 订单停止价格
    "x":"NEW",                      // 本次事件的具体执行类型
    "X":"NEW",                      // 订单的当前状态
    "i":8886774,                    // 订单ID
    "l":"0",                        // 订单末次成交量
    "z":"0",                        // 订单累计已成交量
    "L":"0",                        // 订单末次成交价格
    "ma": "BTC",                    // 保证金资产类型
    "N": "BTC",                     // 该成交手续费资产类型
    "n": "0",                       // 该成交手续费数量
    "T":1568879465651,              // 成交时间
    "t":0,                          // 成交ID
    "rp": "0",                      // 该成交已实现盈亏
    "b":"0",                        // 买单净值
    "a":"9.91",                     // 卖单净值
    "m": false,                     // 该成交是作为挂单成交吗?
    "R":false   ,                   // 是否是只减仓单
    "wt": "CONTRACT_PRICE",         // 触发价类型
    "ot": "LIMIT",                  // 原始订单类型
    "ps":"LONG",                        // 持仓方向
    "cp":false,                     // 是否为触发平仓单
    "AP":"7476.89",                 // 追踪止损激活价格
    "cr":"5.0",                     // 追踪止损回调比例
    "pP": false                     // 是否开启条件单触发保护

  }

}

当有新订单创建、订单有新成交或者新的状态变化时会推送此类事件 event type统一为 ORDER_TRADE_UPDATE

订单方向

持仓方向:

订单类型

本次事件的具体执行类型

订单状态

有效方式:

Websocket 账户信息请求

请求格式

响应

{
    "result"[
        {
            "req":"<listenKey>@account",   // request name 1
            "res":            // request name 1 的请求结果
                ...
        },
        {
            "req":"<listenKey>@balance",   // request name 2 (如有)
            "res":            // request name 2 的请求结果 (如有)
                ...
        }
    ]
    "id": 12     // ID
}

请求: 账户信息

响应

{
  "id":1,       // request ID
  "result":[
    {
      "req":"gN0SiRrevtS4O0ufdCpzd4N0MzHu2lVmwbHh6hj4g9eTT9Yfe55eUc4klmsEhnwC@account",  // request name
      "res":{       
        "feeTier":0,        // 账户等级
        "canTrade":true,    // 是否可以交易
        "canDeposit":true,  // 是否可以转入资金
        "canWithdraw":true, // 是否可以转出资金
        "accountAlias":"fsR"    // 账户唯一标识
      }
    }
  ]
}

Request Name <listenKey>@account

请求: 账户余额

响应

{
  "id":2,       // ID
  "result":[
    {
      "req":"gN0SiRrevtS4O0ufdCpzd4N0MzHu2lVmwbHh6hj4g9eTT9Yfe55eUc4klmsEhnwC@balance", // reqeust name
      "res":{
        "accountAlias":"fsR",       // 账户唯一标识
        "balances":[                // 余额信息
          {
            "asset":"BTC",          // 资产
            "balance":"0.00241628", // 账户余额
            "crossWalletBalance":"0.00235137", // 可用于全仓的账户余额
            "crossUnPnl":"0.00000000",  // 全仓持仓的未实现盈亏
            "availableBalance":"0.00235137",  // 可下单余额
            "maxWithdrawAmount":"0.00235137"  // 最大可转出余额
          }
        ]
      }
    }
  ]
}

Request Name <listenKey>@balance

请求: 持仓信息

Response

{
  "id":3,
  "result":[
    {
      "req":"gN0SiRrevtS4O0ufdCpzd4N0MzHu2lVmwbHh6hj4g9eTT9Yfe55eUc4klmsEhnwC@position",
      "res":{
        "positions":[
          {
            "entryPrice":"12044.90000003",
            "marginType":"ISOLATED", // 保证金类型, "CROSSED"表示全仓,"ISOLATED"表示逐仓
            "isAutoAddMargin":false,
            "isolatedMargin":"0.00006388", // 逐仓保证金余额
            "leverage":125, // 当前杠杆倍数
            "liquidationPrice":"12002.39091452",  // 估计强平价
            "markPrice":"12046.06021667",  // 当前标记价格
            "maxQty":"50",       // 当前杠杆倍数允许的数量上限(标的数量)
            "positionAmt":"1",  // 持仓数量
            "symbol":"BTCUSD_200925",   // 交易对
            "unRealizedProfit":"0.00000079",  // 持仓未实现盈亏
            "positionSide":"LONG"       // 持仓方向
          },
          {
            "entryPrice":"0.0",
            "marginType":"ISOLATED",
            "isAutoAddMargin":false,
            "isolatedMargin":"0",
            "leverage":125,
            "liquidationPrice":"0",
            "markPrice":"12046.06021667",
            "maxQty":"50",
            "positionAmt":"0",
            "symbol":"BTCUSD_200925",
            "unRealizedProfit":"0.00000000",
            "positionSide":"SHORT"
          }
        ]
      }
    }
  ]
}

Request Name <listenKey>@position

错误代码

error JSON payload:

{
  "code":-1121,
  "msg":"Invalid symbol."
}

错误由两部分组成:错误代码和消息。 代码是通用的,但是消息可能会有所不同。

10xx - 常规服务器或网络问题

-1000 UNKNOWN

-1001 DISCONNECTED

-1002 UNAUTHORIZED

-1003 TOO_MANY_REQUESTS

-1004 DUPLICATE_IP

-1005 NO_SUCH_IP

-1006 UNEXPECTED_RESP

-1007 TIMEOUT

-1014 UNKNOWN_ORDER_COMPOSITION

-1015 TOO_MANY_ORDERS

-1016 SERVICE_SHUTTING_DOWN

-1020 UNSUPPORTED_OPERATION

-1021 INVALID_TIMESTAMP

-1022 INVALID_SIGNATURE

-1023 START_TIME_GREATER_THAN_END_TIME

11xx - Request issues

-1100 ILLEGAL_CHARS

-1101 TOO_MANY_PARAMETERS

-1102 MANDATORY_PARAM_EMPTY_OR_MALFORMED

-1103 UNKNOWN_PARAM

-1104 UNREAD_PARAMETERS

-1105 PARAM_EMPTY

-1106 PARAM_NOT_REQUIRED

-1111 BAD_PRECISION

-1112 NO_DEPTH

-1114 TIF_NOT_REQUIRED

-1115 INVALID_TIF

-1116 INVALID_ORDER_TYPE

-1117 INVALID_SIDE

-1118 EMPTY_NEW_CL_ORD_ID

-1119 EMPTY_ORG_CL_ORD_ID

-1120 BAD_INTERVAL

-1121 BAD_SYMBOL

-1125 INVALID_LISTEN_KEY

-1127 MORE_THAN_XX_HOURS

-1128 OPTIONAL_PARAMS_BAD_COMBO

-1130 INVALID_PARAMETER

-1136 INVALID_NEW_ORDER_RESP_TYPE

20xx - Processing Issues

-2010 NEW_ORDER_REJECTED

-2011 CANCEL_REJECTED

-2013 NO_SUCH_ORDER

-2014 BAD_API_KEY_FMT

-2015 REJECTED_MBX_KEY

-2016 NO_TRADING_WINDOW

-2018 BALANCE_NOT_SUFFICIENT

-2019 MARGIN_NOT_SUFFICIEN

-2020 UNABLE_TO_FILL

-2021 ORDER_WOULD_IMMEDIATELY_TRIGGER

-2022 REDUCE_ONLY_REJECT

-2023 USER_IN_LIQUIDATION

-2024 POSITION_NOT_SUFFICIENT

-2025 MAX_OPEN_ORDER_EXCEEDED

-2026 REDUCE_ONLY_ORDER_TYPE_NOT_SUPPORTED

-2027 MAX_LEVERAGE_RATIO

-2028 MIN_LEVERAGE_RATIO

40xx - Filters and other Issues

-4000 INVALID_ORDER_STATUS

-4001 PRICE_LESS_THAN_ZERO

-4002 PRICE_GREATER_THAN_MAX_PRICE

-4003 QTY_LESS_THAN_ZERO

-4004 QTY_LESS_THAN_MIN_QTY

-4005 QTY_GREATER_THAN_MAX_QTY

-4006 STOP_PRICE_LESS_THAN_ZERO

-4007 STOP_PRICE_GREATER_THAN_MAX_PRICE

-4008 TICK_SIZE_LESS_THAN_ZERO

-4009 MAX_PRICE_LESS_THAN_MIN_PRICE

-4010 MAX_QTY_LESS_THAN_MIN_QTY

-4011 STEP_SIZE_LESS_THAN_ZERO

-4012 MAX_NUM_ORDERS_LESS_THAN_ZERO

-4013 PRICE_LESS_THAN_MIN_PRICE

-4014 PRICE_NOT_INCREASED_BY_TICK_SIZE

-4015 INVALID_CL_ORD_ID_LEN

-4016 PRICE_HIGHTER_THAN_MULTIPLIER_UP

-4017 MULTIPLIER_UP_LESS_THAN_ZERO

-4018 MULTIPLIER_DOWN_LESS_THAN_ZERO

-4019 COMPOSITE_SCALE_OVERFLOW

-4020 TARGET_STRATEGY_INVALID

-4021 INVALID_DEPTH_LIMIT

-4022 WRONG_MARKET_STATUS

-4023 QTY_NOT_INCREASED_BY_STEP_SIZE

-4024 PRICE_LOWER_THAN_MULTIPLIER_DOWN

-4025 MULTIPLIER_DECIMAL_LESS_THAN_ZERO

-4026 COMMISSION_INVALID

-4027 INVALID_ACCOUNT_TYPE

-4028 INVALID_LEVERAGE

-4029 INVALID_TICK_SIZE_PRECISION

-4030 INVALID_STEP_SIZE_PRECISION

-4031 INVALID_WORKING_TYPE

-4032 EXCEED_MAX_CANCEL_ORDER_SIZE

-4033 INSURANCE_ACCOUNT_NOT_FOUND

-4044 INVALID_BALANCE_TYPE

-4045 MAX_STOP_ORDER_EXCEEDED

-4046 NO_NEED_TO_CHANGE_MARGIN_TYPE

-4047 THERE_EXISTS_OPEN_ORDERS

-4048 THERE_EXISTS_QUANTITY

-4049 ADD_ISOLATED_MARGIN_REJECT

-4050 CROSS_BALANCE_INSUFFICIENT

-4051 ISOLATED_BALANCE_INSUFFICIENT

-4052 NO_NEED_TO_CHANGE_AUTO_ADD_MARGIN

-4053 AUTO_ADD_CROSSED_MARGIN_REJECT

-4054 ADD_ISOLATED_MARGIN_NO_POSITION_REJECT

-4055 AMOUNT_MUST_BE_POSITIVE

-4056 INVALID_API_KEY_TYPE

-4057 INVALID_RSA_PUBLIC_KEY

-4058 MAX_PRICE_TOO_LARGE

-4059 NO_NEED_TO_CHANGE_POSITION_SIDE

-4060 INVALID_POSITION_SIDE

-4061 POSITION_SIDE_NOT_MATCH

-4062 REDUCE_ONLY_CONFLICT

-4067 POSITION_SIDE_CHANGE_EXISTS_OPEN_ORDERS

-4068 POSITION_SIDE_CHANGE_EXISTS_QUANTITY

-4082 INVALID_BATCH_PLACE_ORDER_SIZE

-4083 PLACE_BATCH_ORDERS_FAIL

-4084 UPCOMING_METHOD

-4086 INVALID_PRICE_SPREAD_THRESHOLD

-4087 INVALID_PAIR

-4088 INVALID_TIME_INTERVAL

-4089 REDUCE_ONLY_ORDER_PERMISSION

-4090 NO_PLACE_ORDER_PERMISSION

-4104 INVALID_CONTRACT_TYPE

-4110 INVALID_CLIENT_TRAN_ID_LEN

-4111 DUPLICATED_CLIENT_TRAN_ID

-4112 REDUCE_ONLY_MARGIN_CHECK_FAILED

-4113 MARKET_ORDER_REJECT

-4135 INVALID_ACTIVATION_PRICE