跳到主要内容

账户接口

账户信息 (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/order

查询订单状态

权重: 4

参数:

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

注意:

  • 至少需要发送 orderIdorigClientOrderId中的一个。
  • 当同时提供 orderIdorigClientOrderId 两个参数时,系统首先将会使用 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

参数:

名称类型是否必需描述
symbolSTRINGNO
recvWindowLONGNO
timestampLONGYES
  • 不带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

参数:

名称类型是否必需描述
symbolSTRINGYES
orderIdLONGNO只返回此orderID之后的订单,缺省返回最近的订单
startTimeLONGNO
endTimeLONGNO
limitINTNO默认值: 500; 最大值: 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",
"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

参数:

名称类型是否必需描述
orderListIdLONGNO*通过 orderListId 获取订单列表。
必须提供 orderListIdorigClientOrderId
origClientOrderIdSTRINGNO*通过 listClientOrderId 获取订单列表。
必须提供 orderListIdorigClientOrderId
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"
}
]
}
]

账户成交历史 (USER_DATA)

GET /api/v3/myTrades

获取某交易对的成交历史

权重:

条件权重
没有 orderId20
有 orderId5

参数:

名称类型是否必需描述
symbolSTRINGYES
orderIdLONGNO必须要和参数symbol一起使用。
startTimeLONGNO
endTimeLONGNO
fromIdLONGNO返回该fromId之后的成交,缺省返回最近的成交
limitINTNO默认值: 500; 最大值: 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支付佣金时,在标准佣金上按此比率打折。
}
}

查询改单 (USER_DATA)

GET /api/v3/order/amendments

查询对一个订单的所有改单操作。

权重: 4

参数:

参数名类型是否必需描述
symbolSTRINGYES
orderIdLONGYES
fromExecutionIdLONGNO
limitLONGNO默认值: 500; 最大值: 1000
recvWindowLONGNO不能大于 60000
timestampLONGYES

数据源: 数据库

响应:

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