NAV
English

API概述

0. 域名

线上域名: https://openapi.bitwellex.com, https://openapi.bitwellex.co

您可以自行比较使用openapi.bitwellex.com和openapi.bitwellex.co两个域名的延迟情况,选择延迟低的进行使用。

其中,openapi.bitwellex.co域名对使用aws云服务的用户做了一定的链路延迟优化。

1. 访问限制

本章节访问限制的细节:

当访问超过频率限制时,将返回429状态:请求太频繁。

1.1 Rest API

如果传入有效的APIKey 用用户ID限速;如果没有则拿公网IP限速。

限速规则:各个接口上有单独的说明,如果没有一般接口限速为 5次/秒。

1.2 WebSocket

WebSocket将每个命令类型限制为每秒50条命令

2. 验证

本章节主要为验证的细节分以下4个方面:

2.1 生成APIKey

在对任何请求进行签名之前,您必须通过BitWell网站创建一个APIKey。创建APIKey后,您将获得2个必须记住的信息:

APIKey和SecretKey将由BitWell生成和提供。

2.2 发起请求

所有REST请求头都必须包含如下KEY:

FT-language 语言(可选),支持以下三种,默认 “en-US”

所有请求都应该含有application/json类型内容,并且是有效的JSON。

2.3 签名

BW-ACCESS-SIGN的请求头是对timestamp + Request Method + Request Path + Request body (其中+表示字符串连接) 使用HMAC SHA256方法加密,然后通过Base64编码输出而得。

字段 说明 注意事项 示例
timestamp Unix时间戳格式,精确到毫秒 值与BW-ACCESS-TIMESTAMP请求头相同 1420674445201
Request Method 请求方法 字母全部大写 POST
Request Path 请求接口路径 GET请求包含query参数 /order/pending?num=30
Request Body 请求主体的字符串 1) 若请求没有主体(通常为GET请求), 则省略
2) 值与请求一致
{“symbol”:“BTC_USDT”,“order_id”:1010000867765}
SecretKey 私钥 BitWell个人中心申请所生成 DtUTxNBkTUKr4N9hwaYmDSRgxyIDD0Za

2.3.1 javascript算法示例

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/hmac-sha256.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/enc-base64.min.js"></script>

<script>
  var timestamp = new Date().getTime();
  var message = timestamp + 'GET' + '/users/self/verify';
  var secretKey = "-BW Secret Key-";
  var hash = CryptoJS.HmacSHA256(message, secretKey);
  var hashInBase64 = CryptoJS.enc.Base64.stringify(hash);
  document.write(hashInBase64);
</script>

2.3.2 php算法示例

$secretKey = "Apply BW Api Secret Key and replace with your's";
$timestamp = intval(microtime(true)*1000);
$requestMethod = 'GET';
$requestPath = '/api/v1/orders/pending';
$requestBody = '';
$message = $timestamp.$requestMethod.$requestPath.$requestBody;

$s = hash_hmac('sha256', $message, $secretKey, true);
echo base64_encode($s);

2.3.3 python2.7算法示例

import hashlib
import hmac
import base64
import time

timstamp = int(round(time.time() * 1000))
m = str(timstamp) + 'GET' + '/order/pending?start=1' + '' 
message = bytes(m).encode('utf-8')
secret = bytes("--secretKey--").encode('utf-8')

signature = base64.b64encode(hmac.new(secret, message, digestmod=hashlib.sha256).digest())
print(signature)

2.3.4 go算法示例

package main

import (
	"crypto/hmac"
	"crypto/sha256"
	"encoding/base64"
	"fmt"
	"time"
)

func ComputeHmac256(message string, secret string) string {
	key := []byte(secret)
	h := hmac.New(sha256.New, key)
	h.Write([]byte(message))
	return base64.StdEncoding.EncodeToString(h.Sum(nil))
}

func main() {
	timestamp := time.Now().UnixNano() / 1000000
	message := fmt.Sprintf("%d%s%s%s", timestamp, "GET", "/order/pending?from=3", "")
	secretKey := "-BW Secret Key-"
	fmt.Println(ComputeHmac256(message, secretKey))
}

hmac参考: https://tools.ietf.org/id/draft-mcgrew-aead-aes-cbc-hmac-sha2-03.html

hmac sha256示例参考: https://www.jokecamp.com/blog/examples-of-creating-base64-hashes-using-hmac-sha256-in-different-languages/

2.4 时间戳

BW-ACCESS-TIMESTAMP请求头必须是Unix时间戳格式(如:1420674445201),精确到毫秒

2.5 Websocket 签名

注意:Websocket 签名时 Request Method 设为 POST, Request PathRequest Body 设为空字符串

2.6 公共api验证

公共api无须验证,但对频率有所限制。如果您是机构客户,访问量较大,可以联系客服申请公共api提频,申请通过后会取得单独的appkey参数,在访问公共api时在其URL访问参数中指定即可

市场交易对

1. 现货交易对

请求方式: GET
请求地址: /pub/openapi/v1/symbol/spot/all
登录授权:

请求参数: 无

返回结果:

字段名 字段类型 备注
base_asset string 基础资产code
quote_asset string 交易资产code
symbol string 交易对code
price_precision int 价格精度
volume_precision int 数量精度
quote_asset_precision int 交易资产精度
base_asset_precision int 基础资产精度
{
    "data": [
        {
            "base_asset": "USDT",
            "quote_asset": "BTC",
            "symbol": "BTC_USDT",
            "price_precision": 2,
            "volume_precision": 4
        },
        {
            "base_asset": "USDT",
            "symbol": "ETH_USDT",
            "price_precision": 2,
            "quote_asset": "ETH",
            "volume_precision": 4
        }
    ],
    "errmsg": "",
    "errno": 0
}

2. 指数交易对

请求方式: GET
请求地址: /pub/openapi/v1/symbol/index/all
登录授权:

请求参数: 无

返回结果:

字段名 字段类型 备注
base_asset string 基础资产code
quote_asset string 交易资产code
symbol string 交易对code
price_precision int 价格精度
volume_precision int 数量精度
{
    "data": [
        {
            "base_asset": "USDT",
            "symbol": "BTC_INDEX",
            "price_precision": 2,
            "quote_asset": "FT_INDEX",
            "volume_precision": 0
        },
        {
            "base_asset": "USDT",
            "symbol": "MKR_INDEX",
            "price_precision": 2,
            "quote_asset": "FT_INDEX",
            "volume_precision": 0
        }
    ],
    "errmsg": "",
    "errno": 0
}

3. 期权交易对

请求方式: GET
请求地址: /pub/openapi/v1/symbol/options/all
登录授权:

请求参数: 无

返回结果:

字段名 字段类型 备注
base_asset string 基础资产code
symbol string 交易对code
price_precision int 价格精度
volume_precision int 数量精度
direction int 方向:看涨:1,看跌:2
index_symbol string 关联指数
multiple string 合约乘数
strike_price string 行权价
strike_time int64 行权时间,精确到秒
underlying_asset string 标的资产code
quote_asset_precision int 交易资产精度
base_asset_precision int 基础资产精度
{
    "data": [
        {
            "base_asset": "USDT",
            "symbol": "FIL-20200927-16-C",
            "direction": 1,
            "index_symbol": "FIL_INDEX",
            "multiple": "10",
            "price_precision": 2,
            "strike_price": "16",
            "strike_time": 1601197200,
            "underlying_asset": "FIL",
            "volume_precision": 0
        },
        {
            "base_asset": "USDT",
            "symbol": "MKR-20201002-900-C",
            "direction": 1,
            "index_symbol": "MKR_INDEX",
            "multiple": "0.1",
            "price_precision": 2,
            "strike_price": "900",
            "strike_time": 1601629200,
            "underlying_asset": "MKR",
            "volume_precision": 0
        },
        {
            "base_asset": "USDT",
            "symbol": "BTC-20201002-7500-P",
            "direction": 2,
            "index_symbol": "BTC_INDEX",
            "multiple": "0.1",
            "price_precision": 2,
            "quote_asset": "FT_OPTIONS",
            "strike_price": "7500",
            "strike_time": 1601629200,
            "underlying_asset": "BTC",
            "volume_precision": 0
        }
    ],
    "errmsg": "",
    "errno": 0
}

4. 永续交易对

请求方式: GET
请求地址: /pub/openapi/v1/symbol/swap/all
登录授权:

请求参数: 无

返回结果:

字段名 字段类型 备注
base_asset string 基础资产code
symbol string 交易对code
price_precision int 价格精度
volume_precision int 数量精度
index_symbol string 关联指数
multiple string 合约乘数
underlying_asset string 标的资产code
quote_asset_precision int 交易资产精度
base_asset_precision int 基础资产精度
{
    "data": [
        {
            "base_asset": "USDT",
            "index_symbol": "BTC_INDEX",
            "multiple": "0.1",
            "price_precision": 2,
            "symbol": "BTCUSDT_SWAP",
            "underlying_asset": "BTC",
            "volume_precision": 0
        }
    ],
    "errmsg": "",
    "errno": 0
}

资产API

输出结构如下

字段名 字段类型 备注
data object 返回数据
errmsg string 错误信息
errno int 错误码( 0 : 代表成功)
{
    "data":{},
    "errmsg":"",
    "errno":0
}

输出响应头的content-type默认应为application/json 若成功响应,则errno对应为0

1. 资产查询

请求方式: GET
请求地址: /openapi/v1/asset/all
请求授权:

请求参数:

响应数据:

字段名 字段类型 备注
items array 资产列表
字段名 字段类型 备注
code string 资产code
name string 资产名称
{
    "data": {
        "items": [
            {
                "code": "BTC",
                "name": "Bitcoin"
            },
            {
                "code": "USDT",
                "name": "Tether USD"
            }
        ]
    },
    "errmsg": "",
    "errno": 0
}

2. 现货单个资产余额查询

请求方式: GET
请求地址: /openapi/v1/asset/spot/balance
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 备注
asset string true 资产code “资产查询"获取, 如: BTC

响应数据:

字段名 字段类型 备注
asset string 资产code
asset_name string 资产名称
available string 可用余额
frozen string 委托冻结资金
locked string 锁仓资金
total string 总计资金(可用+委托冻结+锁仓)
{
    "data": {
        "asset": "BTC",
        "asset_name": "Bitcoin",
        "available": "1013.12720675",
        "frozen": "0",
        "locked": "0",
        "total": "1013.12720675"
    },
    "errmsg": "",
    "errno": 0
}

3. 现货所有资产余额查询

请求方式: GET
请求地址: /openapi/v1/asset/spot/all_balance
请求授权:

请求参数: 无

响应数据:

字段名 字段类型 备注
items array 资产余额列表
字段名 字段类型 备注
asset string 资产code
asset_name string 资产名称
available string 可用余额
frozen string 委托冻结资金
locked string 锁仓资金
total string 总计资金(可用+委托冻结+锁仓)
{
    "data": {
        "items": [
            {
                "asset": "BTC",
                "asset_name": "Bitcoin",
                "available": "1013.12720675",
                "frozen": "0",
                "locked": "0",
                "total": "1013.12720675"
            },
            {
                "asset": "USDT",
                "asset_name": "Tether USD",
                "available": "9860739.020219",
                "frozen": "279.21",
                "locked": "0",
                "total": "9861018.230219"
            },
            {
                "asset": "ETH",
                "asset_name": "Ethereum",
                "available": "10000000.995",
                "frozen": "0",
                "locked": "0",
                "total": "10000000.995"
            }
        ]
    },
    "errmsg": "",
    "errno": 0
}

4. 期权单个资产余额查询

请求方式: GET
请求地址: /openapi/v1/asset/options/balance
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 备注
asset string true 资产code “资产查询"获取, 如: BTC

响应数据:

字段名 字段类型 备注
asset string 资产code
asset_name string 资产名称
available string 可用余额
frozen string 委托冻结资金
total string 总计资金(可用+委托冻结+备兑冻结+保证金冻结)
covered_frozen string 备兑冻结
margin_frozen string 保证金冻结
{
    "data": {
        "asset": "BTC",
        "asset_name": "Bitcoin",
        "available": "8999.9",
        "covered_frozen": "0",
        "frozen": "0.1",
        "margin_frozen": "0",
        "total": "9000"
    },
    "errmsg": "",
    "errno": 0
}

5. 期权所有资产余额查询

请求方式: GET
请求地址: /openapi/v1/asset/options/all_balance
请求授权:

请求参数: 无

响应数据:

字段名 字段类型 备注
items array 资产余额列表
字段名 字段类型 备注
asset string 资产code
asset_name string 资产名称
available string 可用余额
frozen string 委托冻结资金
total string 总计资金(可用+委托冻结+备兑冻结+保证金冻结)
covered_frozen string 备兑冻结
margin_frozen string 保证金冻结
{
    "data": {
        "items": [
            {
                "asset": "BTC",
                "asset_name": "Bitcoin",
                "available": "8999.9",
                "covered_frozen": "0",
                "frozen": "0.1",
                "margin_frozen": "0",
                "total": "9000"
            },
            {
                "asset": "USDT",
                "asset_name": "Tether USD",
                "available": "90000491.665951",
                "covered_frozen": "0",
                "frozen": "218.33",
                "margin_frozen": "96.3",
                "total": "90000806.295951"
            },
            {
                "asset": "ETH",
                "asset_name": "Ethereum",
                "available": "0",
                "covered_frozen": "0",
                "frozen": "0",
                "margin_frozen": "0",
                "total": "0"
            }
        ]
    },
    "errmsg": "",
    "errno": 0
}

6. 永续单个资产余额查询

请求方式: GET
请求地址: /openapi/v1/asset/swap/balance
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 备注
asset string true 资产code “资产查询"获取, 如: BTC

响应数据:

字段名 字段类型 备注
asset string 资产code
asset_name string 资产名称
available string 可用余额
frozen string 委托冻结资金
total string 总计资金(可用+委托冻结+保证金冻结)
margin_frozen string 保证金冻结
{
    "data": {
        "asset": "USDT",
        "asset_name": "Tether USD",
        "available": "99773.583336",
        "frozen": "0",
        "margin_frozen": "8286.637863",
        "total": "108060.221199"
    },
    "errmsg": "",
    "errno": 0
}

7. 永续所有资产余额查询

请求方式: GET
请求地址: /openapi/v1/asset/swap/all_balance
请求授权:

请求参数: 无

响应数据:

字段名 字段类型 备注
items array 资产余额列表
字段名 字段类型 备注
asset string 资产code
asset_name string 资产名称
available string 可用余额
frozen string 委托冻结资金
total string 总计资金(可用+委托冻结+保证金冻结)
margin_frozen string 保证金冻结
{
    "data": {
        "items": [
            {
                "asset": "BTC",
                "asset_name": "Bitcoin",
                "available": "0",
                "frozen": "0",
                "margin_frozen": "0",
                "total": "0"
            },
            {
                "asset": "USDT",
                "asset_name": "Tether USD",
                "available": "99773.583336",
                "frozen": "0",
                "margin_frozen": "8286.637863",
                "total": "108060.221199"
            }
        ]
    },
    "errmsg": "",
    "errno": 0
}

8. 资产划转(现货账户)

请求方式: POST
请求地址: /openapi/v1/asset/transfer
登录授权:
请求参数:

字段名 字段类型 是否必须 中文说明 备注
asset string 资产code 如: BTC/USDT
amount float 转账金额 如: 1.55
to_uid int 收款人

返回结果:

{
    "data": {},
    "errmsg": "",
    "errno": 0
}

现货API

输出结构如下

字段名 字段类型 备注
data object 返回数据
errmsg string 错误信息
errno int 错误码( 0 : 代表成功)
{
    "data":{},
    "errmsg":"",
    "errno":0
}

输出响应头的content-type默认应为application/json 若成功响应,则errno对应为0

另外,分页返回的 page 字段中,total为数据总条数(非总页数)。

1. 下单

请求方式: POST
请求地址: /openapi/v1/spot/order/place
请求授权:

请求参数:

{
	"symbol":"BTC_USDT",
	"order_type":"buy_limit",
	"price":8838,
	"volume":0.01,
	"client_oid":"test1111111111111"
}
字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string true 交易对 NA 如: BTC_USDT, ETH_USDT
order_type string true 订单类型 NA buy_limit:限价-买,
sell_limit:限价-卖,
buy_market:市价-买,
sell_market:市价-卖,
limit_stop_loss:限价止损,
limit_stop_profit:限价止盈,
market_stop_loss:市价止损,
market_stop_profit:市价止盈,
buy_post_only: 只挂单-买,
sell_post_only: 只挂单-卖
price float false 委托价格 NA 对市价单无效
volume float true 委托数量 NA
tri_price float false 止盈止损订单触发价格 NA
remain_type string false 剩余处理类型 cancel: 未满足部分即时撤单
limit_match_best: 以最优成交价挂单,如果没有成交则撤单
limit_last: 以最后成交价挂单,如果没有成交则撤单
limit_side_best: 以本方最优盘口价挂单,如果没有盘口则撤单
limit: 以委托价挂单
client_oid string false 用户自编订单号 NA 最大长度32个字符
retain_seconds int false 挂单保留时间 0 单位:秒, 0表示不过期

order_type 具体分类

1.1 buy_limit: 限价-买

字段名 字段类型 是否必须 中文说明 备注
symbol string true 交易对 见上
order_type string true 订单类型 值为 buy_limit
price float true 委托价格 见上
volume float true 委托数量 见上

1.2 sell_limit: 限价-卖

字段名 字段类型 是否必须 中文说明 备注
symbol string true 交易对 见上
order_type string true 订单类型 值为 sell_limit
price float true 委托价格 见上
volume float true 委托数量 见上

1.3 buy_market: 市价-买

字段名 字段类型 是否必须 中文说明 备注
symbol string true 交易对 见上
order_type string true 订单类型 值为 buy_market
volume float true 委托数量 见上

1.4 sell_market: 市价-卖

字段名 字段类型 是否必须 中文说明 备注
symbol string true 交易对 见上
order_type string true 订单类型 值为 sell_market
volume float true 委托数量 见上

1.5 limit_stop_loss: 限价止损

字段名 字段类型 是否必须 中文说明 备注
symbol string true 交易对 见上
order_type string true 订单类型 值为 limit_stop_loss
price float true 委托价格 见上
volume float true 委托数量 见上
tri_price float true 触发价格(止损线) 见上

1.6 limit_stop_profit: 限价止盈

字段名 字段类型 是否必须 中文说明 备注
symbol string true 交易对 见上
order_type string true 订单类型 值为 limit_stop_profit
price float true 委托价格 见上
volume float true 委托数量 见上
tri_price float true 触发价格(止盈线) 见上

1.7 market_stop_loss: 市价止损

字段名 字段类型 是否必须 中文说明 备注
symbol string true 交易对 见上
order_type string true 订单类型 值为 market_stop_loss
volume float true 委托数量 见上
tri_price float true 触发价格(止损线) 见上

1.8 market_stop_profit: 市价止盈

字段名 字段类型 是否必须 中文说明 备注
symbol string true 交易对 见上
order_type string true 订单类型 值为 market_stop_profit
volume float true 委托数量 见上
tri_price float true 触发价格(止盈线) 见上

1.9 buy_post_only: 只挂单-买

字段名 字段类型 是否必须 中文说明 备注
symbol string true 交易对 见上
order_type string true 订单类型 值为 buy_post_only
price float true 委托价格 见上
volume float true 委托数量 见上

1.10 sell_post_only: 只挂单-卖

字段名 字段类型 是否必须 中文说明 备注
symbol string true 交易对 见上
order_type string true 订单类型 值为 sell_post_only
price float true 委托价格 见上
volume float true 委托数量 见上

响应数据:

字段名 字段类型 备注
tri_order_id int 触价单订单编号(触价单使用)
order_id int 订单编号
client_oid string 用户自编订单号(如有)
{
    "data": {
        "tri_order_id": 1010000867764, 
        "order_id": 1010000867765,
        "client_oid": "c111111a11111",
    },
    "errmsg":"",
    "errno":0
}

2. 批量下单

请求方式: POST
请求地址: /openapi/v1/spot/order/batch_place
请求授权:

请求参数:

{
    "batch_orders":[
        {
            "symbol":"XRP_USDT",
            "order_type":"buy_limit",
            "price":0.21,
            "volume":1,
            "client_oid":"test1111111111111"
        }, {
            "symbol":"XRP_USDT",
            "order_type":"sell_limit",
            "price":0.22,
            "volume":1,
            "client_oid":"test1111111111112"
        }, {
            "symbol":"XRP_USDT",
            "order_type":"buy_market",
            "volume":1,
            "client_oid":"test1111111111113"
        }, {
            "symbol":"XRP_USDT",
            "order_type":"sell_market",
            "volume":1,
            "client_oid":"test1111111111114"
        }, {
            "symbol":"XRP_USDT",
            "order_type":"limit_stop_loss",
            "price":0.21,
            "volume":1,
            "tri_price":0.19,
            "client_oid":"test1111111111115"
        }
    ]
}
字段名 字段类型 是否必须 中文说明 默认值 备注
batch_orders array true 下单数据 NA
字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string true 交易对 NA 如: BTC_USDT, ETH_USDT
order_type string true 订单类型 NA buy_limit:限价-买,
sell_limit:限价-卖,
buy_market:市价-买,
sell_market:市价-卖,
limit_stop_loss:限价止损,
limit_stop_profit:限价止盈,
market_stop_loss:市价止损,
market_stop_profit:市价止盈,
buy_post_only: 只挂单-买,
sell_post_only: 只挂单-卖
price float false 委托价格 NA 对市价单无效
volume float true 委托数量 NA
tri_price float false 止盈止损订单触发价格 NA
remain_type string false 剩余处理类型 cancel: 未满足部分即时撤单
limit_match_best: 以最优成交价挂单,如果没有成交则撤单
limit_last: 以最后成交价挂单,如果没有成交则撤单
limit_side_best: 以本方最优盘口价挂单,如果没有盘口则撤单
limit: 以委托价挂单
client_oid string false 用户自编订单号 NA 最大长度32个字符
retain_seconds int false 挂单保留时间 0 单位:秒, 0表示不过期

order_type 具体分类: 同"下单api"

响应数据:

字段名 字段类型 备注
items array 订单数据
字段名 字段类型 备注
order_id int 订单编号
tri_order_id int 触价单订单编号(触价单使用)
client_oid string 用户自编订单号(如有)
errmsg string 错误信息
errno int 错误码(0: 代表成功)
{
    "data": {
        "items": [
            {
                "client_oid":"c111111a11111",
                "tri_order_id":0,
                "order_id":1010000868734,
                "errmsg":"",
                "errno":0
            },
            {
                "client_oid":"c111111a11112",
                "order_id":0,
                "tri_order_id":0,
                "errmsg":"Invalid remain type",
                "errno":11010101
            }
        ]
    },
    "errmsg":"",
    "errno":0
}

3. 撤单

请求方式: POST
请求地址: /openapi/v1/spot/order/cancel
请求授权:

请求参数:

{
    "order_id":1010000869102
}
字段名 字段类型 是否必须 中文说明 默认值 备注
order_id int64 true 订单id NA

响应数据:

{
    "data": {
        "order_id": 1010000866876,
        "client_oid": "c111111a11111",
    },
    "errmsg":"",
    "errno":0
}

4. 批量撤单

请求方式: POST
请求地址: /openapi/v1/spot/order/batch_cancel
请求授权:

请求参数:


{
	"order_ids": [
		1010000869123,
		1010000869124
	]
}
字段名 字段类型 是否必须 中文说明 默认值 备注
order_ids int64[] true 订单id NA

响应数据:

字段名 字段类型 备注
success array 撤单成功订单
failed array 撤单失败订单
字段名 字段类型 备注
order_id int64 订单编号
client_oid string 用户自编订单号(如有)
字段名 字段类型 备注
order_id int64 订单编号
client_oid string 用户自编订单号(如有)
errmsg string 错误信息(仅对被拒订单有效)
errno int 错误码(仅对被拒订单有效)
{
    "data": {
        "failed": [
            {
                "client_oid":"",
                "errmsg":"委托单已处理,无法撤单",
                "errno":11010202,
                "order_id":1010000868741
            }
        ],
        "success": [
            {
                "client_oid":"test1111111111111",
                "errmsg":"",
                "errno":0,
                "order_id":1010000868744
            },
            {
                "client_oid":"test1111111111112",
                "errmsg":"",
                "errno":0,
                "order_id":1010000868745
            }
        ]
    },
    "errmsg":"",
    "errno":0
}

5. 交易对批量撤单

请求方式: POST
请求地址:/openapi/v1/spot/order/symbol_batch_cancel
登录授权:

请求参数:


{
	"symbol": "BTC_USDT",
    "direction": 0
    "price":1.234
}
字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string true 交易对 NA 如: BTC_USDT, ETH_USDT
direction int false 交易对 0 1:撤卖单; 2:撤买单; 0:撤买卖单
price float false 撤单价格 0 撤销当前价到买一或卖一价之间所有委托单;值为0不生效

响应数据:

{
    "data":{},
    "errmsg":"",
    "errno":0
}

6. 订单详情

请求方式: GET
请求地址: /openapi/v1/spot/order/query
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
order_id int64 true 订单id NA

响应数据:

字段名 字段类型 备注
order_time int 委托时间(时间戳)
order_id int64 订单ID
client_oid string 用户自编订单号
symbol string 交易对
direction string 买卖方向, buy:买, sell:卖
price string 委托价格
volume string 委托数量
match_volume string 成交数量
match_amount string 成交金额
queue_price string 挂单价格
queue_volume string 挂单数量
order_type string 订单类型,
buy_limit:限价-买,
sell_limit:限价-卖,
buy_market:市价-买,
sell_market:市价-卖,
limit_stop_loss:限价止损,
limit_stop_profit:限价止盈,
market_stop_loss:市价止损,
market_stop_profit:市价止盈,
buy_post_only: 只挂单-买,
sell_post_only: 只挂单-卖
remain_type string 剩余处理类型, cancel: 未满足部分即时撤单
limit_match_best: 以最优成交价挂单,如果没有成交则撤单
limit_last: 以最后成交价挂单,如果没有成交则撤单
limit_side_best: 以本方最优盘口价挂单,如果没有盘口则撤单
limit: 以委托价挂单
state int 委托单状态, 0. 待处理, 1. 挂单中, 2. 撤单中, 3. 无成交且已撤单, 4. 部分成交且已撤单, 5. 全部成交, 6. 错误, 7. 等待触发, 8. 已触发, 9. 触价失效
tri_direction string 触发单方向, up: 上触价, down: 下触价
tri_price string 触发价格
{
    "data": {
        "order_time": 1601283710,
        "order_id": 10100002577892,
        "client_oid": "test00001",
        "symbol": "BTC_USDT",
        "direction": "buy",
        "price": "7000",
        "volume": "0.001",
        "match_volume": "0.001",
        "match_amount": "7",
        "queue_price": "7000",
        "queue_volume": "0",
        "order_type": "buy_limit",
        "state": 5,
        "tri_price": "0",
        "tri_direction": "",
        "remain_type": "limit"
    },
    "errmsg":"",
    "errno":0
}

7. 当前委托查询

请求方式: GET
请求地址: /openapi/v1/spot/order/pending
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string false 交易对 NA 如: BTC_USDT, ETH_USDT
start_date string false 查询开始日期 NA 日期格式 yyyy-mm-dd, 以订单生成时间进行查询
end_date string false 查询结束日期 NA 日期格式 yyyy-mm-dd, 以订单生成时间进行查询
num int false 结果集数量 10 每页返回的结果集数量,最大为100,不填默认返回10条

响应数据:

字段名 字段类型 备注
items array 订单列表
page object 分页信息
字段名 字段类型 备注
prev string 上一页, 第1页时值为””
next string 下一页, items数组长度小于num时值为””

分页使用:

第1页: 
    `openapi/v1/spot/order/pending`

上一页: 当前页大于`1`时, `prev`返回值不为空, 如下
    `openapi/v1/spot/order/pending?prev_id=xxxx&page_index=2`

下一页: `items`数组长度等于`num`时, `next`返回值不为空, 如下
    `openapi/v1/spot/order/pending?next_id=xxxx&page_index=3`
字段名 字段类型 备注
order_time int 委托时间(时间戳)
order_id int64 订单ID
client_oid string 用户自编订单号
symbol string 交易对
direction string 买卖方向, buy:买, sell:卖
price string 委托价格
volume string 委托数量
match_volume string 成交数量
match_amount string 成交金额
queue_price string 挂单价格
queue_volume string 挂单数量
order_type string 订单类型,
buy_limit:限价-买,
sell_limit:限价-卖,
buy_market:市价-买,
sell_market:市价-卖,
limit_stop_loss:限价止损,
limit_stop_profit:限价止盈,
market_stop_loss:市价止损,
market_stop_profit:市价止盈,
buy_post_only: 只挂单-买,
sell_post_only: 只挂单-卖
remain_type string 剩余处理类型, cancel: 未满足部分即时撤单
limit_match_best: 以最优成交价挂单,如果没有成交则撤单
limit_last: 以最后成交价挂单,如果没有成交则撤单
limit_side_best: 以本方最优盘口价挂单,如果没有盘口则撤单
limit: 以委托价挂单
state int 委托单状态, 0. 待处理, 1. 挂单中, 2. 撤单中, 3. 无成交且已撤单, 4. 部分成交且已撤单, 5. 全部成交, 6. 错误, 7. 等待触发, 8. 已触发, 9. 触价失效
tri_direction string 触发单方向, up: 上触价, down: 下触价
tri_price string 触发价格
{
    "data": {
        "items": [
            {
                "order_time": 1601283710,
                "order_id": 10100002577892,
                "client_oid": "test00001",
                "symbol": "BTC_USDT",
                "direction": "buy",
                "price": "7000",
                "volume": "0.001",
                "match_volume": "0.001",
                "match_amount": "7",
                "queue_price": "7000",
                "queue_volume": "0",
                "order_type": "buy_limit",
                "state": 5,
                "tri_price": "0",
                "tri_direction": "",
                "remain_type": "limit"
            },
        ],
        "page": {
            "prev": "",
            "next": "/openapi/v1/spot/order/pending?next_id=10100002606285&page_index=2"
        }
    },
    "errmsg": "",
    "errno": 0
}

8. 历史委托查询

请求方式: GET
请求地址: /openapi/v1/spot/order/filled
请求授权:

请求参数: 同当前委托查询

响应数据: 同当前委托查询

9. 所有委托查询

请求方式: GET
请求地址: /openapi/v1/spot/order/all
请求授权:

请求参数: 同当前委托查询

响应数据: 同当前委托查询

10. 成交查询

请求方式: GET
请求地址: /openapi/v1/spot/order/matches
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
order_id int64 false 订单id NA
symbol string false 交易对 NA 如: BTC_USDT, ETH_USDT
start_date string false 查询开始日期 NA 日期格式 yyyy-mm-dd, 以成交时间进行查询
end_date string false 查询结束日期 NA 日期格式 yyyy-mm-dd, 以成交时间时间进行查询
num int false 结果集数量 10 每页返回的结果集数量,最大为100,不填默认返回10条

响应数据:

字段名 字段类型 备注
items array 成交列表
page object 分页信息
字段名 字段类型 备注
prev string 上一页, 第1页时值为””
next string 下一页, items数组长度小于num时值为””

分页使用:同当前委托查询

字段名 字段类型 备注
match_time int 成交时间(时间戳)
direction string 买卖方向, buy:买, sell:卖
price string 成交价格
volume string 成交数量
fee_asset string 手续费资产
fee_volume string 手续费
symbol string 交易对
bonus_asset string maker补贴资产
bonus_volume string maker补贴资产数量
{
    "data": {
        "items": [
            {
                "direction": "sell",
                "fee_asset": "USDT",
                "fee_volume": "0.09607",
                "match_time": 1591431070,
                "price": "9607.04",
                "symbol": "BTC_USDT",
                "volume": "0.01",
                "bonus_asset": "USDT",
                "bonus_volume": "0.15"
            }
        ],
        "page": {
            "prev": "",
            "next": "/openapi/v1/spot/order/matches?next_id=1312783&page_index=2"
        }
    },
    "errmsg": "",
    "errno": 0
}

期权API

输出结构如下

字段名 字段类型 备注
data object 返回数据
errmsg string 错误信息
errno int 错误码( 0 : 代表成功)
{
    "data":{},
    "errmsg":"",
    "errno":0
}

输出响应头的content-type默认应为application/json 若成功响应,则errno对应为0

1. 下单

请求方式: POST
请求地址: /openapi/v1/options/order/place
请求授权:

请求参数:

{
	"symbol": "BTC-0612-7500-C",
	"price":218.1,
	"volume":1,
	"offset": "open",
	"open_mode": "buy",
	"client_oid":"test2111111111111"
}

常用参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string true 交易对 NA 如: BTC-0515-8250-C, BTC-0515-8250-P
price float true 委托价格 NA price_typemarket时可不传此参数
volume int true 委托数量(张) NA 委托数量只能为整数(xx张)
offset string true 开仓/平仓 NA open: 开仓, close: 平仓
open_mode string true 开仓模式 NA buy: 买入开仓,
covered_sell:备兑卖出开仓,
margin_sell:保证金卖出开仓
"看跌"期权不支持covered_sell
client_oid string false 用户自编订单号 NA 最大长度32个字符

高级选项(可选)

字段名 字段类型 是否必须 中文说明 默认值 备注
price_type string false 价格类型 limit limit: 限价, average: 均价, market: 市价
remain_type string false 剩余处理类型 limit cancel: 未满足部分即时撤单
limit_match_best: 以最优成交价挂单,如果没有成交则撤单
limit_last: 以最后成交价挂单,如果没有成交则撤单
limit_side_best: 以本方最优盘口价挂单,如果没有盘口则撤单
limit: 以委托价挂单
retain_seconds int false 挂单保留时间 0: 不过期 单位:秒, 0表示不过期

响应数据:

字段名 字段类型 备注
order_id int64 订单编号
client_oid string 用户自编订单号(如有)
{
    "data": {
        "order_id": 1020000867765,
        "client_oid": "c111111a11111",
    },
    "errmsg":"",
    "errno":0
}

2. 批量下单

请求方式: POST
请求地址: /openapi/v1/options/order/batch_place
请求授权:

请求参数:

{
    "batch_orders": [
        {
            "symbol": "BTC-0612-7500-C",
            "price":224.1,
            "volume":1,
            "offset": "open",
            "open_mode": "buy",
            "client_oid":"test2111111111114"
        }, {
            "symbol": "BTC-0612-7500-C",
            "price":225.1,
            "volume":1,
            "offset": "open",
            "open_mode": "covered_sell",
            "client_oid":"test2111111111115"
        }, {
            "symbol": "BTC-0612-7500-C",
            "price":225.1,
            "volume":1,
            "offset": "open",
            "open_mode": "margin_sell",
            "client_oid":"test2111111111116"
        }, {
            "symbol": "BTC-0612-7500-C",
            "price":218.1,
            "volume":1,
            "offset": "close",
            "open_mode": "buy",
            "client_oid":"test2111111111117"
        }, {
            "symbol": "BTC-0612-7500-C",
            "price":220,
            "volume":1,
            "offset": "close",
            "open_mode": "covered_sell",
            "client_oid":"test2111111111118"
        }
    ]
}
字段名 字段类型 是否必须 中文说明 默认值 备注
batch_orders array true 下单数据 NA

常用参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string true 交易对 NA 如: BTC-0515-8250-C, BTC-0515-8250-P
price float true 委托价格 NA price_typemarket时可不传此参数
volume int true 委托数量(张) NA 委托数量只能为整数(xx张)
offset string true 开仓/平仓 NA open: 开仓, close: 平仓
open_mode string true 开仓模式 NA buy: 买入开仓,
covered_sell:备兑卖出开仓,
margin_sell:保证金卖出开仓
"看跌"期权不支持covered_sell
client_oid string false 用户自编订单号 NA 最大长度32个字符

高级选项(可选)

字段名 字段类型 是否必须 中文说明 默认值 备注
price_type string false 价格类型 limit limit: 限价, average: 均价, market: 市价
remain_type string false 剩余处理类型 limit cancel: 未满足部分即时撤单
limit_match_best: 以最优成交价挂单,如果没有成交则撤单
limit_last: 以最后成交价挂单,如果没有成交则撤单
limit_side_best: 以本方最优盘口价挂单,如果没有盘口则撤单
limit: 以委托价挂单
retain_seconds int false 挂单保留时间 0: 不过期 单位:秒, 0表示不过期

响应数据:

字段名 字段类型 备注
items array 订单数据
字段名 字段类型 备注
order_id int64 订单编号
client_oid string 用户自编订单号(如有)
errmsg string 错误信息
errno int 错误码(0: 代表成功)
{
    "data": {
        "items": [
            {
                "client_oid": "test2111111111114",
                "errmsg": "",
                "errno": 0,
                "order_id": 1020000869145
            },
            {
                "client_oid": "test2111111111115",
                "errmsg": "",
                "errno": 0,
                "order_id": 1020000869146
            },
            {
                "client_oid": "test2111111111116",
                "errmsg": "",
                "errno": 0,
                "order_id": 1020000869147
            },
            {
                "client_oid": "test2111111111117",
                "errmsg": "",
                "errno": 0,
                "order_id": 1020000869148
            },
            {
                "client_oid": "test2111111111118",
                "errmsg": "期权未平合约数不足",
                "errno": 11020501,
                "order_id": 0
            }
        ]
    },
    "errmsg": "",
    "errno": 0
}

3. 单向持仓下单

请求方式: POST
请求地址: /openapi/v1/options/order/place_uni
请求授权:

请求参数:

{
	"symbol": "BTC-20210831-32000-C",
    "price": 60,
	"volume":2,
    "offset": "open",
    "open_mode": "buy",
    "client_oid": "100000000000000000109"
}

常用参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string true 交易对 NA 如: BTC-0515-8250-C, BTC-0515-8250-P
price float true 委托价格 NA price_typemarket时可不传此参数
volume int true 委托数量(张) NA 委托数量只能为整数(xx张)
offset string true 开仓/平仓 NA open: 开仓, close: 平仓, auto: 先平仓再开仓
open_mode string true 开仓模式 NA buy: 买入开仓,
covered_sell:备兑卖出开仓,
margin_sell:保证金卖出开仓
"看跌"期权不支持covered_sell
client_oid string false 用户自编订单号 NA 最大长度32个字符

高级选项(可选)

字段名 字段类型 是否必须 中文说明 默认值 备注
price_type string false 价格类型 limit limit: 限价, average: 均价, market: 市价
remain_type string false 剩余处理类型 limit cancel: 未满足部分即时撤单
limit_match_best: 以最优成交价挂单,如果没有成交则撤单
limit_last: 以最后成交价挂单,如果没有成交则撤单
limit_side_best: 以本方最优盘口价挂单,如果没有盘口则撤单
limit: 以委托价挂单
retain_seconds int false 挂单保留时间 0: 不过期 单位:秒, 0表示不过期

响应数据:

字段名 字段类型 备注
open object 开仓数据
close array 平仓数据
字段名 字段类型 备注
order_id int64 订单编号
client_oid string 用户自编订单号(如有)
errmsg string 错误信息
errno int 错误码(0: 代表成功)
字段名 字段类型 备注
order_id int64 订单编号
client_oid string 用户自编订单号(如有)
errmsg string 错误信息
errno int 错误码(0: 代表成功)
{
    "data": {
        "close": [
            {
                "client_oid": "",
                "errmsg": "",
                "errno": 0,
                "order_id": 5638463651748380672
            }
        ],
        "open": {
            "client_oid": "",
            "errmsg": "",
            "errno": 0,
            "order_id": 5638463656043347969
        }
    },
    "errmsg": "",
    "errno": 0
}

4. 撤单

请求方式: POST
请求地址: /openapi/v1/options/order/cancel
请求授权:

请求参数:

{
    "order_id":1020000869150
}
字段名 字段类型 是否必须 中文说明 默认值 备注
order_id int64 true 订单id NA

响应数据:

{
    "data": {
        "order_id": 1010000866876,
        "client_oid": "c111111a11111",
    },
    "errmsg":"",
    "errno":0
}

5. 批量撤单

请求方式: POST
请求地址: /openapi/v1/options/order/batch_cancel
请求授权:

请求参数:


{
	"order_ids": [
		1020000869143,
		1020000869144
	]
}
字段名 字段类型 是否必须 中文说明 默认值 备注
order_ids int64[] true 订单id NA

响应数据:

字段名 字段类型 备注
success array 撤单成功订单
failed array 撤单失败订单
字段名 字段类型 备注
order_id int64 订单编号
client_oid string 用户自编订单号(如有)
字段名 字段类型 备注
order_id int64 订单编号
client_oid string 用户自编订单号(如有)
errmsg string 错误信息(仅对被拒订单有效)
errno int 错误码(仅对被拒订单有效)
{
    "data": {
        "failed": [
            {
                "client_oid": "",
                "errmsg": "订单未触发,禁止撤单",
                "errno": 11010203,
                "order_id": 1020000869144
            }
        ],
        "success": [
            {
                "client_oid": "",
                "errmsg": "",
                "errno": 0,
                "order_id": 1020000869143
            }
        ]
    },
    "errmsg": "",
    "errno": 0
}

6. 交易对批量撤单

请求方式: POST
请求地址:/openapi/v1/options/order/symbol_batch_cancel
登录授权:

请求参数:


{
	"symbol": "BTC-0612-7500-C",
    "direction": 0
    "price":1.234
}
字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string true 交易对 NA 如: BTC-0612-7500-C
direction int false 交易对 0 1:撤卖单; 2:撤买单; 0:撤买卖单
price float false 撤单价格 0 撤销当前价到买一或卖一价之间所有委托单;值为0不生效

响应数据:

{
    "data":{},
    "errmsg":"",
    "errno":0
}

7. 订单详情

请求方式: GET
请求地址: /openapi/v1/options/order/query
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
order_id int64 true 订单id NA

响应数据:

字段名 字段类型 备注
order_time int 委托时间
order_id int64 订单ID
client_oid string 用户自编订单号
symbol string 交易对名称
direction string 买卖方向, buy:买, sell:卖
price string 委托价格
volume string 委托数量
offset string 开仓/平仓, open: 开仓, close: 平仓
open_mode string 开仓模式, buy: 买入开仓,
covered_sell:备兑卖出开仓,
margin_sell:保证金卖出开仓
price_type string 价格类型 limit: 限价, average: 均价, market: 市价
match_volume string 成交数量
match_amount string 成交金额
queue_price string 挂单价格
queue_volume string 挂单数量
remain_type string 剩余处理类型, cancel: 未满足部分即时撤单
limit_match_best: 以最优成交价挂单,如果没有成交则撤单
limit_last: 以最后成交价挂单,如果没有成交则撤单
limit_side_best: 以本方最优盘口价挂单,如果没有盘口则撤单
limit: 以委托价挂单
state int 委托单状态, 0. 待处理, 1. 挂单中, 2. 撤单中, 3. 无成交且已撤单, 4. 部分成交且已撤单, 5. 全部成交, 6. 错误, 7. 等待触发, 8. 已触发, 9. 触价失效
{
    "data": {
        "order_time": 1602315076,
        "order_id": 10200002605606,
        "client_oid": "",
        "symbol": "BTC-20201016-7500-C",
        "direction": "sell",
        "price": "301",
        "volume": "1",
        "offset": "open",
        "open_mode": "margin_sell",
        "price_type": "limit",
        "match_volume": "1",
        "match_amount": "585.55",
        "queue_price": "301",
        "queue_volume": "0",
        "state": 5,
        "remain_type": "limit"
    },
    "errmsg": "",
    "errno": 0
}

8. 当前委托查询

请求方式: GET
请求地址: /openapi/v1/options/order/pending
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string false 交易对 NA 如: BTC_USDT, ETH_USDT
start_date string false 查询开始日期 NA 日期格式 yyyy-mm-dd, 以订单生成时间进行查询
end_date string false 查询结束日期 NA 日期格式 yyyy-mm-dd, 以订单生成时间进行查询
num int false 结果集数量 10 每页返回的结果集数量,最大为100,不填默认返回10条

响应数据:

字段名 字段类型 备注
items array 订单列表
page object 分页信息
字段名 字段类型 备注
prev string 上一页, 第1页时值为””
next string 下一页, items数组长度小于num时值为””

分页使用:

第1页: 
    `openapi/v1/options/order/pending`

上一页: 当前页大于`1`时, `prev`返回值不为空, 如下
    `openapi/v1/options/order/pending?prev_id=xxxx&page_index=2`

下一页: `items`数组长度等于`num`时, `next`返回值不为空, 如下
    `/openapi/v1/options/order/pending?next_id=xxxx&page_index=3`
字段名 字段类型 备注
order_time int 委托时间
order_id int64 订单ID
client_oid string 用户自编订单号
symbol string 交易对名称
direction string 买卖方向, buy:买, sell:卖
price string 委托价格
volume string 委托数量
queue_price string 挂单价格
queue_volume string 挂单数量
offset string 开仓/平仓, open: 开仓, close: 平仓
open_mode string 开仓模式, buy: 买入开仓,
covered_sell:备兑卖出开仓,
margin_sell:保证金卖出开仓
price_type string 价格类型 limit: 限价, average: 均价, market: 市价
match_volume string 成交数量
match_amount string 成交金额
remain_type string 剩余处理类型, cancel: 未满足部分即时撤单
limit_match_best: 以最优成交价挂单,如果没有成交则撤单
limit_last: 以最后成交价挂单,如果没有成交则撤单
limit_side_best: 以本方最优盘口价挂单,如果没有盘口则撤单
limit: 以委托价挂单
state int 委托单状态, 0. 待处理, 1. 挂单中, 2. 撤单中, 3. 无成交且已撤单, 4. 部分成交且已撤单, 5. 全部成交, 6. 错误, 7. 等待触发, 8. 已触发, 9. 触价失效
{
    "data": {
        "items": [
            {
                "order_time": 1602315076,
                "order_id": 10200002605606,
                "client_oid": "",
                "symbol": "BTC-20201016-7500-C",
                "direction": "sell",
                "price": "301",
                "volume": "1",
                "offset": "open",
                "open_mode": "margin_sell",
                "price_type": "limit",
                "match_volume": "1",
                "match_amount": "585.55",
                "queue_price": "301",
                "queue_volume": "0",
                "state": 5,
                "remain_type": "limit"
            }
        ],
        "page": {
            "prev": "",
            "next": "/openapi/v1/options/order/pending?next_id=10200001849964&page_index=2"
        }
    },
    "errmsg": "",
    "errno": 0
}

9. 历史委托查询

请求方式: GET
请求地址: /openapi/v1/options/order/filled
请求授权:

请求参数: 同当前委托查询

响应数据: 同当前委托查询

10. 所有委托查询

请求方式: GET
请求地址: /openapi/v1/options/order/all
请求授权:

请求参数: 同当前委托查询

响应数据: 同当前委托查询

11. 成交查询

请求方式: GET
请求地址: /openapi/v1/options/order/matches
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
order_id int64 true 订单id NA
symbol string true 交易对 NA 如: BTC_USDT, ETH_USDT
start_date string false 查询开始日期 NA 日期格式 yyyy-mm-dd, 以成交时间进行查询
end_date string false 查询结束日期 NA 日期格式 yyyy-mm-dd, 以成交时间时间进行查询
num int false 结果集数量 10 每页返回的结果集数量,最大为100,不填默认返回10条

响应数据:

字段名 字段类型 备注
items array 成交列表
page object 分页信息
字段名 字段类型 备注
prev string 上一页, 第1页时值为””
next string 下一页, items数组长度小于num时值为””

分页使用:同当前委托查询

字段名 字段类型 备注
match_time int 成交时间
direction string 买卖方向, buy:买, sell:卖
price string 成交价格
volume string 成交数量
fee_asset string 手续费资产
fee_volume string 手续费
symbol string 交易对
offset string 开仓/平仓, open: 开仓, close: 平仓
open_mode string 开仓模式, buy: 买入开仓,
covered_sell:备兑卖出开仓,
margin_sell:保证金卖出开仓
bonus_asset string maker补贴资产
bonus_volume string maker补贴资产数量
{
    "data": {
        "items": [
            {
                "direction": "sell",
                "fee_asset": "USDT",
                "fee_volume": "0.1",
                "match_time": 1591448079,
                "offset": "open",
                "open_mode": "margin_sell",
                "price": "213.37",
                "symbol": "BTC-0612-7500-C",
                "volume": "1",
                "bonus_asset": "USDT",
                "bonus_volume": "0.15"
            }
        ],
        "page": {
            "prev": "",
            "next": "/openapi/v1/options/order/matches?next_id=1313173&page_index=2"
        }
    },
    "errmsg": "",
    "errno": 0
}

12. 期权持仓查询

请求方式: GET
请求地址: /openapi/v1/options/position
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string false 交易对 NA 如: BTC-0515-8250-C
symbols string[] false 交易对 NA 多个交易对查询,最多10个交易对
num int false 结果集数量 10 每页返回的结果集数量,最大为100,不填默认返回10条

响应数据:

字段名 字段类型 备注
items array 持仓列表
page object 分页信息
字段名 字段类型 备注
prev string 上一页, 第1页时值为””
next string 下一页, items数组长度小于num时值为””

分页使用:同当前委托查询

字段名 字段类型 备注
open_volume int 持仓数量
frozen_volume int 冻结数量
available int 可平仓数量
- open_volume(持仓数量) - frozen_volume(冻结数量)
covered_frozen string 冻结备兑数量(备兑占用)
margin_frozen string 冻结保证金数额(保证金占用)
open_mode string 开仓模式, buy: 买入开仓,
covered_sell:备兑卖出开仓,
margin_sell:保证金卖出开仓
open_profit string 收益(浮动盈亏)
symbol string 交易对名称
expiration_date int 期权到期日(10位时间戳)
{
    "data": {
        "items": [
            {
                "open_volume": 1,
                "frozen_volume": 0,
                "available": 1,
                "covered_frozen": "0",
                "margin_frozen": "0",
                "open_mode": "buy",
                "open_profit": "108.4",
                "symbol": "BTC-20201016-7500-C",
                "expiration_date": 1602838800
            }
        ],
        "page": {
            "prev": "",
            "next": "/openapi/v1/options/position?next_id=115245&page_index=2"
        }
    },
    "errmsg": "",
    "errno": 0
}

永续API

输出结构如下

字段名 字段类型 备注
data object 返回数据
errmsg string 错误信息
errno int 错误码( 0 : 代表成功)
{
    "data":{},
    "errmsg":"",
    "errno":0
}

输出响应头的content-type默认应为application/json 若成功响应,则errno对应为0

1. 获取下单数据

请求方式: GET
请求地址: /openapi/v1/swap/order/data
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string true 交易对 NA 如: BTCUSDT_SWAP

响应数据:

字段名 字段类型 备注
max_leverage int 最大杠杆倍数
user_leverage int 用户杠杆倍数
如果未设置默认值 20
margin_mode string 保证金模式
cross: 全仓, isolated: 逐仓
如果未设置默认值 cross
ladder_qtys array 阶梯数量
字段名 字段类型 备注
min_qty int 最小数量
max_qty int 最大数量
min_lrg int 最小杠杆
max_qty int 最大杠杆
pos_qty int 已有持仓数量(未平持仓+委托)
remain_qty int 剩余可开数量
{
    "data":{
        "ladder_qtys": [
            {
                "min_qty": 0,
                "max_qty": 10,
                "min_lrg": 100,
                "max_lrg": 150,
                "pos_qty": 6,
                "remain_qty": 0
            },
            {
                "min_qty": 10,
                "max_qty": 20,
                "min_lrg": 80,
                "max_lrg": 100,
                "pos_qty": 14,
                "remain_qty": 0
            },
            {
                "min_qty": 20,
                "max_qty": 50,
                "min_lrg": 50,
                "max_lrg": 80,
                "pos_qty": 0,
                "remain_qty": 28
            },
            {
                "min_qty": 50,
                "max_qty": 100,
                "min_lrg": 0,
                "max_lrg": 50,
                "pos_qty": 52,
                "remain_qty": 28
            }
        ],
        "margin_mode": "cross",
        "max_leverage": 150,
        "user_leverage": 20
    },
    "errmsg":"",
    "errno":0
}

2. 账户保证金模式设置

请求方式: POST
请求地址: /openapi/v1/swap/set_margin_mode
登录授权:

请求参数:

{
	"symbol": "BTCUSDT_SWAP",
	"margin_mode": "cross"
}
字段名 字段类型 是否必须 中文说明 备注
symbol string 交易对
margin_mode string 保证金模式 cross: 全仓,
isolated: 逐仓

响应数据:

{
    "data":{},
    "errmsg":"",
    "errno":0
}

3. 动态调整杠杆

请求方式: POST
请求地址: /openapi/v1/swap/adjust_leverage
登录授权:

请求参数:

{
	"symbol": "BTCUSDT_SWAP",
	"leverage": 30
}
字段名 字段类型 是否必须 中文说明 备注
symbol string 交易对
leverage int 杠杆

响应数据:

{
    "data":{},
    "errmsg":"",
    "errno":0
}

4. 下单

请求方式: POST
请求地址: /openapi/v1/swap/order/place
请求授权:

请求参数:

{
	"symbol": "BTCUSDT_SWAP",
	"leverage":10,
    "price": 70,
	"volume":1,
    "offset": "open",
    "direction": "buy",
	"client_oid":"100000000000000003"
}

常用参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string true 交易对 NA 如: BTCUSDT_SWAP
leverage int false 杠杆 NA 开仓必传,平仓不传
price float false 委托价格 NA price_typemarket时可不传此参数
volume int true 委托数量(张) NA 委托数量只能为整数(xx张)
offset string true 开仓/平仓 NA open: 开仓, close: 平仓
pos_id int false 未平持仓id NA 平仓时必传
direction string false 买入/卖出 NA buy:买入, sell:卖出
开仓必传,平仓不传
client_oid string false 用户自编订单号 NA 最大长度32个字符

高级选项(可选)

字段名 字段类型 是否必须 中文说明 默认值 备注
price_type string false 价格类型 limit limit: 限价, average: 均价, market: 市价, post_only: 只挂单
remain_type string false 剩余处理类型 limit cancel: 未满足部分即时撤单
limit_match_best: 以最优成交价挂单,如果没有成交则撤单
limit_last: 以最后成交价挂单,如果没有成交则撤单
limit_side_best: 以本方最优盘口价挂单,如果没有盘口则撤单
limit: 以委托价挂单
retain_seconds int false 挂单保留时间 0 单位:秒, 0表示不过期

响应数据:

字段名 字段类型 备注
order_id int64 订单编号
client_oid string 用户自编订单号(如有)
{
    "data": {
        "order_id": 1020000867765,
        "client_oid": "c111111a11111",
    },
    "errmsg":"",
    "errno":0
}

5. 批量下单

请求方式: POST
请求地址: /openapi/v1/swap/order/batch_place
请求授权:

请求参数:

{
    "batch_orders": [
        {
            "symbol": "BTCUSDT_SWAP",
            "leverage":10,
            "price": 70,
            "volume":1,
            "offset": "open",
            "direction": "buy",
            "client_oid":"100000000000000004"
        }, {
            "symbol": "BTCUSDT_SWAP",
            "leverage":10,
            "volume":1,
            "offset": "open",
            "direction": "buy",
            "client_oid":"100000000000000005",
            "price_type": "market"
        }, {
            "symbol": "BTCUSDT_SWAP",
            "price": 90,
            "volume":1,
            "offset": "close",
            "price_type": "limit",
            "pos_id": 6
        }
    ]
}
字段名 字段类型 是否必须 中文说明 默认值 备注
batch_orders array true 下单数据 NA

常用参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string true 交易对 NA 如: BTCUSDT_SWAP
leverage int false 杠杆 NA 开仓必传,平仓不传
price float false 委托价格 NA price_typemarket时可不传此参数
volume int true 委托数量(张) NA 委托数量只能为整数(xx张)
offset string true 开仓/平仓 NA open: 开仓, close: 平仓
pos_id int false 未平持仓id NA 平仓时必传
direction string false 买入/卖出 NA buy:买入, sell:卖出
开仓必传,平仓不传
client_oid string false 用户自编订单号 NA 最大长度32个字符

高级选项(可选)

字段名 字段类型 是否必须 中文说明 默认值 备注
price_type string false 价格类型 limit limit: 限价, average: 均价, market: 市价, post_only: 只挂单
remain_type string false 剩余处理类型 limit cancel: 未满足部分即时撤单
limit_match_best: 以最优成交价挂单,如果没有成交则撤单
limit_last: 以最后成交价挂单,如果没有成交则撤单
limit_side_best: 以本方最优盘口价挂单,如果没有盘口则撤单
limit: 以委托价挂单
retain_seconds int false 挂单保留时间 0 单位:秒, 0表示不过期

响应数据:

字段名 字段类型 备注
items array 订单数据
字段名 字段类型 备注
order_id int64 订单编号
client_oid string 用户自编订单号(如有)
errmsg string 错误信息
errno int 错误码(0: 代表成功)
{
    "data": {
        "items": [
            {
                "client_oid": "test2111111111114",
                "errmsg": "",
                "errno": 0,
                "order_id": 1020000869145
            },
            {
                "client_oid": "test2111111111115",
                "errmsg": "",
                "errno": 0,
                "order_id": 1020000869146
            },
            {
                "client_oid": "test2111111111116",
                "errmsg": "",
                "errno": 0,
                "order_id": 1020000869147
            },
            {
                "client_oid": "test2111111111117",
                "errmsg": "",
                "errno": 0,
                "order_id": 1020000869148
            },
            {
                "client_oid": "test2111111111118",
                "errmsg": "未平合约数不足",
                "errno": 11020501,
                "order_id": 0
            }
        ]
    },
    "errmsg": "",
    "errno": 0
}

6. 单向持仓下单

请求方式: POST
请求地址: /openapi/v1/swap/order/place_uni
请求授权:

请求参数:

{
	"symbol": "BTCUSDT_SWAP",
	"leverage":10,
    "price": 70,
	"volume":1,
    "offset": "open",
    "direction": "buy",
	"client_oid":"100000000000000003"
}

常用参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string true 交易对 NA 如: BTCUSDT_SWAP
leverage int false 杠杆 NA 开仓必传,平仓不传
price float false 委托价格 NA price_typemarket时可不传此参数
volume int true 委托数量(张) NA 委托数量只能为整数(xx张)
offset string true 开/平仓 NA open: 开仓, close: 平仓, auto: 先平仓再开仓
pos_id int false 未平持仓id NA offsetclose时必传
direction string false 买入/卖出 NA buy:买入, sell:卖出
开仓必传,平仓不传
client_oid string false 用户自编订单号 NA 最大长度32个字符

高级选项(可选)

字段名 字段类型 是否必须 中文说明 默认值 备注
price_type string false 价格类型 limit limit: 限价, average: 均价, market: 市价, post_only: 只挂单
remain_type string false 剩余处理类型 limit cancel: 未满足部分即时撤单
limit_match_best: 以最优成交价挂单,如果没有成交则撤单
limit_last: 以最后成交价挂单,如果没有成交则撤单
limit_side_best: 以本方最优盘口价挂单,如果没有盘口则撤单
limit: 以委托价挂单
retain_seconds int false 挂单保留时间 0 单位:秒, 0表示不过期

响应数据:

字段名 字段类型 备注
open object 开仓数据
close array 平仓数据
字段名 字段类型 备注
order_id int64 订单编号
client_oid string 用户自编订单号(如有)
errmsg string 错误信息
errno int 错误码(0: 代表成功)
字段名 字段类型 备注
order_id int64 订单编号
client_oid string 用户自编订单号(如有)
pos_id int 未平持仓id
errmsg string 错误信息
errno int 错误码(0: 代表成功)
{
    "data": {
        "open": {
            "order_id": 1020000869145,
            "client_oid": "test2111111111114",
            "errmsg": "",
            "errno": 0
        },
        "close": [
            {
                "order_id": 1020000869146,
                "client_oid": "test2111111111115",
                "pos_id": 22,
                "errmsg": "",
                "errno": 0
            },
            {
                "order_id": 0,
                "client_oid": "",
                "pos_id": 23,
                "errmsg": "未平合约数不足",
                "errno": 11020501
            }
        ]
    },
    "errmsg": "",
    "errno": 0
}

7. 撤单

请求方式: POST
请求地址: /openapi/v1/swap/order/cancel
请求授权:

请求参数:

{
    "order_id":1020000869150
}
字段名 字段类型 是否必须 中文说明 默认值 备注
order_id int64 true 订单id NA

响应数据:

{
    "data": {
        "order_id": 1010000866876,
        "client_oid": "c111111a11111",
    },
    "errmsg":"",
    "errno":0
}

8. 批量撤单

请求方式: POST
请求地址: /openapi/v1/swap/order/batch_cancel
请求授权:

请求参数:


{
	"order_ids": [
		1020000869143,
		1020000869144
	]
}
字段名 字段类型 是否必须 中文说明 默认值 备注
order_ids int64[] true 订单id NA

响应数据:

字段名 字段类型 备注
success array 撤单成功订单
failed array 撤单失败订单
字段名 字段类型 备注
order_id int64 订单编号
client_oid string 用户自编订单号(如有)
字段名 字段类型 备注
order_id int64 订单编号
client_oid string 用户自编订单号(如有)
errmsg string 错误信息(仅对被拒订单有效)
errno int 错误码(仅对被拒订单有效)
{
    "data": {
        "failed": [
            {
                "client_oid": "",
                "errmsg": "委托单已处理,无法撤单",
                "errno": 11010202,
                "order_id": 1020000869144
            }
        ],
        "success": [
            {
                "client_oid": "",
                "errmsg": "",
                "errno": 0,
                "order_id": 1020000869143
            }
        ]
    },
    "errmsg": "",
    "errno": 0
}

9. 订单详情

请求方式: GET
请求地址: /openapi/v1/swap/order/query
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
order_id int64 true 订单id NA

响应数据:

字段名 字段类型 备注
order_time int 委托时间
order_id int64 订单ID
client_oid string 用户自编订单号
symbol string 交易对名称
margin_mode string 保证金模式, cross: 全仓, isolated: 逐仓
leverage int 杠杆
direction string 买卖方向, buy:买, sell:卖
price string 委托价格
volume string 委托数量
offset string 开仓/平仓, open: 开仓, close: 平仓
price_type string 价格类型 limit: 限价, average: 均价, market: 市价, post_only: 只挂单
match_volume string 成交数量
match_amount string 成交金额
queue_price string 挂单价格
queue_volume string 挂单数量
remain_type string 剩余处理类型, cancel: 未满足部分即时撤单
limit_match_best: 以最优成交价挂单,如果没有成交则撤单
limit_last: 以最后成交价挂单,如果没有成交则撤单
limit_side_best: 以本方最优盘口价挂单,如果没有盘口则撤单
limit: 以委托价挂单
state int 委托单状态, 0. 待处理, 1. 挂单中, 2. 撤单中, 3. 无成交且已撤单, 4. 部分成交且已撤单, 5. 全部成交, 6. 错误, 7. 等待触发, 8. 已触发, 9. 触价失效
{
    "data": {
        "order_time": 1608983787,
        "order_id": 1040000634984,
        "client_oid": "",
        "symbol": "BTCUSDT_SWAP",
        "margin_mode": "cross",
        "leverage": 20,
        "direction": "sell",
        "price": "0",
        "volume": "1",
        "offset": "close",
        "price_type": "market",
        "match_volume": "1",
        "match_amount": "0",
        "queue_price": "0",
        "queue_volume": "0",
        "state": 5,
        "remain_type": "limit_side_best"
    },
    "errmsg": "",
    "errno": 0
}

10. 当前委托查询

请求方式: GET
请求地址: /openapi/v1/swap/order/pending
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string false 交易对 NA 如: BTCUSDT_SWAP
start_date string false 查询开始日期 NA 日期格式 yyyy-mm-dd, 以订单生成时间进行查询
end_date string false 查询结束日期 NA 日期格式 yyyy-mm-dd, 以订单生成时间进行查询
num int false 结果集数量 10 每页返回的结果集数量,最大为100,不填默认返回10条

响应数据:

字段名 字段类型 备注
items array 订单列表
page object 分页信息
字段名 字段类型 备注
prev string 上一页, 第1页时值为””
next string 下一页, items数组长度小于num时值为””

分页使用:

第1页: 
    `openapi/v1/swap/order/pending`

上一页: 当前页大于`1`时, `prev`返回值不为空, 如下
    `openapi/v1/swap/order/pending?prev_id=xxxx&page_index=2`

下一页: `items`数组长度等于`num`时, `next`返回值不为空, 如下
    `/openapi/v1/swap/order/pending?next_id=xxxx&page_index=3`
字段名 字段类型 备注
order_time int 委托时间
order_id int64 订单ID
client_oid string 用户自编订单号
symbol string 交易对名称
margin_mode string 保证金模式, cross: 全仓, isolated: 逐仓
leverage int 杠杆
direction string 买卖方向, buy:买, sell:卖
price string 委托价格
volume string 委托数量
queue_price string 挂单价格
queue_volume string 挂单数量
offset string 开仓/平仓, open: 开仓, close: 平仓
price_type string 价格类型 limit: 限价, average: 均价, market: 市价, post_only: 只挂单
match_volume string 成交数量
match_amount string 成交金额
remain_type string 剩余处理类型, cancel: 未满足部分即时撤单
limit_match_best: 以最优成交价挂单,如果没有成交则撤单
limit_last: 以最后成交价挂单,如果没有成交则撤单
limit_side_best: 以本方最优盘口价挂单,如果没有盘口则撤单
limit: 以委托价挂单
state int 委托单状态, 0. 待处理, 1. 挂单中, 2. 撤单中, 3. 无成交且已撤单, 4. 部分成交且已撤单, 5. 全部成交, 6. 错误, 7. 等待触发, 8. 已触发, 9. 触价失效
{
    "data": {
        "items": [
            {
                "order_time": 1608983787,
                "order_id": 1040000634984,
                "client_oid": "",
                "symbol": "BTCUSDT_SWAP",
                "margin_mode": "cross",
                "leverage": 20,
                "direction": "sell",
                "price": "0",
                "volume": "1",
                "offset": "close",
                "price_type": "market",
                "match_volume": "1",
                "match_amount": "0",
                "queue_price": "0",
                "queue_volume": "0",
                "state": 5,
                "remain_type": "limit_side_best",
            }
        ],
        "page": {
            "prev": "",
            "next": "/openapi/v1/swap/order/pending?next_id=634974&page_index=2"
        }
    },
    "errmsg": "",
    "errno": 0
}

11. 历史委托查询

请求方式: GET
请求地址: /openapi/v1/swap/order/filled
请求授权:

请求参数: 同当前委托查询

响应数据: 同当前委托查询

12. 成交查询

请求方式: GET
请求地址: /openapi/v1/swap/order/matches
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
order_id int64 true 订单id NA
symbol string true 交易对 NA 如: BTCUSDT_SWAP
start_date string false 查询开始日期 NA 日期格式 yyyy-mm-dd, 以成交时间进行查询
end_date string false 查询结束日期 NA 日期格式 yyyy-mm-dd, 以成交时间时间进行查询
num int false 结果集数量 10 每页返回的结果集数量,最大为100,不填默认返回10条

响应数据:

字段名 字段类型 备注
items array 成交列表
page object 分页信息
字段名 字段类型 备注
prev string 上一页, 第1页时值为””
next string 下一页, items数组长度小于num时值为””

分页使用:同当前委托查询

字段名 字段类型 备注
match_time int 成交时间
direction string 买入/卖出, buy:买入, sell:卖出
price string 成交价格
volume string 成交数量
fee_asset string 手续费资产
fee_volume string 手续费
symbol string 交易对
offset string 开仓/平仓, open: 开仓, close: 平仓
bonus_asset string 补贴资产
bonus_volume string 补贴资产数量
{
    "data": {
        "items": [
            {
                "offset": "close",
                "direction": "sell",
                "fee_asset": "USDT",
                "fee_volume": 0.02,
                "match_time": 1608631913,
                "price": 100,
                "volume": 1,
                "symbol": "BTCUSDT_SWAP",
                "bonus_asset": "USDT",
                "bonus_volume": "0.15"
            }
        ],
        "page": {
            "prev": "",
            "next": "/openapi/v1/swap/order/matches?next_id=1196&page_index=2"
        }
    },
    "errmsg": "",
    "errno": 0
}

13. 永续合约持仓查询

请求方式: GET
请求地址: /openapi/v1/swap/position
请求授权:

请求参数:

字段名 字段类型 是否必须 中文说明 默认值 备注
symbol string false 交易对 NA 如: BTCUSDT_SWAP
symbols string[] false 交易对 NA 多个交易对查询,最多10个交易对
num int false 结果集数量 10 每页返回的结果集数量,最大为100,不填默认返回10条

响应数据:

字段名 字段类型 备注
items array 持仓列表
page object 分页信息
字段名 字段类型 备注
prev string 上一页, 第1页时值为””
next string 下一页, items数组长度小于num时值为””

分页使用:同当前委托查询

字段名 字段类型 备注
pos_id int 持仓id
symbol string 交易对名称
margin_mode string 保证金模式, cross: 全仓, isolated: 逐仓
leverage string 杠杆
direction string 买卖方向, buy:买, sell:卖
open_volume int 持仓数量
frozen_volume int 冻结数量
liquidate_price string 强平价
avg_open_price string 开仓均价
open_profit string 浮动盈亏
profit string 已实现盈亏
margin_asset string 保证金资产
open_margin string 初始保证金(开仓保证金)
position_margin string 持仓保证金
max_draw_amount string 超额保证金(最大可提取数量)
{
    "data": {
        "items": [
            {
                "pos_id": 1000402,
                "symbol": "BTCUSDT_SWAP",
                "margin_mode": "cross",
                "leverage": "20",
                "direction": "buy",
                "open_volume": 4,
                "frozen_volume": 0,
                "liquidate_price": "18912.5",
                "avg_open_price": "25000",
                "open_profit": "-1.85",
                "profit": "0",
                "margin_asset": "USDT",
                "open_margin": "5",
                "position_margin": "26.849992",
                "max_draw_amount": "21.849992"
            },
            {
                "pos_id": 1000395,
                "symbol": "BTCUSDT_SWAP",
                "margin_mode": "cross",
                "leverage": "20",
                "direction": "sell",
                "open_volume": 15,
                "frozen_volume": 0,
                "liquidate_price": "95661.39",
                "avg_open_price": "25000",
                "open_profit": "0.41",
                "profit": "0",
                "margin_asset": "USDT",
                "open_margin": "18.75",
                "position_margin": "1078.670842",
                "max_draw_amount": "1059.920842"
            }
        ],
        "page": {
            "prev": "",
            "next": "/openapi/v1/swap/position?next_id=37&num=3&page_index=2"
        }
    },
    "errmsg": "",
    "errno": 0
}

14. 超额保证金提取

请求方式: POST
请求地址: /openapi/v1/swap/draw_margin
请求授权:

请求参数:

{
    "draw_margins": [
        {
            "pos_id":11,
            "volume":1.1
        }, {
            "pos_id":22,
            "volume":2.2
        }
    ]
}
字段名 字段类型 是否必须 中文说明 默认值 备注
draw_margins array true 保证金提取数据 NA
字段名 字段类型 是否必须 中文说明 默认值 备注
pos_id int true 持仓id NA
volume float true 保证金提取金额 NA

响应数据:

字段名 字段类型 备注
items array 持仓数据
字段名 字段类型 备注
pos_id int 持仓id
errmsg string 错误信息
errno int 错误码(0: 代表成功)
{
    "data": {
        "items": [
            {
                "pos_id": 11
                "errmsg": "",
                "errno": 0,
            },
            {
                "pos_id": 22
                "errmsg": "",
                "errno": 0,
            }
        ]
    },
    "errmsg": "",
    "errno": 0
}

15. 全仓模式 - 保证金追加

请求方式: POST
请求地址: /openapi/v1/swap/cross_margin_add
请求授权:

请求参数:

{
    "asset":"USDT",
    "volume":2.2
}
字段名 字段类型 是否必须 中文说明 默认值 备注
asset string true 追加资产code NA
volume float true 保证金追加金额 NA

响应数据:

{
    "data":{},
    "errmsg":"",
    "errno":0
}

16. 逐仓模式 - 保证金追加

请求方式: POST
请求地址: /openapi/v1/swap/isolated_margin_add
请求授权:

请求参数:

{
    "margin_adds": [
        {
            "pos_id":11,
            "volume":1.1
        }, {
            "pos_id":22,
            "volume":2.2
        }
    ]
}
字段名 字段类型 是否必须 中文说明 默认值 备注
margin_adds array true 保证金追加数据 NA
字段名 字段类型 是否必须 中文说明 默认值 备注
pos_id int true 持仓id NA
volume float true 保证金追加金额 NA
字段名 字段类型 备注
items array 持仓数据
字段名 字段类型 备注
pos_id int 持仓id
errmsg string 错误信息
errno int 错误码(0: 代表成功)
{
    "data": {
        "items": [
            {
                "pos_id": 11
                "errmsg": "",
                "errno": 0,
            },
            {
                "pos_id": 22
                "errmsg": "",
                "errno": 0,
            }
        ]
    },
    "errmsg": "",
    "errno": 0
}

行情API

输出结构如下

字段名 字段类型 备注
data object 返回数据
errmsg string 错误信息
errno int 错误码( 0 : 代表成功, 其他错误码请参考errmsg)
{
    "data":{},
    "errmsg":"",
    "errno":0
}

输出响应头的content-type默认应为application/json 若成功响应,则errno对应为0

1. K线数据(蜡烛图)

请求方式: GET

请求地址: /pub/openapi/v1/hq/kline

登录授权:

特殊说明: 这个接口的返回值中time 是一个区间段的开始, 例如:8:00~8:15的数据, time是8:00的时间戳

请求参数:

字段名 字段类型 是否必须 中文说明 备注
symbol string 交易对代码 如: BTC_USDT
type int K线类型 参照type参数列表
num int 数量 默认60 最大值2880
ts int 时间戳 取时间戳之前数据

type参数列表:

type字段枚举值 type字段说明
1 day
2 hour
3 minute
4 5min
5 15min
6 30min
7 4h
8 8h
9 1week
10 1month

返回结果:

{
  "data": [
    {
      "symbol": "BTC_USDT",
      "time": 1593344700,
      "open": 40.34,
      "close": 39.79,
      "high": 40.34,
      "low": 39.76,
      "volume": 86,
      "amount": 3439.52,
      "type": 5
    }
  ],
  "errmsg": "",
  "errno": 0
}

返回字段说明:

字段 字段说明
time 时间 (单位s)
open 开盘价
close 收盘价
high 最高价
low 最低价
volume 成交量
amount 成交额
type 同入参type

2. 获取最新的市场行情

请求方式: GET

请求地址: /pub/openapi/v1/hq/quote

登录授权:

特殊说明:

请求参数:

字段名 字段类型 是否必须 中文说明 备注
symbol string 交易对代码 如: BTC_USDT,XRP_USDT

返回结果:

{
  "data": [
    {
      "amount": 21.5631,
      "amount_24": 84057335.36599398,
      "high": 11349,
      "high_24": 11349,
      "low": 10980.56,
      "low_24": 10980.56,
      "open": 11098.02,
      "prev_24": 11142.66,
      "sn": 214650314992441180,
      "state": 2,
      "symbol": "BTC_USDT",
      "time": 1596467413652610,
      "trade": 11349,
      "type": "spot",
      "volume": 0.0019,
      "volume_24": 7518.5058
    },
    {
      "amount": 86.515,
      "amount_24": 28004799.082520593,
      "high": 0.31586,
      "high_24": 0.31586,
      "low": 0.28397,
      "low_24": 0.28397,
      "open": 0.28594,
      "prev_24": 0.289,
      "sn": 214650314992060860,
      "state": 2,
      "symbol": "XRP_USDT",
      "time": 1596467414119937,
      "trade": 0.3146,
      "type": "spot",
      "volume": 275,
      "volume_24": 93996959.91
    }
  ],
  "errmsg": "",
  "errno": 0
}
字段 名称
symbol 交易对
trade 当前价
high_24 24小时最高
low_24 24小时最低
volume_24 24小时成交量
amount_24 24小时成交额
prev_24 24小时前成交价,计算24小时涨跌幅用
time 最近一笔报价成交时间 微秒时间戳
type 当前数据类型 “index” 指数,“spot” 现货 ,“options” 期权, “swap"永续

3. 获取最新的盘口

请求方式: GET

请求地址: /pub/openapi/v1/hq/orderbook

登录授权:

特殊说明: ask数组的key(价格)按照从小到大, bid数组的key(价格)按照从大到小

请求参数:

字段名 字段类型 是否必须 中文说明 备注
symbol string 交易对代码 如: BTC_USDT
{
	"data": {
		"ask": [
			[45283.13, 565],
			[45283.19, 477],
			[45283.23, 696],
			[45283.43, 302],
			[45283.74, 2220],
			[45284.19, 2661],
			[45284.64, 1071],
			[45285.09, 140],
			[45285.58, 619],
			[45285.82, 2096],
			[45286.14, 7],
			[45286.92, 1629],
			[45288.27, 1725],
			[45288.72, 1886],
			[45291.17, 31364]
		],
		"bid": [
			[45281.16, 247],
			[45280.85, 44],
			[45280.6, 456],
			[45280.26, 248],
			[45280.2, 265],
			[45279.95, 1226],
			[45279.67, 1094],
			[45279.22, 2178],
			[45278.77, 1875],
			[45278.46, 683],
			[45278.15, 1478],
			[45277.11, 20923],
			[45272.95, 1621],
			[45272.5, 2153],
			[45269.35, 25945]
		],
		"sn": 0,
		"time": 1628832932000000,
		"trade": 0,
		"volume": 0
	},
	"errmsg": "",
	"errno": 0
}
字段 名称
bid 价格-> 数量
ask 价格-> 数量
time 内存快照的时间, 单位:us

4. 获取最新的成交记录

请求方式: GET

请求地址: /pub/openapi/v1/hq/transaction

登录授权:

特殊说明:

请求参数:

字段名 字段类型 是否必须 中文说明 备注
symbol string 交易对代码 如: BTC_USDT
{
  "data": [
    {
      "amount": 1721920.6,
      "direction": 1,
      "open_mode": "open",
      "price": 45313.7,
      "sn": 0,
      "subtype": "transaction",
      "symbol": "BTCUSDT_SWAP",
      "time_us": 1628833106042871,
      "volume": 38,
      "extra": 0
    }
  ],
  "errmsg": "",
  "errno": 0
}

逐笔数据结构为数组,可能同时包括多条成交数据

key value
price 价格
volume 成交量
amount 成交额
time_us 成交微秒
symbol 交易对代码

行情WS

1. WS说明

接口地址

wss://openws.bitwellex.com/v2

wss://openws.bitwellex.co/v2

您可以自行比较使用openws.bitwellex.com和openws.bitwellex.co两个域名的延迟情况,选择延迟低的进行使用。

其中,openws.bitwellex.co域名对使用aws云服务的用户做了一定的链路延迟优化。

QA

QA1:

Q: ws的kline时间 和 kline接口返回历史数据里 date字段的值 单位不太一样 A: ws的单位是: us , 然后api的单位是: s

QA2:

Q: 比如 USDT_BTC-quote这条指令 如果我发了多次 会合并吗?我发了同样指令 会成倍的返回消息吗?

A: 会合并, 不会成倍推送消息, 服务端做了唯一校验,如果当前用户订阅了该key,二次订阅无效

QA3:

Q: 如果分钟,小时,天,分时来回的切换的话,我是不是要频繁的先给ws发送unsub请求才行? 先发送unsub 再发送sub

A: 对, 需要客户端unsub掉历史的, 防止ws泄露(例如用户点击了4下, 如果不unsub, 就会成4倍的推送消息)

建立连接

地址如上

ping text

由于服务器和客户端维护ws有心跳时间, 如果60s内无心跳,或者无数据通讯, 有可能会造成服务端或者客户端主动断开连接, 所以服务端提供ping text消息, 请在60s返回内定期发送ping text

格式: 客户端发送消息: ping 服务端回应: success

如果服务端未回复,有可能是服务端已经主动断开了连接, 请重连

2. 鉴权

鉴权发生在建立连接之后, 客户端主动发送text消息, 消息格式如下:

{
    "action":"auth",
    "type":"openapi",
	  "access_key": "W2zxxxxND1Wxxxxtdt9gxxxxJFtxxxxQ",
	  "signature": "4F65x5A2bLaaaWVQj3Aqp+B4w+ivaA7n5Oi2SuYtCJ9o=",
	  "timestamp": "1420674445201"
}

鉴权成功后服务端会返回鉴权结果:

{"action":"auth","type":"openapi","errmsg":"","errno":0,"ts":1602583578}

说明:

  1. 如果errno不为0, 则说明鉴权失败,失败具体信息参考errmsg
  2. 鉴权逻辑参考 api概述
  3. timestamp参数单位: ms, ts单位: s

3. 订阅数据方式

订阅消息需要客户端发送msg(json格式), symbol是交易对数组,所以支持批量和单个订阅

{
    "action":"sub",
    "symbol":["BTC_USDT","ETH_USDT","BTC_ETH"],
    "type":"quote"
}

字段说明:

action: sub订阅,unsub取消订阅

symbol: 交易对数组,支持批量和单个订阅

4. 数据索引

行情数据, symbol是具体的交易对(例如:BTC_USDT), type有如下枚举值:

用户订单, symbol是USER_ORDER,type有如下枚举值:

用户期权, symbol是USER_OPTION

5. 报价数据

{
	"amount_24": 1359041553290.97,
	"high_24": 45678,
	"highest_bid": 45338.04,
	"leverage": 0,
	"low_24": 43805.35,
	"lowest_ask": 45339.94,
	"prev_24": 45164.09,
	"prev_1h": 45240.93,
	"sn": 0,
	"state": 0,
	"subtype": "quote",
	"symbol": "BTCUSDT_SWAP",
	"time": 1628833420434784,
	"trade": 45338.92,
	"type": "swap",
	"volume_24": 30429594
}

字段说明:

字段 字段说明
symbol 交易对
trade 当前价
high_24 24小时最高
low_24 24小时最低
highest_bid 买一
lowest_ask 卖一
volume_24 24小时成交量
amount_24 24小时成交额
prev_24 24小时前成交价,计算24小时涨跌幅用
time 最近一笔报价成交时间 微秒时间戳
type 当前数据类型 “index” 指数,“spot” 现货 ,“options” 期权 “swap” 永续

6. K线数据

 {
    "symbol":"BTC_USDT",
    "open":1.0,
    "high":1.0,
    "low":1.0,
    "volume":4.0,
    "amount":4.0,
    "close":1.0, 
    "subtype":"kline-15min",
    "time": 1592619538684837
 }    
字段 字段说明
open
high
low
close
time unix时间,单位 us
volume 这段时间成交量
amount 这段时间成交额

kline-{type}参数列表:

type字段枚举值 type字段说明
1 day
2 hour
3 minute
4 5min
5 15min
6 30min
7 4h
8 8h
9 1week
10 1month

7. 逐笔数据

[
    {
    "symbol":"BTC-0703-9000-C",
    "price":39.01,
    "volume":4,
    "amount":156.04,
    "direction":1,
    "subtype":"",
    "open_mode":"open",
    "time_us":1593347347135782,
    "sn":198669755295637272
    },
    {
    "symbol":"BTC-0703-9000-C",
    "price":38.93,
    "volume":5,
    "amount":194.65,
    "direction":1,
    "subtype":"transaction",
    "time_us":1593347347135784,
    "sn":198669755295637272
    }
]

逐笔数据结构为数组,可能同时包括多条成交数据

字段 字段说明
price 价格
volume 成家量
amount 成交额
time_us 成交微秒
symbol 交易对代码

8. 盘口数据

{
    "bid":{
        "38.76":1,
        "38.64":1,
        "38.63":8,
        "38.62":3,
        "38.58":6,
    },
    "ask":{
        "38.87":6,
        "38.88":1,
        "38.89":6,
        "38.9":8,
        "38.97":2,
    },
    "trade":38.87,
    "volume":3,
   "symbol": "BTC_USDT",
   "subtype":"orderbook",
    "time":1593347487172380,
    "sn":198669755295637354
}

字段 字段说明
bid 委买盘口数组
—key 价格
—value 数量
ask 委卖盘口数组
—key 价格
—value 数量
trade 最新一笔成交价
volume 最近一笔成交量

9. 期权信息数据

{
    "theory_price":35.95,
    "delta":0.5389,
    "gamma":0.0047,
    "theta":-3.5326,
    "vega":41.3693,
    "leverage":12.5184,
    "iv":0,
    "open_positions":0,
    "symbol": "BTC-0703-9000-C",
    "subtype":"option"
}

字段说明:

字段 字段说明
theory_price 理论价格
delta delta
gamma gamma
theta theta
vega vega
leverage 杠杆率
iv 隐含波动率
open_positions 未平持仓数
symbol 交易对
subtype 订阅的type

10. 永续合约信息数据

{
	"theory_price": 45338.84,
	"mark_price": 45338.84,
	"funding_rate": 0.00009,
	"next_funding_rate": 0.00009,
	"symbol": "BTCUSDT_SWAP",
	"subtype": "swap",
	"open_positions": 609038,
	"ema": 45335.77
}

字段说明:

字段 字段说明
theory_price 理论价格
mark_price 标记价格
funding_rate 当前资金费率
next_funding_rate 预计资金费率
symbol 交易对
subtype 订阅的type
open_positions 未平持仓数

用户相关WS

1. 概述

授权/数据格式同 行情ws 相关约定

2. 用户订单

订阅格式

{
    "action":"sub",
    "symbol":["USER_ORDER"],
    "type":"state_change" # 订单变更
}

响应数据

同订单列表数据格式

3. 用户期权

订阅格式

{
    "action":"sub",
    "symbol":["USER_OPTION"],
    "type":"pos_change" # 持仓变更
}

响应数据

{
	"symbol": "BTC-20201016-7500-C"
	"open_mode": "buy",
	"open_volume": 0,
	"frozen_volume": 0,
}
字段名 字段类型 说明
symbol string 交易对code
open_mode string 开仓方式, buy: 开仓买入, margin_sell:保证金卖出,covered_sell:备兑卖出
open_volume int 开仓数量
frozen_volume int 冻结数量

4. 用户永续

订阅格式

{
    "action":"sub",
    "symbol":["USER_SWAP"],
    "type":"pos_change" # 持仓变更
}

响应数据

同永续合约持仓查询

well平台币相关数据

1. 平台币数量分类更新

请求方式: GET
请求地址:/pub/openapi/v1/collateral/well_updates
登录授权:

请求参数: 无

返回结果:

字段名 字段类型 备注
lock_amount number 质押WELL数
circulate_amount number 流通量
lock_percentage number 当前质押/流通, 保留4位小数, lock_amount/circulate_amount
destroyed_amount number 已销毁WELL
announce_issued_amount number 名义发行总量
destroyed_percentage number 销毁/名义发行总量, 保留4位小数, destroyed_amount/announce_issued_amount
{
    "data": {
        "lock_amount": 36200,
        "circulate_amount": 100000,
        "lock_percentage": 0.36,
        "destroyed_amount": 10000,
        "announce_issued_amount": 1000000,
        "destroyed_percentage": 0.01 
    },
    "errmsg": "",
    "errno": 0
}