Broker Open API的地址请见这里
获取当前broker的交易规则和合约symbol的信息(精度单位等信息),包括合约的风险限额和乘数等信息。
0
GET /openapi/v1/brokerInfo
名称 | 类型 | 是否强制 | 默认 | 描述 |
| string |
| | 交易类型,支持的类型现为 |
名称 | 类型 | 例子 | 描述 |
| string |
| 时间戳的时区。 |
| long |
| 返回现在的服务器时间戳(毫秒级) |
在rateLimits
信息组里: 下单api的请求限制将会被展示。
名称 | 类型 | 例子 | 描述 |
| string |
| 速度限制类型 |
| string |
| 速度限制区间 |
| string |
| 速度限制区间价值 |
在contracts
信息组里: 所有当前券商正在交易的合约的信息将会被返回:
名称 | 类型 | 例子 | 描述 |
| string |
| 合约名称 |
| string |
| 合约状态 |
| string |
| 基础资产。对于合约来说,合约本身就是基础资产。 |
| float |
| 基础资产(合约数量)的精度 |
| string |
| 定价资产。对于合约来说,这个是合约是以什么来结算的。 |
| float |
| 定价资产(合约价格)的精度。 |
| bool |
| 合约是否为反向合约(true=是反向合约,false=是正向合约)。 |
| string |
| 标的指数的名称。标的指数实时价格可在 |
| string |
| 合约的乘数。 |
| string |
| 是否支持冰山订单。 |
在 contracts
的filters
信息组里:
名称 | 类型 | 例子 | 描述 |
| string |
| 过滤器类型。 |
| float |
| 允许的最小价格。 |
| float |
| 允许的最大价格。 |
| float |
| 合约价格的精度。 |
| float |
| 允许的最小数量。 |
| float |
| 允许的最大数量。 |
| float |
| 合约数量的精度。 |
| float |
| 最小交易额限制(数量 * 价格) |
在riskLimits
信息组里:
名称 | 类型 | 例子 | 描述 |
| float |
| 仓位小于此数且大于前一个档位的 |
| float |
| 初始保证金率。 |
| float |
| 最小维持保证金率。 |
{"timezone":"UTC","serverTime":"1570701444309","brokerFilters":[],"rateLimits":[{"rateLimitType":"ORDERS","interval":"SECOND","limit":20},{"rateLimitType":"ORDERS","interval":"DAY","limit":350000},{"rateLimitType":"REQUEST_WEIGHT","interval":"MINUTE","limit":1500}],"contracts":[{"filters":[{"minPrice":"0.01","maxPrice":"100000.00000000","tickSize":"0.01","filterType":"PRICE_FILTER"},{"minQty":"1","maxQty":"100000.00000000","stepSize":"1","filterType":"LOT_SIZE"},{"minNotional":"0.000001","filterType":"MIN_NOTIONAL"}],"exchangeId":"301","symbol":"BTC-PERP-REV","symbolName":"BTC-PERP-REV","status":"TRADING","baseAsset":"BTC-PERP-REV","baseAssetPrecision":"1","quoteAsset":"USDT","quoteAssetPrecision":"0.01","icebergAllowed":false,"inverse":true,"index":"BTCUSDT","marginToken":"TBTC","marginPrecision":"0.00000001","contractMultiplier":"1.0","riskLimits":[{"riskLimitId":"200000001","quantity":"1000000.0","initialMargin":"0.01","maintMargin":"0.005"},{"riskLimitId":"200000002","quantity":"2000000.0","initialMargin":"0.02","maintMargin":"0.01"},{"riskLimitId":"200000003","quantity":"3000000.0","initialMargin":"0.03","maintMargin":"0.015"},{"riskLimitId":"200000004","quantity":"4000000.0","initialMargin":"0.04","maintMargin":"0.02"}]}]}
标的指数价格
0
GET /openapi/quote/v1/contract/index
名称 | 类型 | 是否强制 | 默认 | 描述 |
symbol | string |
| | 标的指数名称。如果这个没有发送,所有标的指数的价格都会被返回。 |
名称 | 类型 | 例子 | 描述 |
| float |
| 标的指数的价格。 |
| float |
| 标的指数的EDP(预估交割价,过去10分钟指数价格的平均值)。 |
{"index":{"BTCUSDT":"8243.21666667","OKBUSDT":"1.482","BNBUSDT":"31.2658","HTUSDT":"3.1209",...},"edp":{"BTCUSDT":"8258.98505556","OKBUSDT":"1.48578333","BNBUSDT":"31.48741917","HTUSDT":"3.14308",...}}
获取当前资金费率 (历史资金费率正在建设)
0
GET /openapi/contract/v1/fundingRate
名称 | 类型 | 是否强制 | 默认 | 描述 |
| string |
| | 合约名称。如果没有发送该参数,所有合约的资金费率都会被返回。 |
| string |
|
| 获取 |
| long |
| | 开始时间戳。 |
| long |
| | 结束时间戳。 |
| integer |
|
| 返回条数。 |
名称 | 类型 | 例子 | 描述 |
| string |
| 合约名称。 |
| long |
| 本次结算开始时间。 |
| long |
| 本次结算结束时间。 |
| float |
| 该次结算资金费率。 |
[{'symbol': 'BTC-PERP-REV','intervalStart': '1570708800000','intervalEnd': '1570737600000',},...]
获取当前订单簿的数据。
根据数量会不一样,请求数量越多,重量越大:
数量 | 请求重量 |
5, 10, 20, 50, 100 | 1 |
500 | 5 |
1000 | 10 |
GET /openapi/quote/v1/contract/depth
名称 | 类型 | 是否强制 | 默认 | 描述 |
| string |
| | 用来获取订单簿的合约名称。 |
| integer |
|
| 返回 |
名称 | 类型 | 例子 | 描述 |
| long |
| 当前时间(Unix Timestamp,毫秒ms) |
| list | (如下) | 所有bid的价格和数量信息,最优bid价格由上到下排列。 |
| list | (如下) | 所有ask的价格和数量信息,最优ask价格由上到下排列。 |
bids
和asks
所对应的信息组代表了订单簿的所有价格以及价格对应数量的信息,由最优价格从上到下排列。
名称 | 类型 | 例子 | 描述 |
| float |
| 价格 |
| float |
| 当前价格对应的数量 |
{"time": 1555049455783,"bids": [["78.82", "0.526"],//[价格, 数量]["77.24", "1.22"],["76.65", "1.043"],["76.58", "1.34"],["75.67", "1.52"],["75.12", "0.635"],["75.02", "0.72"],["75.01", "0.672"],["73.73", "1.282"],["73.58", "1.116"],["73.45", "0.471"],["73.44", "0.483"],["72.32", "0.383"],["72.26", "1.283"],["72.11", "0.703"],["70.61", "0.454"]],"asks": [["122.96", "0.381"],//[价格, 数量]["144.46", "1"],["155.55", "0.065"],["160.16", "0.052"],["200", "0.775"],["249", "0.17"],["250", "1"],["300", "1"],["400", "1"],["499", "1"]]}
获取某个合约最近成交订单的信息。
1
GET /openapi/quote/v1/contract/trades
名称 | 类型 | 是否强制 | 默认 | 描述 |
| string |
| | 合约名称 |
| integer |
|
| 返回成交订单的数量 |
名称 | 类型 | 例子 | 描述 |
| float |
| 交易价格 |
| long |
| 当前Unix时间戳,毫秒(ms) |
| float |
| 数量(张数) |
| string |
| 卖方还是买方。 |
[{"price": "1.21","time": 1555034474064,"qty": "0.725","isBuyerMaker": False},...]
获取某个合约的K线信息(高,低,开,收,交易量...)
1
GET /openapi/quote/v1/contract/klines
名称 | 类型 | 是否强制 | 默认 | 描述 |
symbol
|string|YES
||合约名称 interval
|string|YES
||K线图区间。可识别发送的值为: 1m
,5m
,15m
,30m
,1h
,1d
,1w
,1M
(m
=分钟,h
=小时,d
=天,w
=星期,M
=月) limit
|integer|NO
|1000
|返回值的数量,最大值为1000 to
|integer|NO
||最后一个数据点的时间戳
名称 | 类型 | 例子 | 描述 |
| long |
| 开始时间戳,毫秒(ms) |
| float |
| 开盘价 |
| float |
| 最高价 |
| float |
| 最低价 |
| float |
| 收盘价 |
| float |
| 合约交易金额 |
| long |
| 停止时间戳,毫秒(ms) |
| float |
| 交易数量(张数) |
| integer |
| 已成交数量(张数) |
| float |
| 买方购买金额 |
| float |
| 买方购买数量(张数) |
[[1538728740000, //'开盘时间''36.000000000000000000', //'开盘价''36.000000000000000000', //'最高价''36.000000000000000000', //'最低价':'36.000000000000000000', //'收盘价''148976.11427815', // 合约交易金额1499644799999, // 收盘时间'2434.19055334', // 交易数量(张数)308, // 已成交数量(张数)'1756.87402397', // 买方购买金额'28.46694368' // 买方购买数量(张数)],...]
base asset
代表买方收到了该数量的合约
quote asset
代表该数量的token用来获得合约
合约下单,这个端点需要签名访问。
1
POST /openapi/contract/v1/order
名称 | 类型 | 是否强制 | 默认 | 描述 |
| string |
| | 合约名称。 |
| string |
| | 下单方向,方向类型为 |
| string |
| | 订单类型,支持订单类型为 |
| float |
| | 订单的合约数量。 |
| float |
| | 订单的杠杆。 |
| float |
| | 订单价格。 |
| string |
|
| 价格类型,支持的价格类型为 |
| float |
| | 计划委托的触发价格。 |
| string |
|
|
|
| string/long |
| | 订单的ID,用户自己定义。 |
注意: 对于 市价订单, 你需要设置orderType
为 LIMIT
并且设置 priceType
为 MARKET
.
你可以在brokerInfo
端点获取合约价格,数量的精度配置信息。
注意:如果你的余额没有达到需要保证金的要求(初始保证金+开仓手续费+平仓手续费),将会有"insufficient balance"(余额不足)的错误返回。
对于 价格类型 和 订单类型 的详细解释,请参见文末。
名称 | 类型 | 例子 | 描述 |
| long |
| 订单生成时的时间戳 |
| long |
| 订单上次更新的时间戳 |
| integer |
| 订单ID |
| string |
| 用户定义的订单ID |
| string |
| 合约名称 |
| float |
| 订单价格 |
| float |
| 订单杠杆 |
| float |
| 订单数量 |
| float |
| 订单已执行数量 |
| float |
| 平均交易价格 |
| float |
| 该订单锁定的保证金。这包括实际需要的保证金外加开仓和平仓所需的费用。 |
| string |
| 订单类型( |
| string |
| 价格类型( |
| string |
| 订单方向( |
| string |
| 订单状态( |
| string |
| 时效单(Time in Force)类型( |
| | | 订单的手续费 |
{'time': '1570759718825','updateTime': '0','orderId': '469961015902208000','clientOrderId': '6423344174','symbol': 'BTC-PERP-REV','price': '8200','leverage': '12.08','origQty': '5','executedQty': '0','avgPrice': '0','marginLocked': '0.00005047','orderType': 'LIMIT','side': 'BUY_OPEN','fees': [],'timeInForce': 'GTC','status': 'NEW','priceType': 'INPUT'}
取消某个订单,需要发送orderId
或者clientOrderId
其中之一。这个API端点需要你的请求签名。
1
DELETE /openapi/contract/v1/order/cancel
名称 | 类型 | 是否强制 | 默认 | 描述 |
| integer |
| | 订单的ID |
| string |
| | 用户定义的订单ID |
| string |
| | 订单类型( |
注意:orderId
或者 clientOrderId
必须发送其中之一
名称 | 类型 | 例子 | 描述 |
| long |
| 订单生成时的时间戳 |
| long |
| 订单上次更新的时间戳 |
| integer |
| 订单ID |
| string |
| 用户定义的订单ID |
| string |
| 合约名称 |
| float |
| 订单价格 |
| float |
| 订单杠杆 |
| float |
| 订单数量 |
| float |
| 订单已执行数量 |
| float |
| 平均交易价格 |
| float |
| 该订单锁定的保证金。这包括实际需要的保证金外加开仓和平仓所需的费用。 |
| string |
| 订单类型( |
| string |
| 价格类型( |
| string |
| 订单方向( |
| string |
| 订单状态( |
| string |
| 时效单(Time in Force)类型( |
| | | 订单的手续费 |
在fees
信息组里:
名称 | 类型 | 例子 | 描述 |
| string |
| 手续费计价类型 |
| float |
| 实际手续费 |
{'time': '1570759718825','updateTime': '0','orderId': '469961015902208000','clientOrderId': '6423344174','symbol': 'BTC-PERP-REV','price': '8200','leverage': '12.08','origQty': '5','executedQty': '0','avgPrice': '0','marginLocked': '0','orderType': 'LIMIT','side': 'BUY_OPEN','fees': [],'timeInForce': 'GTC','status': 'CANCELED','priceType': 'INPUT' //status will always be `CANCELED` for cancel request}
批量撤销订单(正在建设中: 计划委托的批量撤单)
1
DELETE /openapi/contract/v1/order/batchCancel
名称 | 类型 | 是否强制 | 默认 | 描述 |
| string/list |
| | 合约名称(或者用 |
名称 | 类型 | 例子 | 描述 |
| string |
| 撤单请求的返回消息 |
| long |
| 返回时的时间戳 |
{'message':'success','timestamp':1541161088303}
未完成委托,这个API端点需要请求签名。
1
GET /openapi/contract/v1/openOrders
名称 | 类型 | 是否强制 | 默认 | 描述 |
| string |
| | 合约名称。如果没有在请求里发送,所有合约的未完成委托都会被返回。 |
| integer |
| | 订单ID |
| string |
| | 订单方向( |
| string |
| | 订单类型( |
| integer |
|
| 返回值的长度。 |
如果发送了orderId
,会返回所有< orderId
的订单。如果没有则会返回最新的未完成订单。
名称 | 类型 | 例子 | 描述 |
| long |
| 订单生成时的时间戳 |
| long |
| 订单上次更新的时间戳 |
| integer |
| 订单ID |
| string |
| 用户定义的订单ID |
| string |
| 合约名称 |
| float |
| 订单价格 |
| float |
| 订单杠杆 |
| float |
| 订单数量 |
| float |
| 订单已执行数量 |
| float |
| 平均交易价格 |
| float |
| 该订单锁定的保证金。这包括实际需要的保证金外加开仓和平仓所需的费用。 |
| string |
| 订单类型( |
| string |
| 价格类型( |
| string |
| 订单方向( |
| string |
| 订单状态( |
| string |
| 时效单(Time in Force)类型( |
| | | 订单的手续费 |
在fees
信息组里:
名称 | 类型 | 例子 | 描述 |
| string |
| 手续费计价类型 |
| float |
| 实际手续费 |
[{'time': '1570760254539','updateTime': '0','orderId': '469965509788581888','clientOrderId': '1570760253946','symbol': 'BTC-PERP-REV','price': '8502.34','leverage': '20','origQty': '222','executedQty': '0','avgPrice': '0','marginLocked': '0.00130552','orderType': 'LIMIT','side': 'BUY_OPEN','fees': [],'timeInForce': 'GTC','status': 'NEW','priceType': 'INPUT'},...]
Retrieves history of orders that have been partially or fully filled or canceled. This API endpoint requires your request to be signed.
1
GET /openapi/contract/v1/historyOrders
名称 | 类型 | 是否强制 | 默认 | 描述 |
| string |
| | Symbol to return open orders for. If not sent, orders of all contracts will be returned. |
| integer |
| | Order ID |
| string |
| | Direction of the order. Possible values include |
| string |
| | The order type, possible types: |
| integer |
|
| Number of entries to return. |
If orderId
is set, it will get orders < that orderId
. Otherwise most recent orders are returned.
名称 | 类型 | 例子 | 描述 |
| long |
| 订单生成时的时间戳 |
| long |
| 订单上次更新的时间戳 |
| integer |
| 订单ID |
| string |
| 用户定义的订单ID |
| string |
| 合约名称 |
| float |
| 订单价格 |
| float |
| 订单杠杆 |
| float |
| 订单数量 |
| float |
| 订单已执行数量 |
| float |
| 平均交易价格 |
| float |
| 该订单锁定的保证金。这包括实际需要的保证金外加开仓和平仓所需的费用。 |
| string |
| 订单类型( |
| string |
| 价格类型( |
| string |
| 订单方向( |
| string |
| 订单状态( |
| string |
| 时效单(Time in Force)类型( |
| | | 订单的手续费 |
在fees
信息组里:
名称 | 类型 | 例子 | 描述 |
| string |
| 手续费计价类型 |
| float |
| 实际手续费 |
[{'time': '1570759718825','updateTime': '0','orderId': '469961015902208000','clientOrderId': '6423344174','symbol': 'BTC-PERP-REV','price': '8200','leverage': '12.08','origQty': '5','executedQty': '0','avgPrice': '0','marginLocked': '0','orderType': 'LIMIT','side': 'BUY_OPEN','fees': [],'timeInForce': 'GTC','status': 'CANCELED','priceType': 'INPUT'},...]
获取某个订单的详细信息
1
GET /openapi/contract/v1/getOrder
名称 | 类型 | 是否强制 | 默认 | 描述 |
| integer |
| | 订单ID |
| string |
| | 用户定义的订单ID |
| string |
| | 订单类型( |
注意:orderId
或者 clientOrderId
必须发送其中之一
名称 | 类型 | 例子 | 描述 |
| long |
| 订单生成时的时间戳 |
| long |
| 订单上次更新的时间戳 |
| integer |
| 订单ID |
| string |
| 用户定义的订单ID |
| string |
| 合约名称 |
| float |
| 订单价格 |
| float |
| 订单杠杆 |
| float |
| 订单数量 |
| float |
| 订单已执行数量 |
| float |
| 平均交易价格 |
| float |
| 该订单锁定的保证金。这包括实际需要的保证金外加开仓和平仓所需的费用。 |
| string |
| 订单类型( |
| string |
| 价格类型( |
| string |
| 订单方向( |
| string |
| 订单状态( |
| string |
| 时效单(Time in Force)类型( |
| | | 订单的手续费 |
在fees
信息组里:
名称 | 类型 | 例子 | 描述 |
| string |
| 手续费计价类型 |
| float |
| 实际手续费 |
{'time': '1570760254539','updateTime': '0','orderId': '469965509788581888','clientOrderId': '1570760253946','symbol': 'BTC-PERP-REV','price': '8502.34','leverage': '20','origQty': '222','executedQty': '0','avgPrice': '0','marginLocked': '0.00130552','orderType': 'LIMIT','side': 'BUY_OPEN','fees': [],'timeInForce': 'GTC','status': 'NEW','priceType': 'INPUT'}
返回账户的成交历史,这个API端点需要请求签名。
1
GET /openapi/contract/v1/myTrades
名称 | 类型 | 是否强制 | 默认 | 描述 |
| string |
| | 合约名称。如果没有发送,所有合约的成交历史都会被返回。 |
| integer |
|
| 返回限制(最大值为1000) |
| string |
| | 订单方向 |
| integer |
| | 从TradeId开始(用来查询成交订单) |
| integer |
| | 到TradeId结束(用来查询成交订单) |
名称 | 类型 | 例子 | 描述 |
| long |
| 订单生成是的时间戳 |
| long |
| 成交ID |
| long |
| 订单ID |
| long |
| 成交对手订单ID |
| string |
| 合约名称 |
| float |
| 成交价格 |
| float |
| 成交数量 |
| string |
| 手续费类型(Token名称) |
| | | 实际手续费 |
| string |
| 订单方向( |
| string |
| 订单类型( |
[{'time': '1570760582848','tradeId': '469968263995080704','orderId': '469968263793737728',"matchOrderId": 436002617267469062,'accountId': '456552319339779840','symbolId': 'BTC-PERP-REV','price': '8531.17','quantity': '100','feeTokenId': 'TBTC','fee': '0.00000586','type': 'LIMIT','side': 'BUY_OPEN'},...]
返回现在的仓位信息,这个API需要请求签名。
1
GET /openapi/contract/v1/positions
名称 | 类型 | 是否强制 | 默认 | 描述 |
| string |
| | 合约名称。如果没有发送,所有的合约仓位信息都会被返回。 |
| string |
| | 仓位方向, |
名称 | 类型 | 例子 | 描述 |
| string |
| 合约名称 |
| string |
| 仓位方向( |
| float |
| 平均开仓价格 |
| float |
| 开仓数量(张) |
| float |
| 可平仓数量(张) |
| float |
| 仓位现在杠杆 |
| float |
| 合约最新市场成交价 |
| float |
| 仓位价值 |
| float |
| 强制平仓价格 |
| float |
| 仓位保证金 |
| float |
| 当前仓位的保证金率 |
| float |
| 当前仓位的未实现盈亏 |
| float |
| 当前仓位的盈利率 |
| float |
| 当前 合约 的已实现盈亏 |
[{'symbol': 'BTC-PERP-REV','side': 'LONG','avgPrice': '8183.11','position': '1100','available': '1100','leverage': '6','lastPrice': '8572.53','positionValue': '0.12833346','flp': '7523.65','margin': '0.01251335','marginRate': '0.14','unrealizedPnL': '0.00608975','profitRate': '0.0000333','realizedPnL': '-0.00006721'},...]
返回合约账户余额,这个端点需要请求签名。
1
GET /openapi/contract/v1/account
None
名称 | 类型 | 例子 | 描述 |
| float |
| 总余额 |
| float |
| 可用保证金 |
| float |
| 仓位保证金 |
| float |
| 委托保证金(下单锁定) |
{"TBTC": {"total":"131.06671401","availableMargin":"131.0545541","positionMargin":"0.01215991","orderMargin":"0"},