账户接口
账户信息 (USER_DATA)
GET /api/v3/account
权重: 20
参数:
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| omitZeroBalances | BOOLEAN | NO | 如果true,将隐藏所有零余额。 默认值: false |
| recvWindow | DECIMAL | NO | 最大值为 60000 毫秒。 支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。 |
| timestamp | LONG | YES |
数据源: 缓存 => 数据库
响应:
{
"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/order
查询订单状态
权重: 4
参数:
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| symbol | STRING | YES | |
| orderId | LONG | NO | |
| origClientOrderId | STRING | NO | |
| recvWindow | DECIMAL | NO | 最大值为 60000 毫秒。 支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。 |
| timestamp | LONG | YES |
注意:
- 至少需要发送
orderId与origClientOrderId中的一个。 - 当同时提供
orderId和origClientOrderId两个参数时,系统首先将会使用orderId来搜索订单。然后, 查找结果中的origClientOrderId的值将会被用来验证订单。如果两个条件都不满足,则请求将被拒绝。 - 某些订单中
cummulativeQuoteQty<0,是由于这些订单是cummulativeQuoteQty功能上线之前的订单。
数据源: 缓存 => 数据库
响应:
{
"symbol": "LTCBTC", // 交易对
"orderId": 1, // 系统的订单ID
"orderListId": -1, // 除非此单是订单列表的一部分, 否则此值为 -1
"clientOrderId": "myOrder1", // 客户自己设置的ID
"price": "0.1", // 订单价格
"origQty": "1.0", // 用户设置的原始订单数量
"executedQty": "0.0", // 交易的订单数量
"origQuoteOrderQty": "0.000000",
"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 没有显示所有可以出现的字段,更多请看 订单响应中的特定条件时才会出现的字段 部分。
查看账户当前挂单 (USER_DATA)
GET /api/v3/openOrders
请小心使用不带symbol参数的调用
权重: 带symbol: 6 不带: 80
参数:
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| symbol | STRING | NO | |
| recvWindow | DECIMAL | NO | 最大值为 60000 毫秒。 支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。 |
| timestamp | LONG | YES |
- 不带symbol参数,会返回所有交易对的挂单
数据源: 缓存 => 数据库
响应:
[
{
"symbol": "LTCBTC",
"orderId": 1,
"orderListId": -1, // 除非此单是订单列表的一部分, 否则此值为 -1
"clientOrderId": "myOrder1",
"price": "0.1",
"origQty": "1.0",
"executedQty": "0.0",
"origQuoteOrderQty": "0.000000",
"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
参数:
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| symbol | STRING | YES | |
| orderId | LONG | NO | 只返回此orderID之后的订单,缺省返回最近的订单 |
| startTime | LONG | NO | |
| endTime | LONG | NO | |
| limit | INT | NO | 默认值: 500; 最大值: 1000 |
| recvWindow | DECIMAL | NO | 最大值为 60000 毫秒。 支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。 |
| timestamp | LONG | YES |
注意:
- 如设置
orderId, 订单量将 >=orderId。否则将返回最新订单。 - 一些历史订单
cummulativeQuoteQty< 0, 是指数据此时不存在。 - 如果设置
startTime和endTime,orderId就不需要设置。 startTime和endTime之间的时间不能超过 24 小时。
数据源: 数据库
响应:
[
{
"symbol": "LTCBTC",
"orderId": 1,
"orderListId": -1, // 除非此单是订单列表的一部分, 否则此值为 -1
"clientOrderId": "myOrder1",
"price": "0.1",
"origQty": "1.0",
"executedQty": "0.0",
"origQuoteOrderQty": "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/orderList
根据提供的可选参数检索特定的订单列表。
权重: 4
参数:
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| orderListId | LONG | NO* | 通过 orderListId 获取订单列表。 必须提供 orderListId 或 origClientOrderId。 |
| origClientOrderId | STRING | NO* | 通过 listClientOrderId 获取订单列表。必须提供 orderListId 或 origClientOrderId。 |
| recvWindow | DECIMAL | NO | 最大值为 60000 毫秒。 支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。 |
| timestamp | LONG | YES |
数据源: 数据库
响应:
{
"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
根据提供的可选参数检索所有的订单列表。
请注意,startTime和endTime之间的时间不能超过 24 小时。
权重: 20
参数:
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| fromId | LONG | NO | 提供该项后, startTime 和 endTime 都不可提供 |
| startTime | LONG | NO | |
| endTime | LONG | NO | |
| limit | INT | NO | 默认值: 500; 最大值: 1000 |
| recvWindow | DECIMAL | NO | 最大值为 60000 毫秒。 支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。 |
| timestamp | LONG | YES |
数据源: 数据库
响应:
[
{
"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
参数:
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| recvWindow | DECIMAL | NO | 最大值为 60000 毫秒。 支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。 |
| timestamp | LONG | YES |
数据源: 缓存 => 数据库
响应:
[
{
"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"
}
]
}
]
账户成交历史 (USER_DATA)
GET /api/v3/myTrades
获取某交易对的成交历史
权重:
| 条件 | 权重 |
|---|---|
| 没有 orderId | 20 |
| 有 orderId | 5 |
参数:
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| symbol | STRING | YES | |
| orderId | LONG | NO | 必须要和参数symbol一起使用。 |
| startTime | LONG | NO | |
| endTime | LONG | NO | |
| fromId | LONG | NO | 返回该fromId之后的成交,缺省返回最近的成交 |
| limit | INT | NO | 默认值: 500; 最大值: 1000 |
| recvWindow | DECIMAL | NO | 最大值为 60000 毫秒。 支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。 |
| timestamp | LONG | YES |
备注:
- 如果设置了
fromId, 会返回ID大于此fromId的交易. 不然则会返回最近的交易。 startTime和endTime设置的时间间隔不能超过24小时。- 支持的所有参数组合:
symbolsymbol+orderIdsymbol+startTimesymbol+endTimesymbol+fromIdsymbol+startTime+endTimesymbol+orderId+fromId
数据源: 缓存 => 数据库
响应:
[
{
"symbol": "BNBBTC",
"id": 28457,
"orderId": 100234,
"orderListId": -1,
"price": "4.00000100",
"qty": "12.00000000",
"quoteQty": "48.000012",
"commission": "10.10000000",
"commissionAsset": "BNB",
"time": 1499865549590,
"isBuyer": true,
"isMaker": false,
"isBestMatch": true
}
]
查询未成交的订单计数 (USER_DATA)
GET /api/v3/rateLimit/order
显示用户在所有时间间隔内的未成交订单计数。
权重: 40
参数:
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| recvWindow | DECIMAL | NO | 最大值为 60000 毫秒。 支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。 |
| timestamp | LONG | YES |
数据源: 缓存
响应:
[
{
"rateLimitType": "ORDERS",
"interval": "SECOND",
"intervalNum": 10,
"limit": 50,
"count": 0
},
{
"rateLimitType": "ORDERS",
"interval": "DAY",
"intervalNum": 1,
"limit": 160000,
"count": 0
}
]
获取 Prevented Matches (USER_DATA)
GET /api/v3/myPreventedMatches
获取因 STP 而过期的订单列表。
这些是支持的组合:
symbol+preventedMatchIdsymbol+orderIdsymbol+orderId+fromPreventedMatchId(limit默认为 500)symbol+orderId+fromPreventedMatchId+limit
参数:
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| symbol | STRING | YES | |
| preventedMatchId | LONG | NO | |
| orderId | LONG | NO | |
| fromPreventedMatchId | LONG | NO | |
| limit | INT | NO | 默认值: 500; 最大值: 1000。 |
| recvWindow | DECIMAL | NO | 最大值为 60000 毫秒。 支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。 |
| timestamp | LONG | YES |
权重:
| 情况 | 权重 |
|---|---|
如果 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
参数:
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| symbol | STRING | Yes | |
| startTime | LONG | No | |
| endTime | LONG | No | |
| fromAllocationId | INT | No | |
| limit | INT | No | 默认值: 500; 最大值: 1000 |
| orderId | LONG | No | |
| recvWindow | DECIMAL | NO | 最大值为 60000 毫秒。 支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。 |
| timestamp | LONG | No |
支持的参数组合:
| 参数 | 响应 |
|---|---|
symbol | 按从最旧到最新排序的分配 |
symbol + startTime | 从 startTime 开始的最旧的分配 |
symbol + endTime | 到 endTime 为止的最新的分配 |
symbol + startTime + endTime | 在指定时间范围内的分配 |
symbol + fromAllocationId | 从指定 AllocationId 开始的分配 |
symbol + orderId | 按从最旧到最新排序并和特定订单关联的分配 |
symbol + orderId + fromAllocationId | 从指定 AllocationId 开始并和特定订单关联的分配 |
注意: startTime 和 endTime 之间的时间不能超过 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
参数:
| 参数名 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| symbol | STRING | YES |
数据源: 数据库
响应:
{
"symbol": "BTCUSDT",
"standardCommission": { // 订单交易的标准佣金率。
"maker": "0.00000010",
"taker": "0.00000020",
"buyer": "0.00000030",
"seller": "0.00000040"
},
"specialCommission": { // 订单交易的特殊佣金率。
"maker": "0.01000000",
"taker": "0.02000000",
"buyer": "0.03000000",
"seller": "0.04000000"
},
"taxCommission": { // 订单交易的税率。
"maker": "0.00000112",
"taker": "0.00000114",
"buyer": "0.00000118",
"seller": "0.00000116"
},
"discount": { // 使用BNB支付时的佣金折扣。
"enabledForAccount": true,
"enabledForSymbol": true,
"discountAsset": "BNB",
"discount": "0.75000000" // 当用BNB支付佣金时,在标准佣金上按此比率打折。
}
}
查询改单 (USER_DATA)
GET /api/v3/order/amendments
查询对一个订单的所有改单操作。
权重: 4
参数:
| 参数名 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| symbol | STRING | YES | |
| orderId | LONG | YES | |
| fromExecutionId | LONG | NO | |
| limit | LONG | NO | 默认值: 500; 最大值: 1000 |
| recvWindow | DECIMAL | NO | 最大值为 60000 毫秒。 支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。 |
| timestamp | LONG | YES |
数据源: 数据库
响应:
[
{
"symbol": "BTCUSDT",
"orderId": 9,
"executionId": 22,
"origClientOrderId": "W0fJ9fiLKHOJutovPK3oJp",
"newClientOrderId": "UQ1Np3bmQ71jJzsSDW9Vpi",
"origQty": "5.00000000",
"newQty": "4.00000000",
"time": 1741669661670
},
{
"symbol": "BTCUDST",
"orderId": 9,
"executionId": 25,
"origClientOrderId": "UQ1Np3bmQ71jJzsSDW9Vpi",
"newClientOrderId": "5uS0r35ohuQyDlCzZuYXq2",
"origQty": "4.00000000",
"newQty": "3.00000000",
"time": 1741672924895
}
]
查询相关过滤器 (USER_DATA)
GET /api/v3/myFilters
用于检索一个账户上指定交易对的 filters 列表。这是唯一一个目前会显示账户是否应用了 MAX_ASSET 过滤器的端点。
权重: 40
参数:
| 名称 | 类型 | 是否必需 | 描述 |
|---|---|---|---|
| symbol | STRING | YES | |
| recvWindow | DECIMAL | NO | 最大值为 60000 毫秒。 支持最多三位小数的精度(例如 6000.346),以便可以指定微秒。 |
| timestamp | LONG | YES |
数据源: 缓存
响应:
{
"exchangeFilters": [
{
"filterType": "EXCHANGE_MAX_NUM_ORDERS",
"maxNumOrders": 1000
}
],
"symbolFilters": [
{
"filterType": "MAX_NUM_ORDER_LISTS",
"maxNumOrderLists": 20
}
],
"assetFilters": [
{
"filterType": "MAX_ASSET",
"asset": "JPY",
"limit": "1000000.00000000"
}
]
}