跳到主要内容

公开API接口

通用接口

术语解释

这里的术语适用于全部文档,建议特别是新手熟读,也便于理解。

  • base asset 指一个交易对的交易对象,即写在靠前部分的资产名, 比如BTCUSDT, BTCbase asset
  • quote asset 指一个交易对的定价资产,即写在靠后部分的资产名, 比如BTCUSDT, USDTquote asset

测试服务器连通性 PING

GET /api/v3/ping

测试能否联通

权重: 1

参数: NONE

数据源: 缓存

响应:

{}

获取服务器时间

GET /api/v3/time

获取服务器时间

权重: 1

参数: NONE

数据源: 缓存

响应:

{
"serverTime": 1499827319559
}

交易规范信息

GET /api/v3/exchangeInfo

获取此时的交易规范信息

权重: 20

参数:

名称类型是否必须描述
symbolSTRINGNo示例:curl -X GET "https://api.binance.com/api/v3/exchangeInfo?symbol=BNBBTC"
symbolsARRAY OF STRINGNo示例:curl -X GET "https://api.binance.com/api/v3/exchangeInfo?symbols=%5B%22BNBBTC%22,%22BTCUSDT%22%5D"

curl -g -X GET 'https://api.binance.com/api/v3/exchangeInfo?symbols=["BTCUSDT","BNBBTC"]'
permissionsENUMNo示例:curl -X GET "https://api.binance.com/api/v3/exchangeInfo?permissions=SPOT"
or
curl -X GET "https://api.binance.com/api/v3/exchangeInfo?permissions=%5B%22MARGIN%22%2C%22LEVERAGED%22%5D"
or
curl -g -X GET 'https://api.binance.com/api/v3/exchangeInfo?permissions=["MARGIN","LEVERAGED"]'
showPermissionSetsBOOLEANNo用于控制是否提供 permissionSets 字段的内容。默认为 true
symbolStatusENUMNo用于过滤具有此 tradingStatus 的交易对。有效值: TRADINGHALTBREAK
不能与 symbolssymbol 组合使用。

备注:

  • 如果参数 symbol 或者 symbols 提供的交易对不存在, 系统会返回错误并提示交易对不正确。
  • 所有的参数都是可选的。
  • permissions 可以支持单个或多个值(例如 SPOT, ["MARGIN","LEVERAGED"])。此参数不能与 symbolsymbols 组合使用。
  • 如果未提供 permissions 参数,那么所有具有 SPOTMARGINLEVERAGED 权限的交易对都将被返回。
    • 要显示具有任何权限的交易对,您需要在 permissions 中明确指定它们:(例如 ["SPOT","MARGIN",...])。有关完整列表,请参阅 可用权限

解释响应中的 permissionSets

  • [["A","B"]] - 有权限"A"权限"B"的账户可以下订单。
  • [["A"],["B"]] - 有权限"A"权限"B"的账户可以下订单。
  • [["A"],["B","C"]] - 有权限"A"权限"B"或权限"C"的账户可以下订单。(此处应用的是包含或,而不是排除或,因此账户可以同时拥有权限"B"和权限"C"。)

数据源: 缓存

响应:

{
"timezone": "UTC",
"serverTime": 1508631584636,
"rateLimits": [
{
"rateLimitType": "REQUESTS_WEIGHT",
"interval": "MINUTE",
"intervalNum": 1,
"limit": 1200 // 每分钟调用的所有接口权重之和不得超过1200
},
{
"rateLimitType": "ORDERS",
"interval": "SECOND",
"intervalNum": 1,
"limit": 10 // 每秒钟所有订单/撤单次数不得超过10
},
{
"rateLimitType": "ORDERS",
"interval": "DAY",
"intervalNum": 1,
"limit": 100000 // 每天订单/撤单不得超过10万
},
{
"rateLimitType": "RAW_REQUESTS",
"interval": "MINUTE",
"intervalNum": 5,
"limit": 5000 // 每5分钟调用订单次数不得超过5000
}
],
"exchangeFilters": [],
"symbols": [
{
"symbol": "ETHBTC",
"status": "TRADING",
"baseAsset": "ETH",
"baseAssetPrecision": 8,
"quoteAsset": "BTC",
"quotePrecision": 8,
"quoteAssetPrecision": 8,
"orderTypes": ["LIMIT", "MARKET"],
"icebergAllowed": false,
"ocoAllowed": true,
"otoAllowed": true,
"quoteOrderQtyMarketAllowed": true,
"allowTrailingStop": false,
"cancelReplaceAllowed": false,
"filters": [
{
"filterType": "PRICE_FILTER",
"minPrice": "0.00000100",
"maxPrice": "100000.00000000",
"tickSize": "0.00000100"
},
{
"filterType": "LOT_SIZE",
"minQty": "0.00100000",
"maxQty": "100000.00000000",
"stepSize": "0.00100000"
},
{
"filterType": "MIN_NOTIONAL",
"minNotional": "0.00100000",
"applyToMarket": true,
"avgPriceMins": 5
}
],
"permissions": [],
"permissionSets": [
[
"SPOT",
"MARGIN"
]
],
"defaultSelfTradePreventionMode": "NONE",
"allowedSelfTradePreventionModes": [
"NONE"
]
}
],
// 可选字段,仅当 SOR 可用时才会被显示出来。
// https://github.com/binance/binance-spot-api-docs/blob/master/faqs/sor_faq_CN.md
"sors": [
{
"baseAsset": "BTC",
"symbols": [
"BTCUSDT",
"BTCUSDC"
]
}
]
}

行情接口

深度信息

GET /api/v3/depth

权重:

限制权重
1-1005
101-50025
501-100050
1001-5000250

参数:

名称类型是否必须描述
symbolSTRINGYES
limitINTNO默认 100; 最大 5000. 可选值:[5, 10, 20, 50, 100, 500, 1000, 5000]
如果 limit > 5000, 最多返回5000条数据.

数据源: 缓存

响应:

{
"lastUpdateId": 1027024,
"bids": [
[
"4.00000000", // 价位
"431.00000000", // 挂单量
[] // 请忽略.
]
],
"asks": [
[
"4.00000200",
"12.00000000",
[]
]
]
}

近期成交

GET /api/v3/trades

获取近期成交

权重: 25

参数:

名称类型是否必需描述
symbolSTRINGYES
limitINTNODefault 500; max 1000.

数据源: 缓存

响应:

[
{
"id": 28457,
"price": "4.00000100",
"qty": "12.00000000",
"time": 1499865549590,
"isBuyerMaker": true,
"isBestMatch": true
}
]

查询历史成交

GET /api/v3/historicalTrades

权重: 25

参数:

名称类型是否必需描述
symbolSTRINGYES
limitINTNODefault 500; max 1000.
fromIdLONGNO从哪一条成交id开始返回. 缺省返回最近的成交记录

数据源: 数据库

响应:

[
{
"id": 28457,
"price": "4.00000100",
"qty": "12.00000000",
"time": 1499865549590,
"isBuyerMaker": true,
"isBestMatch": true
}
]

近期成交(归集)

GET /api/v3/aggTrades

与trades的区别是,同一个taker在同一时间同一价格与多个maker的成交会被合并为一条记录

权重: 2

参数:

名称类型是否必需描述
symbolSTRINGYES
fromIdLONGNO从包含fromID的成交开始返回结果
startTimeLONGNO从该时刻之后的成交记录开始返回结果
endTimeLONGNO返回该时刻为止的成交记录
limitINTNO默认 500; 最大 1000.
  • 如果没有发送任何筛选参数(fromId, startTime, endTime),默认返回最近的成交记录

数据源: 数据库

响应:

[
{
"a": 26129, // 归集成交ID
"p": "0.01633102", // 成交价
"q": "4.70443515", // 成交量
"f": 27781, // 被归集的首个成交ID
"l": 27781, // 被归集的末个成交ID
"T": 1498793709153, // 成交时间
"m": true, // 是否为主动卖出单
"M": true // 是否为最优撮合单(可忽略,目前总为最优撮合)
}
]

K线数据

GET /api/v3/klines

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

权重: 2

参数:

名称类型是否必需描述
symbolSTRINGYES
intervalENUMYES请参考 K线间隔
startTimeLONGNO
endTimeLONGNO
timeZoneSTRINGNO默认: 0 (UTC)
limitINTNODefault 500; max 1000.

支持的K线间隔 (区分大小写):

间隔间隔
seconds -> 秒1s
minutes -> 分钟1m3m5m15m30m
hours -> 小时1h2h4h6h8h12h
days -> 天1d3d
weeks -> 周1w
months -> 月1M

请注意:

  • 如果未发送startTimeendTime,将返回最近的K线数据。
  • timeZone支持的值包括:
    • 小时和分钟(例如 -1:0005:45
    • 仅小时(例如 084
    • 接受的值范围严格为 [-12:00 到 +14:00](包括边界)
  • 如果提供了timeZone,K线间隔将在该时区中解释,而不是在UTC中。
  • 请注意,无论timeZone如何,startTimeendTime始终以UTC时区解释。

数据源: 数据库

响应:

[
[
1499040000000, // 开盘时间
"0.01634790", // 开盘价
"0.80000000", // 最高价
"0.01575800", // 最低价
"0.01577100", // 收盘价(当前K线未结束的即为最新价)
"148976.11427815", // 成交量
1499644799999, // 收盘时间
"2434.19055334", // 成交额
308, // 成交笔数
"1756.87402397", // 主动买入成交量
"28.46694368", // 主动买入成交额
"17928899.62484339" // 请忽略该参数
]
]

UIK线数据

GET /api/v3/uiKlines

请求参数与响应和k线接口相同。

uiKlines 返回修改后的k线数据,针对k线图的呈现进行了优化。

权重: 2

参数:

名称类型是否必需描述
symbolSTRINGYES
intervalENUMYES请参考 K线间隔
startTimeLONGNO
endTimeLONGNO
timeZoneSTRINGNODefault: 0 (UTC)
limitINTNO默认 500; 最大 1000.
  • 如果未发送 startTimeendTime,默认返回最近的交易。
  • timeZone支持的值包括:
    • 小时和分钟(例如 -1:0005:45
    • 仅小时(例如 084
    • 接受的值范围严格为 [-12:00 到 +14:00](包括边界)
  • 如果提供了timeZone,K线间隔将在该时区中解释,而不是在UTC中。
  • 请注意,无论timeZone如何,startTimeendTime始终以UTC时区解释。

数据源: 数据库

响应:

[
[
1499040000000, // k线开盘时间
"0.01634790", // 开盘价
"0.80000000", // 最高价
"0.01575800", // 最低价
"0.01577100", // 收盘价(当前K线未结束的即为最新价)
"148976.11427815", // 成交量
1499644799999, // k线收盘时间
"2434.19055334", // 成交额
308, // 成交笔数
"1756.87402397", // 主动买入成交量
"28.46694368", // 主动买入成交额
"0" // 请忽略该参数
]
]

当前平均价格

GET /api/v3/avgPrice

权重: 2

参数:

名称类型是否必需描述
symbolSTRINGYES

数据源: 缓存

响应:

{
"mins": 5,
"price": "9.35751834",
"closeTime": 1694061154503
}

24hr价格变动情况

GET /api/v3/ticker/24hr

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

权重:

参数 提供Symbol数量 权重
symbol 1 2
不提供symbol 80
symbols 1-20 2
21-100 40
>= 101 80
不提供symbol 80

参数:

名称 类型 是否强制要求 详情
symbol STRING NO 参数 `symbol` 和 `symbols` 不可以一起使用
如果都不提供, 所有symbol的ticker数据都会返回.

symbols参数可接受的格式: ["BTCUSDT","BNBUSDT"]

%5B%22BTCUSDT%22,%22BNBUSDT%22%5D
symbols STRING NO
type ENUM NO 可接受的参数: FULL or MINI.
如果不提供, 默认值为 FULL

数据源: 缓存

响应 - FULL:

{
"symbol": "BNBBTC",
"priceChange": "-94.99999800",
"priceChangePercent": "-95.960",
"weightedAvgPrice": "0.29628482",
"prevClosePrice": "0.10002000",
"lastPrice": "4.00000200",
"lastQty": "200.00000000",
"bidPrice": "4.00000000",
"bidQty": "100.00000000",
"askPrice": "4.00000200",
"askQty": "100.00000000",
"openPrice": "99.00000000",
"highPrice": "100.00000000",
"lowPrice": "0.10000000",
"volume": "8913.30000000",
"quoteVolume": "15.30000000",
"openTime": 1499783499040,
"closeTime": 1499869899040,
"firstId": 28385, // 首笔成交id
"lastId": 28460, // 末笔成交id
"count": 76 // 成交笔数
}

OR

[
{
"symbol": "BNBBTC",
"priceChange": "-94.99999800",
"priceChangePercent": "-95.960",
"weightedAvgPrice": "0.29628482",
"prevClosePrice": "0.10002000",
"lastPrice": "4.00000200",
"lastQty": "200.00000000",
"bidPrice": "4.00000000",
"bidQty": "100.00000000",
"askPrice": "4.00000200",
"askQty": "100.00000000",
"openPrice": "99.00000000",
"highPrice": "100.00000000",
"lowPrice": "0.10000000",
"volume": "8913.30000000",
"quoteVolume": "15.30000000",
"openTime": 1499783499040,
"closeTime": 1499869899040,
"firstId": 28385, // 首笔成交id
"lastId": 28460, // 末笔成交id
"count": 76 // 成交笔数
}
]

响应 - MINI

{
"symbol": "BNBBTC", // 交易对
"openPrice": "99.00000000", // 间隔开盘价
"highPrice": "100.00000000", // 间隔最高价
"lowPrice": "0.10000000", // 间隔最低价
"lastPrice": "4.00000200", // 间隔收盘价
"volume": "8913.30000000", // 总交易量 (base asset)
"quoteVolume": "15.30000000", // 总交易量 (quote asset)
"openTime": 1499783499040, // ticker间隔的开始时间
"closeTime": 1499869899040, // ticker间隔的结束时间
"firstId": 28385, // 统计时间内的第一笔trade id
"lastId": 28460, // 统计时间内的最后一笔trade id
"count": 76 // 统计时间内交易笔数
}

OR

[
{
"symbol": "BNBBTC",
"openPrice": "99.00000000",
"highPrice": "100.00000000",
"lowPrice": "0.10000000",
"lastPrice": "4.00000200",
"volume": "8913.30000000",
"quoteVolume": "15.30000000",
"openTime": 1499783499040,
"closeTime": 1499869899040,
"firstId": 28385,
"lastId": 28460,
"count": 76
},
{
"symbol": "LTCBTC",
"openPrice": "0.07000000",
"highPrice": "0.07000000",
"lowPrice": "0.07000000",
"lastPrice": "0.07000000",
"volume": "11.00000000",
"quoteVolume": "0.77000000",
"openTime": 1656908192899,
"closeTime": 1656994592899,
"firstId": 0,
"lastId": 10,
"count": 11
}
]

交易日行情(Ticker)

GET /api/v3/ticker/tradingDay

交易日价格变动统计。

权重:

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

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

参数:

参数名 类型 是否必需 描述
symbol STRING YES symbol 或者 symbols 必须提供之一

symbols 可以接受的格式:
["BTCUSDT","BNBUSDT"]
或者
%5B%22BTCUSDT%22,%22BNBUSDT%22%5D

symbols 最多可以发送100个.
symbols
timeZone STRING NO Default: 0 (UTC)
type ENUM NO 可接受值: FULL or MINI.
默认值: FULL

注意:

  • timeZone支持的值包括:
    • 小时和分钟(例如 -1:0005:45
    • 仅小时(例如 084

数据源: 数据库

响应 - FULL

symbol:

{
"symbol": "BTCUSDT",
"priceChange": "-83.13000000", // 绝对价格变动
"priceChangePercent": "-0.317", // 相对价格变动百分比
"weightedAvgPrice": "26234.58803036", // 报价成交量 / 成交量
"openPrice": "26304.80000000",
"highPrice": "26397.46000000",
"lowPrice": "26088.34000000",
"lastPrice": "26221.67000000",
"volume": "18495.35066000", // 基础资产的成交量
"quoteVolume": "485217905.04210480", // 报价资产的成交量
"openTime": 1695686400000,
"closeTime": 1695772799999,
"firstId": 3220151555, // 区间内的第一个交易的交易ID
"lastId": 3220849281, // 区间内的最后一个交易的交易ID
"count": 697727 // 区间内的交易数量
}

symbols:

[
{
"symbol": "BTCUSDT",
"priceChange": "-83.13000000",
"priceChangePercent": "-0.317",
"weightedAvgPrice": "26234.58803036",
"openPrice": "26304.80000000",
"highPrice": "26397.46000000",
"lowPrice": "26088.34000000",
"lastPrice": "26221.67000000",
"volume": "18495.35066000",
"quoteVolume": "485217905.04210480",
"openTime": 1695686400000,
"closeTime": 1695772799999,
"firstId": 3220151555,
"lastId": 3220849281,
"count": 697727
},
{
"symbol": "BNBUSDT",
"priceChange": "2.60000000",
"priceChangePercent": "1.238",
"weightedAvgPrice": "211.92276958",
"openPrice": "210.00000000",
"highPrice": "213.70000000",
"lowPrice": "209.70000000",
"lastPrice": "212.60000000",
"volume": "280709.58900000",
"quoteVolume": "59488753.54750000",
"openTime": 1695686400000,
"closeTime": 1695772799999,
"firstId": 672397461,
"lastId": 672496158,
"count": 98698
}
]

响应: - MINI

symbol:

{
"symbol": "BTCUSDT",
"openPrice": "26304.80000000",
"highPrice": "26397.46000000",
"lowPrice": "26088.34000000",
"lastPrice": "26221.67000000",
"volume": "18495.35066000", // 基础资产的成交量
"quoteVolume": "485217905.04210480", // 报价资产的成交量
"openTime": 1695686400000,
"closeTime": 1695772799999,
"firstId": 3220151555, // 区间内的第一个交易的交易ID
"lastId": 3220849281, // 区间内的最后一个交易的交易ID
"count": 697727 // 区间内的交易数量
}

symbols:

[
{
"symbol": "BTCUSDT",
"openPrice": "26304.80000000",
"highPrice": "26397.46000000",
"lowPrice": "26088.34000000",
"lastPrice": "26221.67000000",
"volume": "18495.35066000",
"quoteVolume": "485217905.04210480",
"openTime": 1695686400000,
"closeTime": 1695772799999,
"firstId": 3220151555,
"lastId": 3220849281,
"count": 697727
},
{
"symbol": "BNBUSDT",
"openPrice": "210.00000000",
"highPrice": "213.70000000",
"lowPrice": "209.70000000",
"lastPrice": "212.60000000",
"volume": "280709.58900000",
"quoteVolume": "59488753.54750000",
"openTime": 1695686400000,
"closeTime": 1695772799999,
"firstId": 672397461,
"lastId": 672496158,
"count": 98698
}
]

最新价格接口

GET /api/v3/ticker/price

返回最近价格

权重:

参数 Symbols数量 权重
symbol 1 2
不提供symbol 4
symbols 不限 4

参数:

参数名 类型 是否强制 详情
symbol STRING NO 参数 `symbol` 和 `symbols` 不可以一起使用
如果都不提供, 所有symbol的价格数据都会返回.

symbols参数可接受的格式: ["BTCUSDT","BNBUSDT"]

%5B%22BTCUSDT%22,%22BNBUSDT%22%5D
symbols STRING NO
  • 不发送交易对参数,则会返回所有交易对信息

数据源: 缓存

响应:

{
"symbol": "LTCBTC",
"price": "4.00000200"
}

OR

[
{
"symbol": "LTCBTC",
"price": "4.00000200"
},
{
"symbol": "ETHBTC",
"price": "0.07946600"
}
]

最优挂单接口

GET /api/v3/ticker/bookTicker

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

权重:

参数 Symbols数量 权重
symbol 1 2
不提供symbol 4
symbols 不限 4

参数:

参数名 类型 是否强制 详情
symbol STRING NO 参数 `symbol` 和 `symbols` 不可以一起使用
如果都不提供, 所有symbol的bookTicker数据都会返回.

symbols参数可接受的格式: ["BTCUSDT","BNBUSDT"]

%5B%22BTCUSDT%22,%22BNBUSDT%22%5D
symbols STRING NO
  • 不发送交易对参数,则会返回所有交易对信息

数据源: 缓存

响应:

{
"symbol": "LTCBTC",
"bidPrice": "4.00000000", // 最优买单价
"bidQty": "431.00000000", // 挂单量
"askPrice": "4.00000200", // 最优卖单价
"askQty": "9.00000000" // 挂单量
}

OR

[
{
"symbol": "LTCBTC",
"bidPrice": "4.00000000",
"bidQty": "431.00000000",
"askPrice": "4.00000200",
"askQty": "9.00000000"
},
{
"symbol": "ETHBTC",
"bidPrice": "0.07946700",
"bidQty": "9.00000000",
"askPrice": "100000.00000000",
"askQty": "1000.00000000"
}
]

滚动窗口价格变动统计

GET /api/v3/ticker

注意: 此接口和 GET /api/v3/ticker/24hr 有所不同.

此接口统计的时间范围比请求的windowSize多不超过59999ms.

接口的 openTime 是某一分钟的起始,而结束是当前的时间. 所以实际的统计区间会比请求的时间窗口多不超过59999ms.

比如, 结束时间 closeTime 是 1641287867099 (January 04, 2022 09:17:47:099 UTC) , windowSize1d. 那么开始时间 openTime 则为 1641201420000 (January 3, 2022, 09:17:00 UTC)

权重: 4/交易对.

如果symbols请求的交易对超过50, 上限是200.

参数:

Name Type Mandatory Description
symbol STRING YES 提供 symbol或者symbols 其中之一
symbols 可以传入的格式:
["BTCUSDT","BNBUSDT"]
or
%5B%22BTCUSDT%22,%22BNBUSDT%22%5D

symbols 允许最多100个交易对
symbols
windowSize ENUM NO 默认为 1d
windowSize 支持的值:
如果是分钟: 1m,2m....59m
如果是小时: 1h, 2h....23h
如果是天: 1d...7d

不可以组合使用, 比如1d2h
type ENUM NO 可接受的参数: FULL or MINI.
如果不提供, 默认值为 FULL

数据源: 数据库

响应 - FULL

使用参数 symbol 返回:

{
"symbol": "BNBBTC",
"priceChange": "-8.00000000", // 价格变化
"priceChangePercent": "-88.889", // 价格变化百分比
"weightedAvgPrice": "2.60427807",
"openPrice": "9.00000000",
"highPrice": "9.00000000",
"lowPrice": "1.00000000",
"lastPrice": "1.00000000",
"volume": "187.00000000",
"quoteVolume": "487.00000000",
"openTime": 1641859200000, // ticker的开始时间
"closeTime": 1642031999999, // ticker的结束时间
"firstId": 0, // 统计时间内的第一笔trade id
"lastId": 60,
"count": 61 // 统计时间内交易笔数
}

使用参数 symbols 返回:

[
{
"symbol": "BTCUSDT",
"priceChange": "-154.13000000",
"priceChangePercent": "-0.740",
"weightedAvgPrice": "20677.46305250",
"openPrice": "20825.27000000",
"highPrice": "20972.46000000",
"lowPrice": "20327.92000000",
"lastPrice": "20671.14000000",
"volume": "72.65112300",
"quoteVolume": "1502240.91155513",
"openTime": 1655432400000,
"closeTime": 1655446835460,
"firstId": 11147809,
"lastId": 11149775,
"count": 1967
},
{
"symbol": "BNBBTC",
"priceChange": "0.00008530",
"priceChangePercent": "0.823",
"weightedAvgPrice": "0.01043129",
"openPrice": "0.01036170",
"highPrice": "0.01049850",
"lowPrice": "0.01033870",
"lastPrice": "0.01044700",
"volume": "166.67000000",
"quoteVolume": "1.73858301",
"openTime": 1655432400000,
"closeTime": 1655446835460,
"firstId": 2351674,
"lastId": 2352034,
"count": 361
}
]

响应 - MINI

使用参数 symbol 返回:

{
"symbol": "LTCBTC",
"openPrice": "0.10000000",
"highPrice": "2.00000000",
"lowPrice": "0.10000000",
"lastPrice": "2.00000000",
"volume": "39.00000000",
"quoteVolume": "13.40000000", // 此k线内所有交易的price(价格) x volume(交易量)的总和
"openTime": 1656986580000, // ticker窗口的开始时间
"closeTime": 1657001016795, // ticker窗口的结束时间
"firstId": 0, // 首笔成交id
"lastId": 34,
"count": 35 // 统计时间内交易笔数
}

使用参数 symbols 返回:

[
{
"symbol": "BNBBTC",
"openPrice": "0.10000000",
"highPrice": "2.00000000",
"lowPrice": "0.10000000",
"lastPrice": "2.00000000",
"volume": "39.00000000",
"quoteVolume": "13.40000000", // 此k线内所有交易的price(价格) x volume(交易量)的总和
"openTime": 1656986880000, // ticker窗口的开始时间
"closeTime": 1657001297799, // ticker窗口的结束时间
"firstId": 0, // 首笔成交id
"lastId": 34,
"count": 35 // 统计时间内交易笔数
},
{
"symbol": "LTCBTC",
"openPrice": "0.07000000",
"highPrice": "0.07000000",
"lowPrice": "0.07000000",
"lastPrice": "0.07000000",
"volume": "33.00000000",
"quoteVolume": "2.31000000",
"openTime": 1656986880000,
"closeTime": 1657001297799,
"firstId": 0,
"lastId": 32,
"count": 33
}
]

账户接口

下单 (TRADE)

POST /api/v3/order 

权重: 1

参数:

名称类型是否必需描述
symbolSTRINGYES
sideENUMYES详见枚举定义:订单类型
typeENUMYES详见枚举定义:订单方向
timeInForceENUMNO详见枚举定义:生效时间
quantityDECIMALNO
quoteOrderQtyDECIMALNO
priceDECIMALNO
newClientOrderIdSTRINGNO用户自定义的orderid,如空缺系统会自动赋值。
strategyIdLONGNO
strategyTypeINTNO不能低于 1000000.
stopPriceDECIMALNOSTOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT 需要此参数。
trailingDeltaLONGNO用于 STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, 和 TAKE_PROFIT_LIMIT 类型的订单。
icebergQtyDECIMALNO仅有限价单(包括条件限价单与限价做事单)可以使用该参数,含义为创建冰山订单并指定冰山订单的数量。
newOrderRespTypeENUMNO指定响应类型 ACK, RESULT, or FULL; MARKETLIMIT 订单默认为FULL, 其他默认为ACK
selfTradePreventionModeENUMNO允许的 ENUM 取决于交易对的配置。支持的值有:STP 模式
recvWindowLONGNO
timestampLONGYES

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

Type强制要求的参数其他信息
LIMITtimeInForce, quantity, price
MARKETquantity市价买卖单可用quantity参数来设置base asset数量.
例如:BTCUSDT 市价单,BTC 买卖数量取决于quantity参数.

市价买卖单可用quoteOrderQty参数来设置quote asset数量. 正确的quantity取决于市场的流动性与quoteOrderQty
例如: 市价 BUY BTCUSDT,单子会基于quoteOrderQty- USDT 的数量,购买 BTC.
市价 SELL BTCUSDT,单子会卖出 BTC 来满足quoteOrderQty- USDT 的数量.
STOP_LOSSquantity, stopPrice, trailingDelta条件满足后会下MARKET单子. (例如:达到stopPricetrailingDelta被启动)
STOP_LOSS_LIMITtimeInForce, quantity, price, stopPrice, trailingDelta
TAKE_PROFITquantity, stopPrice, trailingDelta条件满足后会下MARKET单子. (例如:达到stopPricetrailingDelta被启动)
TAKE_PROFIT_LIMITtimeInForce, quantity, price, stopPrice, trailingDelta
LIMIT_MAKERquantity, price订单大部分情况下与普通的限价单没有区别,但是如果在当前价格会立即吃对手单并成交则下单会被拒绝。因此使用这个订单类型可以保证订单一定是挂单方,不会成为吃单方。

其他:

  • 任何LIMITLIMIT_MAKER只要填icebergQty参数都可以下冰上订单。
  • 冰山订单的 timeInForce必须设置为GTC
  • STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT_LIMITTAKE_PROFIT 单子都能同时填上trailingDeltastopPrice
  • 填上quoteOrderQty的市价单不会触犯过滤器的LOT_SIZE限制。订单的quantity会尽量满足quoteOrderQty的数量。

条件单的触发价格必须:

  • 比下单时当前市价高: STOP_LOSS BUY, TAKE_PROFIT SELL
  • 比下单时当前市价低: STOP_LOSS SELL, TAKE_PROFIT BUY

关于 newOrderRespType的三种选择

数据源: 撮合引擎

Response ACK: 返回速度最快,不包含成交信息,信息量最少

{
"symbol": "BTCUSDT",
"orderId": 28,
"orderListId": -1, // 除非此单是订单列表的一部分, 否则此值为 -1
"clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
"transactTime": 1507725176595
}

Response RESULT: 返回速度居中,返回吃单成交的少量信息

{
"symbol": "BTCUSDT",
"orderId": 28,
"orderListId": -1, // 除非此单是订单列表的一部分, 否则此值为 -1
"clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
"transactTime": 1507725176595,
"price": "1.00000000",
"origQty": "10.00000000",
"executedQty": "10.00000000",
"cummulativeQuoteQty": "10.00000000",
"status": "FILLED",
"timeInForce": "GTC",
"type": "MARKET",
"side": "SELL"
"workingTime": 1507725176595,
"selfTradePreventionMode": "NONE"
}

Response FULL: 返回速度最慢,返回吃单成交的详细信息

{
"symbol": "BTCUSDT",
"orderId": 28,
"orderListId": -1, // 除非此单是订单列表的一部分, 否则此值为 -1
"clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
"transactTime": 1507725176595,
"price": "1.00000000",
"origQty": "10.00000000",
"executedQty": "10.00000000",
"cummulativeQuoteQty": "10.00000000",
"status": "FILLED",
"timeInForce": "GTC",
"type": "MARKET",
"side": "SELL",
"workingTime": 1507725176595,
"selfTradePreventionMode": "NONE",
"fills": [
{
"price": "4000.00000000",
"qty": "1.00000000",
"commission": "4.00000000",
"commissionAsset": "USDT",
"tradeId": 56
},
{
"price": "3999.00000000",
"qty": "5.00000000",
"commission": "19.99500000",
"commissionAsset": "USDT",
"tradeId": 57
},
{
"price": "3998.00000000",
"qty": "2.00000000",
"commission": "7.99600000",
"commissionAsset": "USDT",
"tradeId": 58
},
{
"price": "3997.00000000",
"qty": "1.00000000",
"commission": "3.99700000",
"commissionAsset": "USDT",
"tradeId": 59
},
{
"price": "3995.00000000",
"qty": "1.00000000",
"commission": "3.99500000",
"commissionAsset": "USDT",
"tradeId": 60
}
]
}

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

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

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

测试下单接口 (TRADE)

POST /api/v3/order/test 

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

权重:

条件权重
没有 computeCommissionRates1
computeCommissionRates20

参数:

除了 POST /api/v3/order 所有参数, 下面参数也支持:

参数名类型是否必需描述
computeCommissionRatesBOOLEANNO默认值: false

数据源: 缓存

响应:

没有 computeCommissionRates

{}

computeCommissionRates

{
"standardCommissionForOrder": { // 订单交易的标准佣金率
"maker": "0.00000112",
"taker": "0.00000114",
},
"taxCommissionForOrder": { // 订单交易的税率
"maker": "0.00000112",
"taker": "0.00000114",
},
"discount": { // 以BNB支付时的标准佣金折扣。
"enabledForAccount": true,
"enabledForSymbol": true,
"discountAsset": "BNB",
"discount": "0.25000000" // 当用BNB支付佣金时,在标准佣金上按此比率打折
}
}

查询订单 (USER_DATA)

GET /api/v3/order

查询订单状态

权重: 4

参数:

名称类型是否必需描述
symbolSTRINGYES
orderIdLONGNO
origClientOrderIdSTRINGNO
recvWindowLONGNO
timestampLONGYES

注意:

  • 至少需要发送 orderIdorigClientOrderId中的一个
  • 某些订单中cummulativeQuoteQty<0,是由于这些订单是cummulativeQuoteQty功能上线之前的订单。

数据源: 缓存 => 数据库

响应:

{
"symbol": "LTCBTC", // 交易对
"orderId": 1, // 系统的订单ID
"orderListId": -1, // 除非此单是订单列表的一部分, 否则此值为 -1
"clientOrderId": "myOrder1", // 客户自己设置的ID
"price": "0.1", // 订单价格
"origQty": "1.0", // 用户设置的原始订单数量
"executedQty": "0.0", // 交易的订单数量
"cummulativeQuoteQty": "0.0", // 累计交易的金额
"status": "NEW", // 订单状态
"timeInForce": "GTC", // 订单的时效方式
"type": "LIMIT", // 订单类型, 比如市价单,现价单等
"side": "BUY", // 订单方向,买还是卖
"stopPrice": "0.0", // 止损价格
"icebergQty": "0.0", // 冰山数量
"time": 1499827319559, // 订单时间
"updateTime": 1499827319559, // 最后更新时间
"isWorking": true, // 订单是否出现在orderbook中
"workingTime":1499827319559, // 订单添加到 order book 的时间
"origQuoteOrderQty": "0.000000", // 原始的交易金额
"selfTradePreventionMode": "NONE" // 如何处理自我交易模式
}

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

撤销订单 (TRADE)

DELETE /api/v3/order 

权重: 1

参数:

名称类型是否必需描述
symbolSTRINGYES
orderIdLONGNO
origClientOrderIdSTRINGNO
newClientOrderIdSTRINGNO用户自定义的本次撤销操作的ID(注意不是被撤销的订单的自定义ID)。如无指定会自动赋值。
cancelRestrictionsENUMNO支持的值:
ONLY_NEW - 如果订单状态为 NEW,撤销将成功。
ONLY_PARTIALLY_FILLED - 如果订单状态为 PARTIALLY_FILLED,撤销将成功。
recvWindowLONGNO
timestampLONGYES
  • orderIdorigClientOrderId 必须至少发送一个.
  • 如果两个参数一起发送, orderId优先被考虑.

数据源: 撮合引擎

响应:

{
"symbol": "LTCBTC",
"orderId": 28,
"orderListId": -1, // 除非此单是订单列表的一部分, 否则此值为 -1
"origClientOrderId": "myOrder1",
"clientOrderId": "cancelMyOrder1",
"transactTime": 1507725176595,
"price": "1.00000000",
"origQty": "10.00000000",
"executedQty": "8.00000000",
"cummulativeQuoteQty": "8.00000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL",
"selfTradePreventionMode": "NONE"
}

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

关于 cancelRestrictions

  • 如果 cancelRestrictions 值不是任何受支持的值,则错误将是:
{
"code": -1145,
"msg": "Invalid cancelRestrictions"
}
  • 如果订单没有通过 cancelRestrictions 的条件,错误将是:
{
"code": -2011,
"msg": "Order was not canceled due to cancel restrictions."
}

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

DELETE /api/v3/openOrders

撤销单一交易对下所有挂单。这也包括了来自订单列表的挂单。

权重: 1

参数:

名称类型是否必需描述
symbolSTRINGYES
recvWindowLONGNO不能大于 60000
timestampLONGYES

数据源: 撮合引擎

响应:

[
{
"symbol": "BTCUSDT",
"origClientOrderId": "E6APeyTJvkMvLMYMqu1KQ4",
"orderId": 11,
"orderListId": -1,
"clientOrderId": "pXLV6Hz6mprAcVYpVMTGgx",
"transactTime": 1684804350068,
"price": "0.089853",
"origQty": "0.178622",
"executedQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"selfTradePreventionMode": "NONE"
},
{
"symbol": "BTCUSDT",
"origClientOrderId": "A3EF2HCwxgZPFMrfwbgrhv",
"orderId": 13,
"orderListId": -1,
"clientOrderId": "pXLV6Hz6mprAcVYpVMTGgx",
"transactTime": 1684804350068,
"price": "0.090430",
"origQty": "0.178622",
"executedQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"selfTradePreventionMode": "NONE"
},
{
"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",
"transactTime": 1684804350068,
"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": "NONE"
},
{
"symbol": "BTCUSDT",
"origClientOrderId": "461cPg51vQjV3zIMOXNz39",
"orderId": 21,
"orderListId": 1929,
"clientOrderId": "pXLV6Hz6mprAcVYpVMTGgx",
"transactTime": 1684804350068,
"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": "NONE"
}
]
}
]

撤消挂单再下单 (TRADE)

POST /api/v3/order/cancelReplace

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

在撤消订单和下单前会判断: 1) 过滤器参数, 以及 2) 目前下单数量。

即使请求中没有尝试发送新订单,比如(newOrderResult: NOT_ATTEMPTED),下单的数量仍然会加1。

权重: 1

参数:

名称类型是否必需描述
symbolSTRINGYES
sideENUMYES
typeENUMYES
cancelReplaceModeENUMYES指定类型:STOP_ON_FAILURE - 如果撤消订单失败将不会继续重新下单。
ALLOW_FAILURE - 不管撤消订单是否成功都会继续重新下单。
timeInForceENUMNO
quantityDECIMALNO
quoteOrderQtyDECIMALNO
priceDECIMALNO
cancelNewClientOrderIdSTRINGNO用户自定义的id,如空缺系统会自动赋值
cancelOrigClientOrderIdSTRINGNO必须提供cancelOrigClientOrderId 或者 cancelOrderId。 如果两个参数都提供, cancelOrderId 会占优先。
cancelOrderIdLONGNO必须提供cancelOrigClientOrderId 或者 cancelOrderId。 如果两个参数都提供,cancelOrderId 会占优先。
newClientOrderIdSTRINGNO用于辨识新订单。
strategyIdLONGNO
strategyTypeINTNO不能低于 1000000
stopPriceDECIMALNO
trailingDeltaLONGNO
icebergQtyDECIMALNO
newOrderRespTypeENUMNO指定响应类型:
指定响应类型 ACK, RESULT, or FULL; MARKETLIMIT 订单默认为FULL, 其他默认为ACK
selfTradePreventionModeENUMNO允许的 ENUM 取决于交易对的配置。支持的值有:STP 模式
cancelRestrictionsENUMNO支持的值:
ONLY_NEW - 如果订单状态为 NEW,撤销将成功。
ONLY_PARTIALLY_FILLED - 如果订单状态为 PARTIALLY_FILLED,撤销将成功。
orderRateLimitExceededModeENUMNO支持的值:

“DO_NOTHING”(默认值)- 仅在账户未超过未成交订单频率限制时,会尝试取消订单。

“CANCEL_ONLY” - 将始终取消订单。
recvWindowLONGNO不能大于 60000
timestampLONGYES

如同 POST /api/v3/order,额外的强制参数取决于 type

响应格式根据消息的处理是成功、部分成功还是失败而有所不同。

数据来源: 撮合引擎

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

响应:没有超出未成交订单计数时的 Response SUCCESS

// 撤单和下单都成功
{
"cancelResult": "SUCCESS",
"newOrderResult": "SUCCESS",
"cancelResponse": {
"symbol": "BTCUSDT",
"origClientOrderId": "DnLo3vTAQcjha43lAZhZ0y",
"orderId": 9,
"orderListId": -1,
"clientOrderId": "osxN3JXAtJvKvCqGeMWMVR",
"transactTime": 1684804350068,
"price": "0.01000000",
"origQty": "0.000100",
"executedQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL"
},
"newOrderResponse": {
"symbol": "BTCUSDT",
"orderId": 10,
"orderListId": -1,
"clientOrderId": "wOceeeOzNORyLiQfw7jd8S",
"transactTime": 1652928801803,
"price": "0.02000000",
"origQty": "0.040000",
"executedQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"fills": []
}
}

响应:选择了 STOP_ON_FAILURE 而且账户没有超出未成交订单计数时, 撤单出现错误

{
"code": -2022,
"msg": "Order cancel-replace failed.",
"data": {
"cancelResult": "FAILURE",
"newOrderResult": "NOT_ATTEMPTED",
"cancelResponse": {
"code": -2011,
"msg": "Unknown order sent."
},
"newOrderResponse": null
}
}

响应:撤单成功而且账户没有超出未成交订单计数时,下单失败

{
"code": -2021,
"msg": "Order cancel-replace partially failed.",
"data": {
"cancelResult": "SUCCESS",
"newOrderResult": "FAILURE",
"cancelResponse": {
"symbol": "BTCUSDT",
"origClientOrderId": "86M8erehfExV8z2RC8Zo8k",
"orderId": 3,
"orderListId": -1,
"clientOrderId": "G1kLo6aDv2KGNTFcjfTSFq",
"price": "0.006123",
"origQty": "10000.000000",
"executedQty": "0.000000",
"cummulativeQuoteQty": "0.000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT_MAKER",
"side": "SELL"
},
"newOrderResponse": {
"code": -2010,
"msg": "Order would immediately match and take."
}
}
}

响应:选择 ALLOW_FAILURE 而且账户没有超出未成交订单计数时, 撤单出现错误

{
"code": -2021,
"msg": "Order cancel-replace partially failed.",
"data": {
"cancelResult": "FAILURE",
"newOrderResult": "SUCCESS",
"cancelResponse": {
"code": -2011,
"msg": "Unknown order sent."
},
"newOrderResponse": {
"symbol": "BTCUSDT",
"orderId": 11,
"orderListId": -1,
"clientOrderId": "pfojJMg6IMNDKuJqDxvoxN",
"transactTime": 1648540168818
}
}
}

响应:选择 cancelReplaceMode=ALLOW_FAILURE 而且账户没有超出未成交订单计数时, 撤单和下单失败

{
"code": -2022,
"msg": "Order cancel-replace failed.",
"data": {
"cancelResult": "FAILURE",
"newOrderResult": "FAILURE",
"cancelResponse": {
"code": -2011,
"msg": "Unknown order sent."
},
"newOrderResponse": {
"code": -2010,
"msg": "Order would immediately match and take."
}
}
}

响应:选择 orderRateLimitExceededMode=DO_NOTHING 而且账户超出未成交订单计数时

{
"code": -1015,
"msg": "Too many new orders; current limit is 1 orders per 10 SECOND."
}

响应:选择 orderRateLimitExceededMode=CANCEL_ONLY 而且账户超出未成交订单计数时

{
"code": -2021,
"msg": "Order cancel-replace partially failed.",
"data": {
"cancelResult": "SUCCESS",
"newOrderResult": "FAILURE",
"cancelResponse": {
"symbol": "LTCBNB",
"origClientOrderId": "GKt5zzfOxRDSQLveDYCTkc",
"orderId": 64,
"orderListId": -1,
"clientOrderId": "loehOJF3FjoreUBDmv739R",
"transactTime": 1715779007228,
"price": "1.00",
"origQty": "10.00000000",
"executedQty": "0.00000000",
"cummulativeQuoteQty": "0.00",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL",
"selfTradePreventionMode": "NONE"
},
"newOrderResponse": {
"code": -1015,
"msg": "Too many new orders; current limit is 1 orders per 10 SECOND."
}
}
}

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

查看账户当前挂单 (USER_DATA)

GET /api/v3/openOrders 

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

权重: 带symbol: 6 不带: 80

参数:

名称类型是否必需描述
symbolSTRINGNO
recvWindowLONGNO
timestampLONGYES
  • 不带symbol参数,会返回所有交易对的挂单

数据源: 缓存 => 数据库

响应:

[
{
"symbol": "LTCBTC",
"orderId": 1,
"orderListId": -1, // 除非此单是订单列表的一部分, 否则此值为 -1
"clientOrderId": "myOrder1",
"price": "0.1",
"origQty": "1.0",
"executedQty": "0.0",
"cummulativeQuoteQty": "0.0",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"stopPrice": "0.0",
"icebergQty": "0.0",
"time": 1499827319559,
"updateTime": 1499827319559,
"isWorking": true,
"origQuoteOrderQty": "0.000000",
"workingTime": 1499827319559,
"selfTradePreventionMode": "NONE"
}
]

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

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

GET /api/v3/allOrders 

权重: 20

参数:

名称类型是否必需描述
symbolSTRINGYES
orderIdLONGNO只返回此orderID之后的订单,缺省返回最近的订单
startTimeLONGNO
endTimeLONGNO
limitINTNODefault 500; max 1000.
recvWindowLONGNO
timestampLONGYES

注意:

  • 如设置 orderId , 订单量将 >= orderId。否则将返回最新订单。
  • 一些历史订单 cummulativeQuoteQty < 0, 是指数据此时不存在。
  • 如果设置 startTimeendTime, orderId 就不需要设置。
  • startTimeendTime之间的时间不能超过 24 小时。

数据源: 数据库

响应:

[
{
"symbol": "LTCBTC",
"orderId": 1,
"orderListId": -1, // 除非此单是订单列表的一部分, 否则此值为 -1
"clientOrderId": "myOrder1",
"price": "0.1",
"origQty": "1.0",
"executedQty": "0.0",
"cummulativeQuoteQty": "0.0",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"stopPrice": "0.0",
"icebergQty": "0.0",
"time": 1499827319559,
"updateTime": 1499827319559,
"isWorking": true,
"origQuoteOrderQty": "0.000000",
"workingTime": 1499827319559,
"selfTradePreventionMode": "NONE"
}
]

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

订单列表(Order lists)

发送新 OCO 订单 - 已弃用 (TRADE)

POST /api/v3/order/oco 

权重: 1

发送新的 OCO。

  • 价格限制:
    • SELL: Limit price > 最后交易价格 > stop Price
    • BUY: Limit price < 最后交易价格 < stop Price
  • 数量限制:
    • 两条腿的数量必须相同。
    • 不过, 冰山 交易的数量不一定相同
  • OCO2个订单添加到未成交的订单计数, EXCHANGE_MAX_ORDERS 过滤器和 MAX_NUM_ORDERS 过滤器中。

参数:

名称类型是否必需描述
symbolSTRINGYES
listClientOrderIdSTRINGNO整个orderList的唯一ID
sideENUMYES详见枚举定义:订单方向
quantityDECIMALYES
limitClientOrderIdSTRINGNO限价单的唯一ID
priceDECIMALYES
limitStrategyIdLONGNO
limitStrategyTypeINTNO不能低于 1000000
limitIcebergQtyDECIMALNO
trailingDeltaLONGNO
stopClientOrderIdSTRINGNO止损/止损限价单的唯一ID
stopPriceDECIMALYES
stopStrategyIdLONGNO
stopStrategyTypeINTNO不能低于 1000000
stopLimitPriceDECIMALNO如果提供,须配合提交stopLimitTimeInForce
stopIcebergQtyDECIMALNO
stopLimitTimeInForceENUMNO有效值 GTC/FOK/IOC
newOrderRespTypeENUMNO详见枚举定义:订单返回类型
selfTradePreventionModeENUMNO允许的 ENUM 取决于交易对的配置。支持的值有:STP 模式
recvWindowLONGNO不能大于 60000
timestampLONGYES

数据源: 撮合引擎

响应

{
"orderListId": 0,
"contingencyType": "OCO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "JYVpp3F0f5CAG15DhtrqLp",
"transactionTime": 1563417480525,
"symbol": "LTCBTC",
"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",
"workingTime": -1,
"selfTradePreventionMode": "NONE"
},
{
"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",
"workingTime": 1563417480525,
"selfTradePreventionMode": "NONE"
}
]
}

New Order list - OCO (TRADE)

POST /api/v3/orderList/oco

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

  • OCO 包含了两个订单,分别被称为 上方订单下方订单
  • 其中一个订单必须是 LIMIT_MAKER 订单,另一个订单必须是 STOP_LOSSSTOP_LOSS_LIMIT 订单。
  • 针对价格限制:
    • 如果 OCO 订单方向是 SELLLIMIT_MAKER price > 最后交易价格 > stopPrice
    • 如果 OCO 订单方向是 BUYLIMIT_MAKER price < 最后交易价格 < stopPrice
  • OCO2 个订单添加到未成交订单计数,EXCHANGE_MAX_ORDERS 过滤器和 MAX_NUM_ORDERS 过滤器中。

权重: 1

参数:

名称类型是否必需描述
symbolSTRINGYes
listClientOrderIdSTRINGNo整个 OCO order list 的唯一ID。 如果未发送则自动生成。
仅当前一个订单已填满或完全过期时,才会接受具有相同的listClientOrderId
listClientOrderIdaboveClientOrderIdbelowCLientOrderId 不同。
sideENUMYes订单方向:BUY or SELL
quantityDECIMALYes两个订单的数量。
aboveTypeENUMYes支持值:STOP_LOSS_LIMIT, STOP_LOSS, LIMIT_MAKER
aboveClientOrderIdSTRINGNo上方订单的唯一ID。 如果未发送则自动生成。
aboveIcebergQtyLONGNo请注意,只有当 aboveTimeInForceGTC 时才能使用。
abovePriceDECIMALNo
aboveStopPriceDECIMALNo如果 aboveTypeSTOP_LOSSSTOP_LOSS_LIMIT 才能使用。
必须指定 aboveStopPriceaboveTrailingDelta 或两者。
aboveTrailingDeltaLONGNo请看 追踪止盈止损(Trailing Stop)订单常见问题
aboveTimeInForceDECIMALNo如果 aboveTypeSTOP_LOSS_LIMIT,则为必填项。
aboveStrategyIdLONGNo订单策略中上方订单的 ID。
aboveStrategyTypeINTNo上方订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
belowTypeENUMYes支持值:STOP_LOSS_LIMIT, STOP_LOSS, LIMIT_MAKER
belowClientOrderIdSTRINGNo
belowIcebergQtyLONGNo请注意,只有当 belowTimeInForceGTC 时才能使用。
belowPriceDECIMALNo
belowStopPriceDECIMALNo如果 belowTypeSTOP_LOSSSTOP_LOSS_LIMIT 才能使用。
必须指定 belowStopPricebelowTrailingDelta 或两者。
belowTrailingDeltaLONGNo请看 追踪止盈止损(Trailing Stop)订单常见问题
belowTimeInForceENUMNo如果belowTypeSTOP_LOSS_LIMIT,则为必须配合提交的值。
belowStrategyIdLONGNo订单策略中下方订单的 ID。
belowStrategyTypeINTNo下方订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
newOrderRespTypeENUMNo响应格式可选值: ACK, RESULT, FULL
selfTradePreventionModeENUMNo允许的 ENUM 取决于交易对上的配置。 支持值:STP 模式
recvWindowLONGNo不能大于 60000
timestampLONGYes

数据源: 撮合引擎

响应:

使用 newOrderRespType 参数来选择 orderReports 的响应格式。以下示例适用于 RESULT 响应类型。 请参阅 POST /api/v3/order了解更多 orderReports 的响应类型。

{
"orderListId": 1,
"contingencyType": "OCO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "lH1YDkuQKWiXVXHPSKYEIp",
"transactionTime": 1710485608839,
"symbol": "LTCBTC",
"orders": [
{
"symbol": "LTCBTC",
"orderId": 10,
"clientOrderId": "44nZvqpemY7sVYgPYbvPih"
},
{
"symbol": "LTCBTC",
"orderId": 11,
"clientOrderId": "NuMp0nVYnciDiFmVqfpBqK"
}
],
"orderReports": [
{
"symbol": "LTCBTC",
"orderId": 10,
"orderListId": 1,
"clientOrderId": "44nZvqpemY7sVYgPYbvPih",
"transactTime": 1710485608839,
"price": "1.00000000",
"origQty": "5.00000000",
"executedQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "STOP_LOSS_LIMIT",
"side": "SELL",
"stopPrice": "1.00000000",
"workingTime": -1,
"icebergQty": "1.00000000",
"selfTradePreventionMode": "NONE"
},
{
"symbol": "LTCBTC",
"orderId": 11,
"orderListId": 1,
"clientOrderId": "NuMp0nVYnciDiFmVqfpBqK",
"transactTime": 1710485608839,
"price": "3.00000000",
"origQty": "5.00000000",
"executedQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT_MAKER",
"side": "SELL",
"workingTime": 1710485608839,
"selfTradePreventionMode": "NONE"
}
]
}

New Order List - OTO (TRADE)

POST /api/v3/orderList/oto

发送一个新的 OTO 订单。

  • 一个 OTO 订单(One-Triggers-the-Other)是一个包含了两个订单的订单列表.
  • 第一个订单被称为生效订单,必须为 LIMITLIMIT_MAKER 类型的订单。最初,订单簿上只有生效订单。
  • 第二个订单被称为待处理订单。它可以是任何订单类型,但不包括使用参数 quoteOrderQtyMARKET 订单。只有当生效订单完全成交时,待处理订单才会被自动下单。
  • 如果生效订单或者待处理订单中的任意一个被单独取消,订单列表中剩余的那个订单也会被随之取消或过期。
  • 如果生效订单在下订单列表后立即完全成交,则可能会得到订单响应。其中,生效订单的状态为 FILLED ,但待处理订单的状态为 PENDING_NEW。针对这类情况,如果需要检查当前状态,您可以查询相关的待处理订单。
  • OTO 订单将2 个订单添加到未成交订单计数,EXCHANGE_MAX_NUM_ORDERS 过滤器和 MAX_NUM_ORDERS 过滤器中。

权重: 1

参数:

名称类型是否必需描述
symbolSTRINGYES
listClientOrderIdSTRINGNO整个订单列表的唯一ID。 如果未发送则自动生成。
仅当前一个订单列表已填满或完全过期时,才会接受含有相同 listClientOrderId 值的新订单列表。
listClientOrderIdworkingClientOrderIdpendingClientOrderId 不同。
newOrderRespTypeENUMNO用于设置JSON响应的格式。 支持的数值: 订单返回类型
selfTradePreventionModeENUMNO允许的数值取决于交易对上的配置。参考 STP 模式
workingTypeENUMYES支持的数值: LIMITLIMIT_MAKER
workingSideENUMYES支持的数值: 订单方向
workingClientOrderIdSTRINGNO用于标识生效订单的唯一ID。
如果未发送则自动生成。
workingPriceDECIMALYES
workingQuantityDECIMALYES用于设置生效订单的数量。
workingIcebergQtyDECIMALNO只有当 workingTimeInForceGTC 时才能使用。
workingTimeInForceENUMNO支持的数值: 生效时间
workingStrategyIdLONGNO订单策略中用于标识生效订单的 ID。
workingStrategyTypeINTNO用于标识生效订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
pendingTypeENUMYES支持的数值: 订单类型
请注意,系统不支持使用 quoteOrderQtyMARKET 订单。
pendingSideENUMYES支持的数值: 订单方向
pendingClientOrderIdSTRINGNO用于标识待处理订单的唯一ID。
如果未发送则自动生成。
pendingPriceDECIMALNO
pendingStopPriceDECIMALNO
pendingTrailingDeltaDECIMALNO
pendingQuantityDECIMALYES用于设置待处理订单的数量。
pendingIcebergQtyDECIMALNO只有当 pendingTimeInForceGTC 或者当 pendingTypeLIMIT_MAKER 时才能使用。
pendingTimeInForceENUMNO支持的数值: 生效时间
pendingStrategyIdLONGNO订单策略中用于标识待处理订单的 ID。
pendingStrategyTypeINTNO用于标识待处理订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
recvWindowLONGNO不能大于 60000
timestampLONGYES

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

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

类型强制要求的参数其他信息
workingType = LIMITworkingTimeInForce
pendingType = LIMITpendingPricependingTimeInForce
pendingType = STOP_LOSSTAKE_PROFITpendingStopPrice 与/或 pendingTrailingDelta
pendingType = STOP_LOSS_LIMITTAKE_PROFIT_LIMITpendingPricependingStopPrice 与/或 pendingTrailingDeltapendingTimeInForce

数据源: 撮合引擎

响应:

{
"orderListId": 0,
"contingencyType": "OTO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "yl2ERtcar1o25zcWtqVBTC",
"transactionTime": 1712289389158,
"symbol": "ABCDEF",
"orders": [
{
"symbol": "LTCBTC",
"orderId": 4,
"clientOrderId": "Bq17mn9fP6vyCn75Jw1xya"
},
{
"symbol": "LTCBTC",
"orderId": 5,
"clientOrderId": "arLFo0zGJVDE69cvGBaU0d"
}
],
"orderReports": [
{
"symbol": "LTCBTC",
"orderId": 4,
"orderListId": 0,
"clientOrderId": "Bq17mn9fP6vyCn75Jw1xya",
"transactTime": 1712289389158,
"price": "1.00000000",
"origQty": "1.00000000",
"executedQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL",
"workingTime": 1712289389158,
"selfTradePreventionMode": "NONE"
},
{
"symbol": "LTCBTC",
"orderId": 5,
"orderListId": 0,
"clientOrderId": "arLFo0zGJVDE69cvGBaU0d",
"transactTime": 1712289389158,
"price": "0.00000000",
"origQty": "5.00000000",
"executedQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "PENDING_NEW",
"timeInForce": "GTC",
"type": "MARKET",
"side": "BUY",
"workingTime": -1,
"selfTradePreventionMode": "NONE"
}
]
}

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

New Order List - OTOCO (TRADE)

POST /api/v3/orderList/otoco

发送一个新的 OTOCO 订单。

  • 一个 OTOCO 订单(One-Triggers-One-Cancels-the-Other)是一个包含了三个订单的订单列表。
  • 第一个订单被称为生效订单,必须为 LIMITLIMIT_MAKER 类型的订单。最初,订单簿上只有生效订单。
    • 生效订单的行为与此一致 OTO
  • 一个OTOCO订单有两个待处理订单(pending above 和 pending below),它们构成了一个 OCO 订单列表。只有当生效订单完全成交时,待处理订单们才会被自动下单。
    • 待处理上方(pending above)订单和待处理下方(pending below)订单都遵循与 OCO 订单列表相同的规则 Order List OCO
  • OTOCO 在未成交订单计数,EXCHANGE_MAX_NUM_ORDERS 过滤器和 MAX_NUM_ORDERS 过滤器的基础上添加3个订单

权重: 1

参数:

名称类型是否必需描述
symbolSTRINGYES
listClientOrderIdSTRINGNO整个订单列表的唯一ID。 如果未发送则自动生成。
仅当前一个订单列表已填满或完全过期时,才会接受含有相同 listClientOrderId 值的新订单列表。
listClientOrderIdworkingClientOrderIdpendingAboveClientOrderId 以及 pendingBelowClientOrderId 不同。
newOrderRespTypeENUMNO用于设置JSON响应的格式。 支持的数值: 订单返回类型
selfTradePreventionModeENUMNO允许的数值取决于交易对上的配置。参考 STP 模式
workingTypeENUMYES支持的数值: LIMITLIMIT_MAKER
workingSideENUMYES支持的数值: 订单方向
workingClientOrderIdSTRINGNO用于标识生效订单的唯一ID。
如果未发送则自动生成。
workingPriceDECIMALYES
workingQuantityDECIMALYES
workingIcebergQtyDECIMALNO只有当 workingTimeInForceGTC 时才能使用。
workingTimeInForceENUMNO支持的数值: 生效时间
workingStrategyIdLONGNO订单策略中用于标识生效订单的 ID。
workingStrategyTypeINTNO用于标识生效订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
pendingSideENUMYES支持的数值: 订单方向
pendingQuantityDECIMALYES
pendingAboveTypeENUMYES支持的数值: LIMIT_MAKERSTOP_LOSSSTOP_LOSS_LIMIT
pendingAboveClientOrderIdSTRINGNO用于标识待处理上方订单的唯一ID。
如果未发送则自动生成。
pendingAbovePriceDECIMALNO
pendingAboveStopPriceDECIMALNO
pendingAboveTrailingDeltaDECIMALNO
pendingAboveIcebergQtyDECIMALNO只有当 pendingAboveTimeInForceGTC 时才能使用。
pendingAboveTimeInForceENUMNO
pendingAboveStrategyIdLONGNO订单策略中用于标识待处理上方订单的 ID。
pendingAboveStrategyTypeINTNO用于标识待处理上方订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
pendingBelowTypeENUMNO支持的数值: LIMIT_MAKERSTOP_LOSSSTOP_LOSS_LIMIT
pendingBelowClientOrderIdSTRINGNO用于标识待处理下方订单的唯一ID。
如果未发送则自动生成。
pendingBelowPriceDECIMALNO
pendingBelowStopPriceDECIMALNO
pendingBelowTrailingDeltaDECIMALNO
pendingBelowIcebergQtyDECIMALNO只有当 pendingBelowTimeInForceGTC 时才能使用。
pendingBelowTimeInForceENUMNO
pendingBelowStrategyIdLONGNO订单策略中用于标识待处理下方订单的 ID。
pendingBelowStrategyTypeINTNO用于标识待处理下方订单策略的任意数值。
小于 1000000 的值被保留,无法使用。
recvWindowLONGNO不能大于 60000
timestampLONGYES

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

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

类型强制要求的参数其他信息
workingType = LIMITworkingTimeInForce
pendingAboveType= LIMIT_MAKERpendingAbovePrice
pendingAboveType= STOP_LOSSpendingAboveStopPrice 与/或 pendingAboveTrailingDelta
pendingAboveType=STOP_LOSS_LIMITpendingAbovePricependingAboveStopPrice 与/或 pendingAboveTrailingDeltapendingAboveTimeInForce
pendingBelowType= LIMIT_MAKERpendingBelowPrice
pendingBelowType= STOP_LOSSpendingBelowStopPrice 与/或 pendingBelowTrailingDelta
pendingBelowType=STOP_LOSS_LIMITpendingBelowPricependingBelowStopPrice 与/或 pendingBelowTrailingDeltapendingBelowTimeInForce

数据源: 撮合引擎

响应:

{
"orderListId": 1,
"contingencyType": "OTO",
"listStatusType": "EXEC_STARTED",
"listOrderStatus": "EXECUTING",
"listClientOrderId": "RumwQpBaDctlUu5jyG5rs0",
"transactionTime": 1712291372842,
"symbol": "ABCDEF",
"orders": [
{
"symbol": "LTCBTC",
"orderId": 6,
"clientOrderId": "fM9Y4m23IFJVCQmIrlUmMK"
},
{
"symbol": "LTCBTC",
"orderId": 7,
"clientOrderId": "6pcQbFIzTXGZQ1e2MkGDq4"
},
{
"symbol": "LTCBTC",
"orderId": 8,
"clientOrderId": "r4JMv9cwAYYUwwBZfbussx"
}
],
"orderReports": [
{
"symbol": "LTCBTC",
"orderId": 6,
"orderListId": 1,
"clientOrderId": "fM9Y4m23IFJVCQmIrlUmMK",
"transactTime": 1712291372842,
"price": "1.00000000",
"origQty": "1.00000000",
"executedQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "NEW",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "SELL",
"workingTime": 1712291372842,
"selfTradePreventionMode": "NONE"
},
{
"symbol": "LTCBTC",
"orderId": 7,
"orderListId": 1,
"clientOrderId": "6pcQbFIzTXGZQ1e2MkGDq4",
"transactTime": 1712291372842,
"price": "1.00000000",
"origQty": "5.00000000",
"executedQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "PENDING_NEW",
"timeInForce": "IOC",
"type": "STOP_LOSS_LIMIT",
"side": "BUY",
"stopPrice": "6.00000000",
"workingTime": -1,
"selfTradePreventionMode": "NONE"
},
{
"symbol": "LTCBTC",
"orderId": 8,
"orderListId": 1,
"clientOrderId": "r4JMv9cwAYYUwwBZfbussx",
"transactTime": 1712291372842,
"price": "3.00000000",
"origQty": "5.00000000",
"executedQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "PENDING_NEW",
"timeInForce": "GTC",
"type": "LIMIT_MAKER",
"side": "BUY",
"workingTime": -1,
"selfTradePreventionMode": "NONE"
}
]
}

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

取消订单列表 (TRADE)

DELETE /api/v3/orderList

取消整个订单列表。

权重: 1

参数:

名称类型是否必需描述
symbolSTRINGYES
orderListIdLONGNOorderListIdlistClientOrderId 必须被提供
listClientOrderIdSTRINGNOorderListIdlistClientOrderId 必须被提供
newClientOrderIdSTRINGNO用户自定义的本次撤销操作的ID(注意不是被撤销的订单的自定义ID)。如无指定会自动赋值。
recvWindowLONGNO不能大于 60000
timestampLONGYES

其他注意点:

  • 取消订单列表中的单个订单将取消整个订单列表.
  • 如果 orderListIdlistClientOrderId 一起发送, orderListId 优先被考虑.

数据源: 撮合引擎

响应:

{
"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",
"transactTime": 1688005070874,
"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"
},
{
"symbol": "LTCBTC",
"origClientOrderId": "TXOvglzXuaubXAaENpaRCB",
"orderId": 3,
"orderListId": 0,
"clientOrderId": "unfWT8ig8i0uj6lPuYLez6",
"transactTime": 1688005070874,
"price": "3.00000000",
"origQty": "10.00000000",
"executedQty": "0.00000000",
"cummulativeQuoteQty": "0.00000000",
"status": "CANCELED",
"timeInForce": "GTC",
"type": "LIMIT_MAKER",
"side": "SELL"
}
]
}

查询订单列表 (USER_DATA)

GET /api/v3/orderList

根据提供的可选参数检索特定的订单列表。

权重: 4

参数:

名称类型是否必需描述
orderListIdLONGNOorderListIdorigClientOrderId 必须提供一个。
origClientOrderIdSTRINGNOorderListIdorigClientOrderId 必须提供一个。
recvWindowLONGNO赋值不得大于 60000
timestampLONGYES

数据源: 数据库

响应:

{
"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"
}
]
}

查询所有订单列表 (USER_DATA)

GET /api/v3/allOrderList

根据提供的可选参数检索所有的订单列表。

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

权重: 20

参数:

名称类型是否必需描述
fromIdLONGNO提供该项后, startTimeendTime 都不可提供
startTimeLONGNO
endTimeLONGNO
limitINTNO默认值: 500; 最大值: 1000
recvWindowLONGNO赋值不能超过 60000
timestampLONGYES

数据源: 数据库

响应:

[
{
"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"
}
]
}
]

查询订单列表挂单 (USER_DATA)

GET /api/v3/openOrderList

权重: 6

参数:

名称类型是否必需描述
recvWindowLONGNO赋值不能大于 60000
timestampLONGYES

数据源: 数据库

响应:

[
{
"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"
}
]
}
]

SOR

下 SOR 订单 (TRADE)

POST /api/v3/sor/order

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

权重: 1

参数:

名称类型是否必需描述
symbolSTRINGYES
sideENUMYES
typeENUMYES
timeInForceENUMNO
quantityDECIMALYES
priceDECIMALNO
newClientOrderIdSTRINGNO用户自定义的orderid,如空缺系统会自动赋值。如果几个订单具有相同的 newClientOrderID 赋值,
那么只有在前一个订单成交后才可以接受下一个订单,否则该订单将被拒绝。
strategyIdLONGNO
strategyTypeINTNO赋值不能小于 1000000.
icebergQtyDECIMALNO仅有限价单可以使用该参数,含义为创建冰山订单并指定冰山订单的数量。
newOrderRespTypeENUMNO指定响应类型:
指定响应类型 ACK, RESULTFULL; 默认为 FULL
selfTradePreventionModeENUMNO允许的 ENUM 取决于交易对的配置。支持的值有:STP 模式
recvWindowLONGNO赋值不能大于 60000
timestampLONGYES

请注意: POST /api/v3/sor/order 只支持 限价市场 单, 并不支持 quoteOrderQty

数据源: 撮合引擎

响应:

{
"symbol": "BTCUSDT",
"orderId": 2,
"orderListId": -1,
"clientOrderId": "sBI1KM6nNtOfj5tccZSKly",
"transactTime": 1689149087774,
"price": "31000.00000000",
"origQty": "0.50000000",
"executedQty": "0.50000000",
"cummulativeQuoteQty": "14000.00000000",
"status": "FILLED",
"timeInForce": "GTC",
"type": "LIMIT",
"side": "BUY",
"workingTime": 1689149087774,
"fills": [
{
"matchType": "ONE_PARTY_TRADE_REPORT",
"price": "28000.00000000",
"qty": "0.50000000",
"commission": "0.00000000",
"commissionAsset": "BTC",
"tradeId": -1,
"allocId": 0
}
],
"workingFloor": "SOR",
"selfTradePreventionMode": "NONE",
"usedSor": true
}

测试 SOR 下单接口 (TRADE)

POST /api/v3/sor/order/test

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

权重:

条件请求权重
没有 computeCommissionRates1
computeCommissionRates20

参数:

除了 POST /api/v3/sor/order 所有参数, 如下参数也接受:

参数名类型是否必需描述
computeCommissionRatesBOOLEANNO默认值: false

数据源: 缓存

响应:

没有 computeCommissionRates

{}

computeCommissionRates

{
"standardCommissionForOrder": { // 订单交易的标准佣金率。
"maker": "0.00000112",
"taker": "0.00000114",
},
"taxCommissionForOrder": { // 订单交易的税率。
"maker": "0.00000112",
"taker": "0.00000114",
},
"discount": { // 以BNB支付时的标准佣金折扣。
"enabledForAccount": true,
"enabledForSymbol": true,
"discountAsset": "BNB",
"discount": "0.25000000" // 当用BNB支付佣金时,在标准佣金上按此比率打折。
}
}

账户接口

账户信息 (USER_DATA)

GET /api/v3/account 

权重: 20

参数:

名称类型是否必需描述
omitZeroBalancesBOOLEANNO如果true,将隐藏所有零余额。
默认值:false
recvWindowLONGNO
timestampLONGYES

数据源: 缓存 => 数据库

响应:

{
"makerCommission": 15,
"takerCommission": 15,
"buyerCommission": 0,
"sellerCommission": 0,
"commissionRates": {
"maker": "0.00150000",
"taker": "0.00150000",
"buyer": "0.00000000",
"seller": "0.00000000"
},
"canTrade": true,
"canWithdraw": true,
"canDeposit": true,
"brokered": false,
"requireSelfTradePrevention": false,
"preventSor": false,
"updateTime": 123456789,
"accountType": "SPOT",
"balances": [
{
"asset": "BTC",
"free": "4723846.89208129",
"locked": "0.00000000"
},
{
"asset": "LTC",
"free": "4763368.68006011",
"locked": "0.00000000"
},
"permissions": [
"SPOT"
],
"uid": 354937868
]
}

账户成交历史 (USER_DATA)

GET /api/v3/myTrades  

获取某交易对的成交历史

权重: 20

参数:

名称类型是否必需描述
symbolSTRINGYES
orderIdLONGNO必须要和参数symbol一起使用.
startTimeLONGNO
endTimeLONGNO
fromIdLONGNO返回该fromId之后的成交,缺省返回最近的成交
limitINTNODefault 500; max 1000.
recvWindowLONGNO
timestampLONGYES

备注:

  • 如果设置了fromId, 会返回ID大于此fromId的交易. 不然则会返回最近的交易.
  • startTimeendTime设置的时间间隔不能超过24小时.
  • 支持的所有参数组合:
    • symbol
    • symbol + orderId
    • symbol + startTime
    • symbol + endTime
    • symbol + fromId
    • symbol + startTime + endTime
    • symbol+ orderId + fromId

数据源: 数据库

响应:

[
{
"symbol": "BNBBTC",
"id": 28457,
"orderId": 100234,
"price": "4.00000100",
"qty": "12.00000000",
"commission": "10.10000000",
"commissionAsset": "BNB",
"time": 1499865549590,
"isBuyer": true,
"isMaker": false,
"isBestMatch": true
}
]

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

GET /api/v3/rateLimit/order

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

权重: 40

参数:

名称类型是否必需描述
recvWindowLONGNO赋值不得大于 60000
timestampLONGYES

数据源: 缓存

响应:

[
{
"rateLimitType": "ORDERS",
"interval": "SECOND",
"intervalNum": 10,
"limit": 10000,
"count": 0
},
{
"rateLimitType": "ORDERS",
"interval": "DAY",
"intervalNum": 1,
"limit": 20000,
"count": 0
}
]

获取 Prevented Matches (USER_DATA)

GET /api/v3/myPreventedMatches

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

这些是支持的组合:

  • symbol + preventedMatchId
  • symbol + orderId
  • symbol + orderId + fromPreventedMatchId (limit 默认为 500)
  • symbol + orderId + fromPreventedMatchId + limit

参数:

名称类型是否必需描述
symbolSTRINGYES
preventedMatchIdLONGNO
orderIdLONGNO
fromPreventedMatchIdLONGNO
limitINTNO默认:500;最大:1000
recvWindowLONGNO赋值不得大于 60000
timestampLONGYES

权重:

情况权重
如果 symbol 是无效的2
通过 preventedMatchId 查询2
通过 orderId 查询20

数据源:

数据库

响应:

[
{
"symbol": "BTCUSDT",
"preventedMatchId": 1,
"takerOrderId": 5,
"makerSymbol": "BTCUSDT",
"makerOrderId": 3,
"tradeGroupId": 1,
"selfTradePreventionMode": "EXPIRE_MAKER",
"price": "1.100000",
"makerPreventedQuantity": "1.300000",
"transactTime": 1669101687094
}
]

查询分配结果 (USER_DATA)

GET /api/v3/myAllocations

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

权重: 20

参数:

名称类型是否必需描述
symbolSTRINGYes
startTimeLONGNo
endTimeLONGNo
fromAllocationIdINTNo
limitINTNo默认值 500; 最大值 1000
orderIdLONGNo
recvWindowLONGNo不能大于 60000
timestampLONGNo

支持的参数组合:

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

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

数据源: 数据库

响应:

[
{
"symbol": "BTCUSDT",
"allocationId": 0,
"allocationType": "SOR",
"orderId": 1,
"orderListId": -1,
"price": "1.00000000",
"qty": "5.00000000",
"quoteQty": "5.00000000",
"commission": "0.00000000",
"commissionAsset": "BTC",
"time": 1687506878118,
"isBuyer": true,
"isMaker": false,
"isAllocator": false
}
]

查询佣金费率 (USER_DATA)

GET /api/v3/account/commission

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

权重: 20

参数:

参数名类型是否必需描述
symbolSTRINGYES

数据源: 数据库

响应:

{
"symbol": "BTCUSDT",
"standardCommission": { // 订单交易的标准佣金率。
"maker": "0.00000010",
"taker": "0.00000020",
"buyer": "0.00000030",
"seller": "0.00000040"
},
"taxCommission": { // 订单交易的税率。
"maker": "0.00000112",
"taker": "0.00000114",
"buyer": "0.00000118",
"seller": "0.00000116"
},
"discount": { // 使用BNB支付时的佣金折扣。
"enabledForAccount": true,
"enabledForSymbol": true,
"discountAsset": "BNB",
"discount": "0.7500000" // 当用BNB支付佣金时,在标准佣金上按此比率打折。
}
}

用户数据流订阅接口

此处仅列出如何得到数据流名称及如何维持有效期的接口,具体订阅方式参考另一篇websocket接口文档

新建用户数据流 (USER_STREAM)

POST /api/v3/userDataStream

从创建起60分钟有效

权重: 2

参数: NONE

数据源: 缓存

响应:

{
"listenKey": "pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1" // 用于订阅的数据流名
}

Keepalive (USER_STREAM)

PUT /api/v3/userDataStream

延长用户数据流有效期到60分钟之后。 建议每30分钟调用一次

权重: 2

参数:

名称类型是否必需描述
listenKeySTRINGYES

数据源: 缓存

响应:

{}

关闭用户数据流 (USER_STREAM)

DELETE /api/v3/userDataStream

关闭用户数据流。

权重: 2

参数:

名称类型是否必需描述
listenKeySTRINGYES

数据源: 缓存

响应:

{}