NAV Navbar
English 中文

概览

欢迎查看 Abit API 文档。 我们提供完整的 REST、Websocket API 以满足您的程序交易需求。

身份验证

API的身份验证通过Header上的参数进行加密验证。

具体加密算法为MD5加密。 待加密字段为"{Body}+{secret_key}+{ts}",其中()+等符号不计入加密字符串。

Body为每个接口所要求的参数列表,转换为json字符串形式。

如果为GET方法请求,则其Body字段为空。

secret_key为向系统申请的个人账户加密私钥。

ts为utc时间戳,单位为毫秒。

以下为Header中的身份验证相关字段

参数名 参数类型 参数描述
EX-Accesskey String 加密公钥
EX-Ts Long utc时间戳,单位为毫秒
EX-Sign String 通过加密算法得到的加密签名

整个身份验证为Header为:

参数名 参数类型 参数示例 参数描述 是否必须
Content-Type String application/json 定值
EX-Accesskey String
EX-Sign int MD5({postdata}+{secretKey}+{EX-Ts})
EX-Ver int 1008 定值
EX-Dev String WEB 定值
EX-Ts Long 1541044393000000 utc时间戳-微妙

合约公共信息-REST

对于合约公共信息请求的EndPoint地址为:https://api.abit.com/

获取指数k线数据

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/indexkline?indexID=11&startTime=1533686400&endTime=1533688400&unit=5&resolution=M'

返回数据:

{
    "errno": "OK",
    "message": "Success",
    "data": [
        {
            "low": "130", // 最低价
            "high": "130", // 最高价
            "open": "130", // 开盘价
            "close": "130", // 收盘价
            "last_px": "130", // 最后一次交易价
            "avg_px": "130", // 均价
            "qty": "0", // 交易量
            "timestamp": 1532610000, // 时间戳,单位秒
            "change_rate": "0", // 涨跌幅比例
            "change_value": "0" // 涨跌幅值
        }
    ]
}

请求Url

GET swap/indexkline

参数列表

参数名 参数类型 参数示例 参数描述
indexID String 11 指数id
startTime Long 1533686400 获取k线数据的起始时间
endTime Long 1533688400 获取k线数据的结束时间
unit Int 5 选择的时间跨度的长度,在示例中表示为5M,即5分钟为每根蜡烛图的时间跨度
resolution String M 表示获取K线数据的频率类型,M:分钟,H:小时;D:天

获取合约交易记录

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/trades?instrumentID=1'

Response:

{
    "errno": "OK",
    "message": "Success",
    "data": {
        // 交易记录列表,按创建时间由近及远排序
        "trades": [
            {
                "oid": 10116361,        // taker order id taker订单的id
                "tid": 10116363,        // trade id
                "instrument_id": 1,     // 合约ID
                "px": "16",                     // 成交价
                "qty": "10",                    // 成交的合约张数
                "make_fee": "0.04",     // make fee
                "take_fee": "0.12",     // take fee
                "created_at": null,     // 创建时间
                "side": 5,              // 订单交易方向,字段表示两笔订单成交所得到的交易记录的性质,
                                                                                    1 //买单为taker,两笔订单方向:开多买 开空卖
                                                                                    2 //买单为taker,两笔订单方向:开多买 平多卖
                                                  3 //买单为taker,两笔订单方向:平空买 开空卖
                                                  4 //买单为taker,两笔订单方向:平空买 平多卖
                                                  5 //卖单为taker,两笔订单方向:开空卖 开多买
                                                  6 //卖单为taker,两笔订单方向:开空卖 平空买
                                                  7 //卖单为taker,两笔订单方向:平多卖 开多买
                                                  8 //卖单为taker,两笔订单方向:平多卖 平空买
                "change": "0"                   // 对行情的影响
                                                        如本次交易前的最新交易价是10,本次交易的交易价是11,则change为"1"
            }
        ]
    }

请求Url

GET swap/trades

参数列表

参数名 参数类型 参数示例 参数描述
instrumentID String 11 合约id,具体可见获取合约交易对详情接口

获取合约仓位的自动减仓排序表

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/pnls?instrumentID=1'

Response:

{
    "errno": "OK",
    "message": "Success",
    "data": {
// 合约自动减仓排序表
"pnls": [
{
"instrument_id": 1,
// 合约看多仓位自动减仓排序表
"long_pnls": [
    {
        // 该分位的仓位盈利范围min~max
        "min_pnl": "-0.0379107725788900979",
        "max_pnl": "-0.0103298131866111136",
        "quan_tile": 40 // 五分位值,分别有20,40,60,80,100,quan_tile值越大,说明仓位发生自动减仓的可能                                                 性越大.可以用这些值表示自动减仓警示灯的个数,20:1个灯,
                                                                                                                    40:2个灯,
                                                                                                                    60:3个灯,
                                                                                                                    80:4个灯,
                                                                                                                    100:5个灯
    },
    {
        "min_pnl": "-0.0103298131866111136",
        "max_pnl": "0",
        "quan_tile": 60 // 五分位值
    }
],
 // 合约看空仓位自动减仓排序表
"short_pnls": [
    {
        "min_pnl": "-49962.3980439671407168788",
        "max_pnl": "0",
        "quan_tile": 20
    }
]
            }
        ]
    }
}

请求Url

GET swap/pnls

参数列表

参数名 参数类型 参数示例 参数描述
instrumentID String 11 合约id,具体可见获取合约交易对详情接口

获取指数列表

请求Url

GET swap/indexes

参数列表

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/indexes'

Response:

{
    "errno": "OK",
    "message": "Success",
    "data": [
        {
            "index_id": 1, // 指数ID
            "name": "BTC", // 指数名称
            "base_coin": "BTC", // 指数基础币
            "quote_coin": "USDT", // 指数计价币
            "brief_en": "", // 英文简称
            "brief_zh": "", // 中文简称
            "px_unit": "0.000001", // 价格精度
            "created_at": "2018-07-30T16:04:08Z",
            // 指数成员
            "members": [
                {
                    "index_id": 11,
                    "coin_code": "BTC",
                    "weight": "1",
                    "market": [
                        {
                            "market_name": "Bitstamp",
                            "weight": "1"
                        },
                        {
                            "market_name": "Coinbase.Pro",
                            "weight": "1"
                        }
                    ]
                }
            ],
            // 合约列表
            "instruments": [
                {
                    // 跟指数关联的合约对象
                    // 数据与获取合约接口的结构一致
                },
                {

                }
            ]
        }
    ]
}

获取单个币种合约深度

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/depth?instrumentID=1&count=10'

Response:

{
    "errno": "OK",
    "message": "Success",
    "data": {
         // 卖盘,按价格由小到大排序
        "asks": [
            [
                80000, // key
                "8",   // 价格
                "1",   // 量
                0      // 0:表示用户订单,1:表示包含系统订单
            ]...
        ],
        // 买盘,按价格由大到小排序
        "bids": [
            [
                74000, // key
                "7.4", // 价格
                "1",   // 量
                0
            ]...
        ]
    }
}

请求Url

GET swap/depth

参数列表

参数名 参数类型 参数示例 参数描述
instrumentID String 11 合约id,具体可见获取合约交易对详情接口
count Int 10 合约深度档数大小,不传表示获取全部

获取合约信息

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/instruments?instrumentID=11'

Response:

{
    "errno": "OK",
    "message": "Success",
    "data": {
        "instruments": [
            {
                "instrument_id": 7,                         //合约id
                "index_id": 16,                                                         //指数id
                "symbol": "BCHUSDT",                                                //合约名称
                "name_zh": "BCHUSDT永续合约",                //合约中文名称
                "name_en": "BCHUSDT SWAP",                                  //合约英文名称
                "base_coin": "BCH",                                                 //基础币种
                "quote_coin": "USDT",                                               //计价币种
                "margin_coin": "USDT",                                          //保证金币种
                "is_reverse": false,                        //是否是反向合约,usdt合约为正向合                                                                                                                                约,币本位合约为反向合约
                "market_name": "",                          //
                "face_value": "0.001",                      //单张合约面值,以基础币种为单位
                "begin_at": "2018-09-29T04:00:00Z",         //
                "settle_at": "2019-09-08T12:00:00Z",        //
                "settlement_interval": 28800,               //
                "min_leverage": "1.0",                      //最小支持杠杆
                "max_leverage": "50.0",                     //最大支持杠杆
                "position_type": 3,                         //支持的仓位类型,1:全仓,2:逐仓,3:都                                                                                                                             支持
                "px_unit": "0.01",                              //价格精度
                "qty_unit": "1",                                //数量精度
                "value_unit": "0.0001",                     //价值精度
                "min_qty": "1",                                   //单笔订单最小数量
                "max_qty": "100000",                        //单笔订单最大数量
                "underweight_type": 1,                      //穿仓补偿方式 1:ADL方式,2:盈利均摊                                                                                                                                                     方式


                "status": 3,                                      //合约状态
                                                                                                                1  // 审批中,系统内部使用
                                                                                                                                2  // 测试中,系统内部使用
                                                                                                                                3  // 可用,正在撮合的合约
                                                                                                                                4  // 暂停,合约可见,撮合暂停
                                                                                                                                5  // 交割中,期货合约到期后,暂停                                                                                                                                            撮合,开始结算
                                                                                                                                6  // 交割完成,结算完成
                                                                                                                                7  // 下线,合约生命周期结束
                "area": 2,                                              //1:USDT区,2:主区,3:创新区,4:模拟区
                "created_at": "2018-09-29T10:02:42Z",       //创建时间
                "depth_round": "1.001",                     //深度边框系数
                "base_coin_zh": "比特现金",                  //基础币种中文名称
                "base_coin_en": "BCH",                      //基础币种英文缩写
                "max_funding_rate": "0",                    //最大资金费率
                "min_funding_rate": "0",                    //最小资金费率
                "risk_limit_base": "100000",                //风险限额基础
                "risk_limit_step": "50000",                 //风险限额补偿
                "mmr": "0.005",                             //基本维持保证金率
                "imr": "0.01",                              //基本开仓保证金率
                "maker_fee_ratio": "0.00025",               //maker费率
                "taker_fee_ratio": "0.00075",               //taker费率
                "settle_fee_ratio": "0",                    //交割手续费率
                "plan_order_price_min_scope": "0",          //计划委托最小价格范围
                "plan_order_price_max_scope": "0",          //计划委托最大价格范围,如果为0,表示该                                                                                                                               合约不支持计划委托
                "plan_order_max_count": 0,                  //单用户计划委托最大数量
                "plan_order_min_life_cycle": 0,             //计划委托最小生命周期
                "plan_order_max_life_cycle": 0              //计划委托最大生命周期
            }
        ]
    }
}


请求Url

GET swap/instruments

参数列表

参数名 参数类型 参数示例 参数描述
instrumentID String 11 合约id,具体可见获取合约交易对详情接口

获取合约信息

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/fundingrate?instrumentID=11'

Response:

{
    "errno": "OK",
    "message": "Success",
    "data": [
        {
            "rate": "-0.0060483184843194741", // 资金费率
            "timestamp": 1534320000 // 时间戳
        },
        {
            "rate": "0.1041766553400505803",
            "timestamp": 1534291200
        }
    ]
}

请求Url

GET swap/fundingrate

参数列表

参数名 参数类型 参数示例 参数描述
instrumentID String 11 合约id,具体可见获取合约交易对详情接口

获取合约k线数据

curl请求示例:

https://api.abit.com/swap/kline?instrumentID=1&startTime=1532610072&endTime=1532656524&unit=5&resolution=M

Response:

ENVIRONMENT LAYOUT 
LANGUAGE 
Public
{
    "errno": "OK",
    "message": "Success",
    "data": [
        {
            "low": "130",               // 最低价
            "high": "130",              // 最高价
            "open": "130",              // 开盘价
            "close": "130",             // 收盘价
            "last_px": "130",       // 最后一次交易价
            "avg_px": "130",            // 均价
            "qty": "10",                    // 交易量,单位张数
            "base_coin_qty":"163.9",                // 基础币的交易量(币值对前面的币为基础币)
            "quote_coin_qty":"34555.3812",  // 计价币的交易量(币值对后面的币为计价币)
            "timestamp": 1532610000,                // 时间戳,单位秒
            "change_rate": "0",                         // 涨跌幅比例
            "change_value": "0"                         // 涨跌幅值
        }
    ]
}

请求Url

GET swap/kline

参数列表

参数名 参数类型 参数示例 参数描述
indexID String 11 合约id
startTime ts 1533686400 获取k线数据的起始时间
endTime ts 1533688400 获取k线数据的结束时间
unit Int 5 选择的时间跨度的长度,在示例中表示为5M,即5分钟为每根蜡烛图的时间跨度
resolution String M 表示获取K线数据的频率类型,M:分钟,H:小时;D:天

获取合约ticker数据

请求Url

GET swap/tickers

参数列表

参数名 参数类型 参数示例 参数描述
instrumentID String 11 合约id

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/tickers?instrumentID=1'

Response:

{
    "errno": "OK",
    "message": "Success",
    "data": {
        "tickers": [
            {
                "last_px": "6277.5",                    // 最后成交价
                "open": "6074.5",                       // 当天的开盘价
                "close": "6277.5",                      // 当前的收盘价
                "low": "6261.3",                            // 当天的最低价
                "high": "6279",                             // 当天的最高价
                "avg_px": "6274.67",                    // 均价
                "last_qty": "20000",                    // 最后一笔交易量,单位张数,如果要显示btc的交易量,                                                                                                           需要last_qty乘以合约的大小
                "qty24": "45462",                       // 24小时总量,单位张数
                "base_coin_qty":"163.9",            // 基础币的交易量(币值对前面的币为基础币)
                "quote_coin_qty":"34555.381", // 计价币的交易量(币值对后面的币为计价币)
                "timestamp": 1534315695,            // 时间戳
                "change_rate": "0.033",             // 涨幅比例
                "change_value": "203",              // 涨幅值
                "instrument_id": 1,                     // 合约id
                "position_size": "374266",      // 未平仓位量
                "qty_day": "45270",                     // 当天交易量
                "amount24":"28520.77363",       // 24小时交易额
                "index_px": "6406.53",              // 指数价格
                "fair_basis": "0.000000690",    // 基差率
                "fair_value": "0.00442673",     // 基差
                "fair_px": "6406.5344267",      // 标记价
                "rate": {
                    "quote_rate": "0.0003",     // 计价币借贷利率
                    "base_rate": "0.0006",      // 基础币借贷利率
                    "interest_rate": "-0.00009999" // 利率
                },
                "premium_index": "-0.0309530479798782534",  // 溢价指数
                "funding_rate": "0.0001",                                   // 当前资金费率
                "next_funding_rate": "-0.0304530",                  // 下一个预计资金费率
                "next_funding_at": "2018-08-15T08:00:01Z"   // 下一个结算时间(UTC时间)
            }
        ]
    }
}

合约交易接口

在此类别中,所有接口都需要进行身份验证。验证参数放在Header中

撤销合约订单

请求Url

POST swap/cancelOrders

参数列表

参数名 参数类型 参数示例 参数描述
instrumentID String 11 合约id
orders 整型列表 [1,2,3,4]

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/tickers?instrumentID=1'

Response:

{
    "errno": "OK",
    "message": "Success",
    "data": {
        "tickers": [
            {
                "last_px": "6277.5",                    // 最后成交价
                "open": "6074.5",                       // 当天的开盘价
                "close": "6277.5",                      // 当前的收盘价
                "low": "6261.3",                            // 当天的最低价
                "high": "6279",                             // 当天的最高价
                "avg_px": "6274.67",                    // 均价
                "last_qty": "20000",                    // 最后一笔交易量,单位张数,如果要显示btc的交易量,                                                                                                           需要last_qty乘以合约的大小
                "qty24": "45462",                       // 24小时总量,单位张数
                "base_coin_qty":"163.9",            // 基础币的交易量(币值对前面的币为基础币)
                "quote_coin_qty":"34555.381", // 计价币的交易量(币值对后面的币为计价币)
                "timestamp": 1534315695,            // 时间戳
                "change_rate": "0.033",             // 涨幅比例
                "change_value": "203",              // 涨幅值
                "instrument_id": 1,                     // 合约id
                "position_size": "374266",      // 未平仓位量
                "qty_day": "45270",                     // 当天交易量
                "amount24":"28520.77363",       // 24小时交易额
                "index_px": "6406.53",              // 指数价格
                "fair_basis": "0.000000690",    // 基差率
                "fair_value": "0.00442673",     // 基差
                "fair_px": "6406.5344267",      // 标记价
                "rate": {
                    "quote_rate": "0.0003",     // 计价币借贷利率
                    "base_rate": "0.0006",      // 基础币借贷利率
                    "interest_rate": "-0.00009999" // 利率
                },
                "premium_index": "-0.0309530479798782534",  // 溢价指数
                "funding_rate": "0.0001",                                   // 当前资金费率
                "next_funding_rate": "-0.0304530",                  // 下一个预计资金费率
                "next_funding_at": "2018-08-15T08:00:01Z"   // 下一个结算时间(UTC时间)
            }
        ]
    }
}

批量提交订单

curl请求示例:

curl --location --request POST 'https://api.abit.com/swap/batchOrders' \
--header 'EX-Accesskey: 123123123213' \
--header 'EX-Sign: MD5(postdata+secretKey+EX-Ts)' \
--header 'EX-Ver: 1008' \
--header 'EX-Dev: WEB' \
--header 'EX-Ts: 1541044393000000' \
--data-raw '{
    "orders":[
        {
           "instrument_id":3,
           "category":1,
           "client_id":1,
           "side":4,
           "position_type":1,
           "leverage":100,
           "px":"998",
           "qty":"10",
           "hide_qty":"0"
        },
        {
           "instrument_id":3,
           "category":1,
           "client_id":2,
           "side":4,
           "position_type":1,
           "leverage":100,
           "qty":"10",
           "hide_qty":"0"
        }
    ],
   "nonce":1533876299
}'

Response :

#成功
{
  "errno": "OK",
  "message": "Success",
  "data": {
      "orders": [
          {
              "client_id": 1,
              "oid": 10540013
          },
          {
              "client_id": 2,
              "oid": 10540014
          }
      ]
  }
}
#失败
{
  "errno": "OK",
  "message": "Success",
  "data": {
      "orders": [
          {
              "client_id": 1,
              "err": {
                  "http_err":405,
                  "err_code":"LIQUIDATE_ORDER",
                  "err_msg":"订单将触发强平"
              }
          },
          {
              "client_id": 2,
              "oid": 10540014
          }
      ]
  }
}

请求Url

POST swap/batchOrders

请求body

参数名 参数类型 参数示例 参数描述
orders order [{"instrument_id":3,"category":1,"client_id":1,"side":4,"position_type":1, "leverage":100,"px":"998","qty":"10","hide_qty":"0"},...] 批量订单列表
nonce int 1533876299 当前utc时间戳

order

参数名 参数类型 参数示例 参数描述 是否必须
Instrument_id Int 3 合约id
category Int 1 类型,1:限价,2:市价,3:被动委托
client_id int 1
side int 1 订单方向,1:开多,2:开空,3:平多,4:平空
position_type 开仓方式 1 开仓方式,1:逐仓,2:全仓。平仓不必传
leverage decimal 10 杠杆倍数
px decimal 价格
qty decimal 数量

单次提交订单

curl请求示例:

curl --location --request POST 'https://api.abit.com/swap/submitOrder' \
--header 'EX-Ver: 1.0.0' \
--header 'EX-Dev: web' \
--header 'EX-Sign: d1701e739a359ee4c7a5003fe39ef27065c019f687b982a6e98bd375a673ec42' \
--header 'EX-Ts: 1532428054000000' \
--header 'EX-Uid: 100039428965' \
--data-raw '{
   "instrument_id":3,
   "category":1,
   "side":4,
   "position_type":1,
   "leverage":100,
   "px":998,
   "qty":10,
   "nonce":1533873979
}'

Response :

#成功
{
  "errno": "OK",
  "message": "Success",
  "data":
          {
              "client_id": 1,
              "oid": 10540013
          }
}

请求Url

POST swap/submitOrder

请求body

参数名 参数类型 参数示例 参数描述 是否必须
Instrument_id Int 3 合约id
category Int 1 类型,1:限价,2:市价,3:被动委托
client_id int 1
side int 1 订单方向,1:开多,2:开空,3:平多,4:平空
position_type 开仓方式 1 开放方式,1:逐仓,2:全仓,平仓不必传
leverage decimal 10 杠杆倍数
px decimal 17.2 价格
qty decimal 12.4 数量
nonce int 1533873979 当前时间戳

获取合约账户信息

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/accounts?coinCode=USDT' \
--header 'EX-Accesskey: 123123123213' \
--header 'EX-Sign: MD5({secretKey}+{EX-Ts})' \
--header 'EX-Ver: 1008' \
--header 'EX-Dev: WEB' \
--header 'EX-Ts: 1541044393000000'

Response :

#成功
合约账号列表
"accounts": [
            {
                "account_id": 10, // 账号ID
                "coin_code": "USDT", // 代币名称
                "freeze_vol": "1201.8", // 冻结量
                "available_vol": "8397.65", // 可用余额
                "cash_vol": "0", // 净现金余额
                "realised_vol": "-0.5", // 已实现盈亏
                "earnings_vol": "-0.5", // 已结算收益
                "created_at":  // 创建时间 "2018-07-13T16:48:49+08:00",
                "updated_at":  // 修改时间 "2018-07-13T18:34:45.900387+08:00"
            }
        ]

请求Url

GET swap/accounts

请求参数

参数通过urlparam形式传入

参数名 参数类型 参数示例 参数描述 是否必须
instrument_id Int 3 合约id
coinCode String USDT 合约的计价币种名称

获取用户仓位

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/userPositions?coinCode=USDT&status=3&offset=1&size=0' \
--header 'EX-Accesskey: 123123123213' \
--header 'EX-Sign: MD5(secretKey+EX-Ts)' \
--header 'EX-Ver: 1008' \
--header 'EX-Dev: WEB' \
--header 'EX-Ts: 1541044393000000'

Response :

#成功
{
    "errno": "OK",
    "message": "Success",
    "data": {
        "positions": [
            {
                "pid": 10116365,              //仓位id
                "uid": 10,                                      //用户id
                "instrument_id": 1,
                "cur_qty": "10",                            //当前持有量
                "freeze_qty": "0",                      //冻结数量
                "close_qty": "0",                           //已经平仓量
                "avg_cost_px": "16",                    //持仓均价
                "avg_open_px": "16",          //开仓均价
                "avg_close_px": "0",          //平仓均价
                "oim": "100.075",             //原始开仓保证金
                "im": "100.075",                            //开仓保证金
                "mm": "50",                   //维持保证金
                "realised_pnl": "-0.075",     //已实现盈亏
                "earnings": "-0.075",         //已实现收益
                "tax": "0",                   //持仓产生的资金费用
                "position_type": 1,           //开仓类型
                "side": 2,                    //仓位方向
                "status": 1,                  //状态  1:持仓  2:系统托管  4:已经平仓
                "errno": 0,                   //平仓原因 
                                                                            1:平仓委托中
                                                                                            2:破产委托中
                                                                                            3:平仓委托结束
                                                                                            4:破产委托结束
                                                                                            5:爆仓
                                                                                            6:自动减仓(主动发起方)
                                                                                            7:自动减仓(被动接收方)
                "created_at": "2018-07-17T03:04:26.108983Z",
                "updated_at": "2018-07-17T03:04:26.098404Z"
            }
        ]
    }
}

请求Url

GET swap/userPositions

请求参数

参数通过urlparam形式传入

参数名 参数类型 参数示例 参数描述 是否必须
coinCode String USDT 合约的计价币种名称
Status int 1 仓位状态 1:持仓中 2:系统委托中 4:已平仓 如果请求参数中的status值为3,标识同时请求持仓中和系统委托中的仓位 如果请求参数中的status值为0或者7,标识同时请求所有状态的仓位
offset int 0
size int 10

获取仓位资金费用

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/positionTax?instrumentID=32785&pid=2154205116' \
--header 'EX-Accesskey:  a3f056e5-0041-43c3-a9df-574b25a2ab03' \
--header 'EX-Dev: api' \
--header 'EX-Ts: 1547626071000000' \
--header 'EX-Ver: 1008' \
--header 'EX-Sign: 56ea9ec5355d1dde381e1296bda42db0'

Response :

{
    "errno": "OK",
    "message": "Success",
    // 记录数组按照时间由近及远排序
    "data": [
        {
            "instrument_id": 32785, // 合约ID
            "uid": 2071026819, // 用户ID
            "pid": 2154205116, // 仓位ID
            "fair_px": "0.849940605285", // 产生仓位费用时的合理价格
            "funding_rate": "0", // 产生仓位费用时的资金费率
            "tax": "-149.8912195248", // 手续费,负数表示赚的,正数表示付出费
            "qty": "1053468", // 产生仓位费用时的仓位持仓量
            "created_at": "2019-01-15T00:00:00.708979Z" // 产生仓位费用的时间,UTC时间
        },
        {
            "instrument_id": 32785,
            "uid": 2071026819,
            "pid": 2154205116,
            "fair_px": "0.849940605285",
            "funding_rate": "0",
            "tax": "-261.432832752",
            "qty": "1053468",
            "created_at": "2019-01-14T16:00:01.183355Z"
        }
    ]
}

请求Url

GET swap/positionTax

请求参数

参数通过urlparam形式传入

参数名 参数类型 参数示例 参数描述 是否必须
instrumentId Int 2 合约id
pid int 2154205116 仓位id

获取用户的交易记录

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/userTrades?instrumentID=1&offset=0&size=100' \
--header 'EX-Accesskey: 123123123213' \
--header 'EX-Sign: MD5(secretKey+EX-Ts)' \
--header 'EX-Ver: 1008' \
--header 'EX-Dev: WEB' \
--header 'EX-Ts: 1541044393000000'

Response :

{
    "errno": "OK",
    "message": "Success",
    "data": {
        // 交易记录列表,按创建时间由近及远排序
        "trades": [
            {
                "oid": 10116361,                    // taker order id
                "tid": 10116363,                    // trade id
                "instrument_id": 1,         // 合约ID
                "px": "16",                         // 成交价
                "qty": "10",                        // 成交量
                "make_fee": "0.04",         // maker 费率
                "take_fee": "0.12",         // taker 费率
                "created_at": null,         // 创建时间
                "side": 5,                  // 交易方向
                "change": "0"                       // 如本次交易前的最新交易价是10,本次交易的交易价是11,则                                                                                          fluctuation为"1" 
            }
        ]
    }
}

请求Url

GET swap/userTrades

请求参数

参数通过urlparam形式传入

参数名 参数类型 参数示例 参数描述 是否必须
coinCode Int 2 合约id
offset Int 0 偏移量
size int 60 记录条数,默认60

逐仓仓位追加或减少保证金

curl请求示例:

curl --location --request POST 'https://api.abit.com/swap/changeMargin' \
--header 'EX-Accesskey:  a3f056e5-0041-43c3-a9df-574b25a2ab03' \
--header 'EX-Dev: api' \
--header 'EX-Ts: 1547626071000000' \
--header 'EX-Ver: 1008' \
--header 'EX-Sign: 56ea9ec5355d1dde381e1296bda42db0' \
--data-raw '{
   "pid":10539974,
   "instrument_id":1,
   "vol":10,
   "side":1,
   "nonce":1533871871
}'

Response :

请求Url

POST swap/changeMargin

请求参数

参数通过urlparam形式传入

参数名 参数类型 参数示例 参数描述 是否必须
pid Int 2 仓位id
instrument_id Int 0 合约id
side int 1 1:追加保证金,2:减少保证金
vol int 10 保证金数量
nonce int 1533871871 时间戳 单位秒

用户订单记录

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/userOrders?instrumentID=1&offset=0&size=0&status=0' \
--header 'EX-Accesskey: 123123123213' \
--header 'EX-Sign: MD5(secretKey+EX-Ts)' \
--header 'EX-Ver: 1008' \
--header 'EX-Dev: WEB' \
--header 'EX-Ts: 1541044393000000'

Response :

{
    "errno": "OK",
    "message": "Success",
    "data": {
        "orders": [
            {
                "oid": 10539098, // 订单id
                "instrument_id": 1, // 合约id
                "pid": 10539088, // 平仓为id
                "uid": 10, // 用户id
                "px": "16", // 订单价格
                "qty": "1", // 订单总量
                "hide_qty": "0", // 订单隐藏量
                "avg_px": "16", // 成交均价
                "cum_qty": "1", // 成交量
                "side": 3,   // 订单方向
                "category": 1, // 订单类型
                "make_fee": "0.00025", // make fee
                "take_fee": "0.012", // take fee
                "origin": "", // 来源
                "created_at": "2018-07-23T11:55:56.715305Z",
                "finished_at": "2018-07-23T11:55:56.763941Z",
                "status": 4, // 状态
                "errno": 0,  // 订单结束原因
                "position_type": 2, // 1:逐仓,2:全仓
                "time_in_force": 1, // 1:普通,2:FOK,3:IOC
                "mfr": "0.00025", // 系统的make手续费率
                "tfr": "0.00075", // 系统的take手续费率
                "self_mfr": "0.00025", // 用户自己的make手续费率,如果没有返回该字段,或者值为0,表示用户的手续费率以系统的配置为准
                "self_tfr": "0.00075", // 用户自己的take手续费率,如果没有返回该字段,或者值为0,表示用户的手续费率以系统的配置为准
                "leverage": "10", // 订单的杠杆大小,
                "client_id": 123123, // 前端自定义id
            }
        ]
    }
}

请求Url

GET swap/userOrders

请求参数

参数通过urlparam形式传入

参数名 参数类型 参数示例 参数描述 是否必须
offset Int 2 偏移量
instrument_id Int 0 合约id
size int 1 记录数量
status int 10 订单状态 1:申报中 2:委托中 4:完成 如果请求参数status=3,标识同时请求申报中和委托中的订单,如果请求参数status=0或者7,标识同时请求所有状态的订单

查询订单详情

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/queryOrder?instrumentID=1&oid=10539098' \
--header 'EX-Accesskey: 123123123213' \
--header 'EX-Sign: MD5(secretKey+EX-Ts)' \
--header 'EX-Ver: 1008' \
--header 'EX-Dev: WEB' \
--header 'EX-Ts: 1541044393000000'

Response :

{
    "errno": "OK",
    "message": "Success",
    "data": {
        // 订单信息
        "orders": [
            {
                "oid": 10539098, // 订单id
                "instrument_id": 1, // 合约id
                "pid": 10539088, // 平仓为id
                "uid": 10, // 用户id
                "px": "16", // 订单价格
                "qty": "1", // 订单总量
                "hide_qty": "0", // 订单隐藏量
                "avg_px": "16", // 成交均价
                "cum_qty": "1", // 成交量
                "side": 3,   // 订单方向
                "category": 1, // 订单类型 
                                  该字段采用二进制按位表示法
                                  0~5位表示订单的基本类型,第6位预留,
                                  第7位为1表示:强平委托单
                                  第8位为1表示:爆仓委托单
                                  第9位为1表示:自动减仓委托单
                "make_fee": "0.00025", // make fee
                "take_fee": "0.012", // take fee
                "origin": "", // 来源
                "created_at": "2018-07-23T11:55:56.715305Z",
                "finished_at": "2018-07-23T11:55:56.763941Z",
                "status": 4, // 状态
                "errno": 0,  // 订单结束原因
                                                1:用户取消
                                                                2:超时,(暂时没有用)
                                                                3:用户资产不够,转撤销
                                4:用户冻结资产不够
                                5:系统部分转撤销
                                6:部分平仓导致的部分转撤销
                                7:自动减仓导致的部分转撤销
                                8:盈利补偿导致的部分转撤销(暂时没有用)
                                9:仓位错误导致的部分转撤销
                                10:类型非法
                                11:反方向订单存在
                "position_type": 2, // 1:逐仓,2:全仓
                "time_in_force": 1, // 1:普通,2:FOK,3:IOC
                "mfr": "0.00025", // 系统的make手续费率
                "tfr": "0.00075", // 系统的take手续费率
                "self_mfr": "0.00025", // 用户自己的make手续费率,如果没有返回该字段,或者值为0,表示用户的手续费率以系统的配置为准
                "self_tfr": "0.00075", // 用户自己的take手续费率,如果没有返回该字段,或者值为0,表示用户的手续费率以系统的配置为准
                "leverage": "10", // 订单的杠杆大小,
                "client_id": 123123, // 前端自定义id
            }
        ]
    }
}

请求Url

GET swap/queryOrder

请求参数

参数通过urlparam形式传入

参数名 参数类型 参数示例 参数描述 是否必须
instrument_id Int 0 合约id
oid Int 0 订单id

查询单笔交易记录详情

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/orderTrades?instrumentID=1&orderID=2064344648'

Response :

{
    "errno": "OK",
    "message": "Success",
    "data": {
        // 交易记录列表,按创建时间由近及远排序
        "trades": [
            {
                "oid": 10116361,            // taker order id
                "tid": 10116363,            // trade id
                "instrument_id": 1,   // 合约ID
                "px": "16",             // 成交价
                "qty": "10",            // 成交量
                "make_fee": "0.04",   // make fee
                "take_fee": "0.12",   // take fee
                "created_at": null,   // 创建时间
                "side": 5,            // 交易方向
                "change": "0"               // 对行情的影响
            }
        ]
    }
}

请求Url

GET swap/orderTrades

请求参数

参数通过urlparam形式传入

参数名 参数类型 参数示例 参数描述 是否必须
instrument_id Int 0 合约id
orderID int 20644322 订单id

创建合约账户

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/createAccount?instrumentID=1' \
--header 'EX-Accesskey:  a3f056e5-0041-43c3-a9df-574b25a2ab03' \
--header 'EX-Dev: api' \
--header 'EX-Ts: 1547626071000000' \
--header 'EX-Ver: 1008' \
--header 'EX-Sign: 56ea9ec5355d1dde381e1296bda42db0'

Response :

{
    "errno": "OK",  // 创建成功
    "message": "Success"
}

请求Url

GET swap/createAccount

请求参数

参数通过urlparam形式传入

参数名 参数类型 参数示例 参数描述 是否必须
instrument_id Int 0 合约id

获取用户爆仓记录

curl请求示例:

curl --location --request GET 'https://api.abit.com/swap/userLiqRecords?instrumentID=1&oid=1000232'

Response :

{
    "errno": "OK",
    "message": "Success",
    "data": {
"records": [
    {
    "oid": 10539098,
    "instrument_id": 1,
    "pid": 10539088,
    "uid": 10,
    "type":1, // 爆仓类型,1:部分强平,2:破产,3:ADL主动发起,4:ADL被动发起
    "trigger_px":"16", // 触发价
    "order_px":"16", // 委托价
    "mmr":"0.0013", // 爆仓时的维持保证金率
    "subsidies":"0.018", // 破产系统补贴额度
    "created_at": "2018-07-23T11:55:56.715305Z"
    }
]
    }
}

请求Url

GET swap/userLiqRecords

请求参数

参数通过urlparam形式传入

参数名 参数类型 参数示例 参数描述 是否必须
instrumentID Int 0 合约id
oid int 1000232 订单id

提交计划委托

curl请求示例:

curl --location --request POST 'http://api.abit.com/swap/submitPlanOrder' \
--header 'EX-Ver: 1.0.0' \
--header 'EX-Dev: web' \
--header 'EX-Sign: d1701e739a359ee4c7a5003fe39ef27065c019f687b982a6e98bd375a673ec42' \
--header 'EX-Ts: 1532428054000000' \
--header 'EX-Uid: 100039428965' \
--data-raw '{
   "instrument_id":3,
   "category":1,
   "trigger_type":1,
   "trend":1,
   "position_type":1,
   "leverage":100,
   "px":998,
   "qty":10,
   "nonce":1537326290
}'

Response :


请求Url

POST swap/submitPlanOrder

请求body

参数名 参数类型 参数示例 参数描述 是否必须
instrument_id Int 3 合约id
category Int 1 类型,1:限价,2:市价,3:被动委托
client_id int 1
side int 1 订单方向,1:开多,2:开空,3:平多,4:平空
position_type 开仓方式 1 开放方式,1:逐仓,2:全仓,平仓不必传
leverage decimal 10 杠杆倍数
px decimal 触发价格
qty decimal 数量
nonce int 1533873979 当前时间戳
trigger_type int 价格类型,1:交易价,2:标记价;4:指数价
trend int 1 价格方向,1:看涨,2:看跌,否则返回无效参数
exec_px int 980 执行价格
cycle Int 10 委托周期,单位小时

取消计划委托

curl请求示例:

curl --location --request POST 'http://api.abit.com/swap/cancelPlanOrders' \
--header 'Content-Type: application/json' \
--data-raw '{
    "orders":[
        {
           "instrument_id":1,
           "orders":[
                   10116356,
                   10116357
            ]
        }
     ],
    "nonce":1531968125
}'

Response :

{
    "errno": "OK",
    "message": "Success",
    "data": {
        // 取消成功的列表
        "succeed": [ 
            10116356,
            10116357
        ],
        // 取消失败的列表
        "failed": null
    }
}

请求Url

POST swap/cancelPlanOrders

请求body

参数名 参数类型 参数示例 参数描述 是否必须
instrument_id Int 3 合约id
orders Int list [1,2,3] 合约订单id列表

获取用户计划委托记录

curl请求示例:

curl --location --request GET 'http://api.abit.com/swap/userPlanOrders?instrumentID=1&offset=0&size=0&status=0'

Response :

{
    "errno": "OK",
    "message": "Success",
    "data": {
        "orders": [
            {
                "oid": 10540133,
                "instrument_id": 3,
                "uid": 10,
                "px": "998",
                "qty": "10",
                "side": 1,
                "trigger_type": 1,
                "trend": 1,
                "category": 1,
                "cycle": 24,
                "position_type": 1,
                "leverage": "100",
                "origin": "web",
                "created_at": "2018-09-19T03:23:57.444639Z",
                "finished_at": "2018-09-19T03:43:11.948255Z",
                "status": 4,
                "errno": 1   //错误码 0:触发成功 1:用户取消 2:超时 3:用户资产不够 4:订单将触发强平 5:订单无效 6:用户资产正处在托管中 7:仓位不存在 8:仓位量不够 9:仓位已经被关闭 10:合约已经暂停交易 11:反方向订单存在 12:合约已经下线 13:未知错误
            }
        ]
    }
}

请求Url

GET swap/userLiqRecords

请求参数

参数通过urlparam形式传入

参数名 参数类型 参数示例 参数描述 是否必须
instrumentID Int 0 合约id
offset int 0 偏移量
size int 10 大小
status int 1 状态

Websocket 数据推送

GET 实时数据(WebSocket)

wss://api.abit.com/swap/realTime

地址

命令

  {
    "action":"<command>",
    "success":true,         // 成功-true, 失败-false
    "group":"<group>",
    "request":{
        // 原始请求
    },
    "error":""  // 失败时有这个字段返回具体错误原因
  }
  subscribe   // 订阅
  unsubscribe //取消订阅

主题

  这些主题列表是开放主题,不需要做ws认证.
  Trade       //最新成交
  PNL         //自动减仓排名
  Ticker      //实时价格
  OrderBook       //深度
  QuoteBin1m  //1分钟行情数据
  QuoteBin5m  //5分钟行情数据
  QuoteBin30m //30分钟行情数据
  QuoteBin1h  //1小时行情数据
  QuoteBin2h  //2小时行情数据
  QuoteBin4h  //4小时行情数据
  QuoteBin6h  //6小时行情数据
  QuoteBin12h //12小时行情数据
  QuoteBin1d  //日行情数据
  QuoteBin1w  //周行情数据|
  IndexBin1m  //1分钟指数行情数据|
  IndexBin5m  //5分钟指数行情数据|
  IndexBin30m //30分钟指数行情数据|
  IndexBin1h  //1小时指数行情数据|
  IndexBin2h  //2小时指数行情数据|
  IndexBin4h  //4小时指数行情数据|
  IndexBin6h  //6小时指数行情数据|
  IndexBin12h //12小时指数行情数据|
  IndexBin1d  //日指数行情数据|
  IndexBin1w  //周指数行情数据|
  1. 除Ticker之外目前所有主题都跟合约ID相关
  2. 请求订阅命令,主题列表主题的构成方式为<主题:合约ID>,例如需要订阅合约(2)的实时深度和5分钟行情的命令为 {"action":"subscribe","args":["OrderBook:2","QuoteBin5m:2"]}
  3. orderbook是差量更新的,当消息的action为1表示全量数据,action为2表示增量数据.不管是全量数据,还是增量数据都是按照盘口排好序的. {"group":"OrderBook:1","action":1,"data":{"asks":[[862810,"8628.1","2666",0]]}} [862810, // 整型数key,方便排序用的 "8628.1", // 价格 "2666", // 量,如果量为0表示该book被删除了 0] // 1表示book中包含爆仓订单

订阅数据格式

  {
    "group":"",
    "data":{
    }
  }
  // 订阅主题不同,data字段格式不同。data的具体以接口返回为准,请求输入对应主题的订阅命令获取

认证

如果需要订阅跟用户自己信息相关的数据等私有信息,需要做ws认证
// 参考Api接口Sign计算方式(参数顺序很重要,别搞错顺序了)
{
    "action":"access",
    "args":[
        "Accesskey",       // 用户的Accesskey,必须是字符串
        "api",              // Dev(EX-Dev) 必须是字符串
        "1.0.0",            // Version(EX-Ver)必须是字符串
        "Sign",              // Sign(EX-Sign) 必须是字符串
        "1540286461000000",  // Ts(EX-Ts) 单位:微秒,必须是字符串
        "36000", // 超时时间,只有是合约云接口认证需要      
    ] 
}


Sign参数的值为:md5(sercet_key+Ts(字符串))

订阅私有数据

// 订阅完成后(认证通过)就可以收到UserProperty主题的私有数据了,暂时只有一个UserProperty主题,所有私有数据都在这个主题返回
{
    "action":"subscribe",
    "args":["UserProperty"]
}

// UserProperty主题,返回的数据格式
{
    "group":"UserProperty",
    "data":[
        {
            "action":1, // 操作类型
            "order":{   // 订单信息

            },
            "position":{ // 仓位信息

            },
            "c_assets":{  // 合约资产

            },
            "s_assets":{  // 现货资产

            }
        }
    ]
}
"group":"UserProperty",表示该用户的的合约数据.以后台业务操作为驱动,推送用户数据的更新.一次推送可能包括多次业务操作,所以data是以数组形式,从数组的头开始,按操作先后顺序存放的用户的一组操作.每组数据的元素包括:action(操作类型),order(订单信息),position(仓位信息),c_assets(合约资产信息),s_assets(现货资产信息).对于订单信息,仓位信息,合约资产信息,现货资产信息,只有当操作这些信息产生了更新,每组数据的元素才会包含该信息.
action:操作类型有
1 :撮合.
   可能产生的影响:订单更新,仓位更新,合约资产更新
2 :提交订单
   可能产生的影响:订单更新,合约资产更新
3 :取消订单
   可能产生的影响:订单更新,仓位更新,合约资产更新
4 :强平取消订单
   可能产生的影响:订单更新,仓位更新,合约资产更新
5 :被动ADL取消订单
   可能产生的影响:订单更新,仓位更新,合约资产更新
6 :部分强平
   可能产生的影响:订单更新,仓位更新,合约资产更新
7 :破产委托
   可能产生的影响:新增订单,仓位更新,合约资产更新
8 :被动ADL撮合成交
   可能产生的影响:订单更新,仓位更新,合约资产更新
9 :主动ADL撮合成交
   可能产生的影响:订单更新,仓位更新,合约资产更新
10 :从现货资产化入到合约资产
   可能产生的影响:合约资产更新,现货资产更新
11 :从合约资产化出到现货资产
   可能产生的影响:合约资产更新,现货资产更新
12 :追加保证金
   可能产生的影响:仓位更新,合约资产更新
13 :减少保证金
   可能产生的影响:仓位更新,合约资产更新

心跳

  // ping
  {"action":"ping"}
  // pong
  {"group":"System","data":"pong"}

测试

  https://chrome.google.com/webstore/search/WebSocket%20Test%20Client?utm_source=chrome-ntp-icon

现货交易

现货公共信息-REST

对于合约公共信息请求的EndPoint地址为:https://api.abit.com/

获取交易对信息

curl请求示例:

curl --location --request GET 'https://api.abit.com/spot/instruments?symbol=BTC/USDT'

返回数据:

{
    "errno": "OK",
    "message": "Success",
    "data": {
        "instruments": [
            {
            // 现货对象属性说明
            "instrument_id": 22,  // 现货对ID
            "symbol": "BTC/USDT", // 现货对名称
            "base_coin": "BTC",   // 基础币
            "quote_coin": "USDT", // 计价币
            "rank": 5,            // 系统排序
            "px_unit": "0.0001",  // 价格精度
            "qty_unit": "0.0001", // 量精度
            "tip_limit": "0.2",   // 价格输入无效预警范围
            "min_qty": "0.0001",  // 订单最小量
            "status": 1,          // 现货对状态
                                        1  // 上线
                                        2  // 审批中
                                        3  // 测试中
                                        5  // 暂停交易
                                        6  // 下线
            "big_icon": "",       
            "small_icon": "",
            "gray_icon": "",
            "created_at": null,
            "market_order_risk_type": 1,//1:按order book价格幅度约束,
                                                                2:按order book档位约束,
                                                                0:表示该币对不支持市价单
            "market_order_risk_deal_scope": "0.2",
            "fee_configs": [
                {
                    "coin_code": "BTC", //收取手续费的币
                    "fee_ratio": "0.1",
                    "type": 3  //收取手续费的类型,1:只收买单的手续费,2:只收卖单的手续费,3:买卖单都收取 
                }
            ] 前端下单价格预警超出范围
            }
        ]
    }
}

请求Url

GET spot/instruments

参数列表

参数名 参数类型 参数示例 参数描述
symbol String BTC/USDT 现货名称,不传表示获取所有币种信息

获取币币深度

curl请求示例:

curl --location --request GET 'https://api.abit.com/spot/depth?symbol=BTC/USDT' \
--header 'Ex-Ver: 1008' \
--header 'Ex-Dev: WEB' \
--header 'Ex-Ts: 1541044393000000'

返回数据:

{
    "errno": "OK",
    "message": "Success",
    "data": {
        // 卖盘,按价格由小到大排序
        "asks": [
            [
                80000, // key
                "8",   // 价格
                "1",   // 量
                0      
            ],
            [
                82000,
                "8.2",
                "1",
                0
            ],
        // 买盘,按价格由大到小排序
        "bids": [
            [
                74000, // key
                "7.4", // 价格
                "1",   // 量
                0
            ],
            [
                73000,
                "7.3",
                "1",
                0
            ],
        ]
    }
}

请求Url

GET spot/depth

参数列表

参数名 参数类型 参数示例 参数描述
symbol String BTC/USDT 现货名称,不传表示获取所有币种信息

获取币币ticker

curl请求示例:

curl --location --request GET 'https://api.abit.com/spot/tickers?symbol=BTC/USDT'

返回数据:

{
    "errno": "OK",
    "message": "Success",
    "data": [ // ticker数组
        {
            "symbol": "ETH/USDT",
            "last_px": "135.5", // 最后成交价
            "open": "137.17",      // 当天的开盘价
            "close": "135.5",      // 当天的收盘价
            "low": "127.87",       // 当天的最低价
            "high": "137.38",      // 当天的最高价
            "avg_px": "134.838547255697", // 当天的均价
            "last_qty": "10.135", // 最后一笔成交量
            "qty24": "21244.5602", // 24小时成交量
            "timestamp": 1551322866,
            "change_rate": "-0.012174673762", // 当天的涨跌幅度
            "change_value": "-1.67", // 当天的涨跌
            "qty_day": "9789.7338", // 当天的成交量
            "amount24": "2894738.555982" // 24小时成交额
        }
    ]
}

请求Url

GET spot/tickers

参数列表

参数名 参数类型 参数示例 参数描述
symbol String BTC/USDT 现货名称,不传表示获取所有币种信息

获取币币交易记录

curl请求示例:

curl --location --request GET 'https://api.abit.com/spot/trades?symbol=BTC/USDT&offset=0&size=10' 

返回数据:

{
    "errno":"OK",
    "message":"Success",
    "data":{
        "trades":[
            {
                "oid":100039430677,  //taker order id
                "tid":100039430678,  //trade id 
                "symbol":"BTC/ETH",
                "px":"0.06",
                "qty":"21",
                "fee":"0.0000000126",
                "fee_coin_code":"ETH",
                "created_at":"2018-04-19T03:27:21.62635069Z",  //utc时间
                "side":2,    //taker order 方向
                "change":"0"  //对现货价格的影响,涨跌额度
            }
        ]

请求Url

GET spot/trades

参数列表

参数名 参数类型 参数示例 参数描述
symbol String BTC/USDT 现货名称,不传表示获取所有币种信息
offset Int 0 偏移量
size Int 20 记录量大小

获取币币k线数据

curl请求示例:

curl --location --request GET 'https://api.abit.com/spot/kline?symbol=BTC/USDT&startTime=0&endTime=2532656524&unit=5&resolution=M'

返回数据:

{
    "errno": "OK",
    "message": "Success",
    "data": [ // 数组
        {
            "last_px": "135.5", // 最后成交价
            "open": "137.17",      // 当天的开盘价
            "close": "135.5",      // 当天的收盘价
            "low": "127.87",       // 当天的最低价
            "high": "137.38",      // 当天的最高价
            "avg_px": "134.838547255697", // 当天的均价
            "last_qty": "10.135", // 最后一笔成交量
            "timestamp": 1551322866,
            "change_rate": "-0.012174673762", //涨跌比例
            "change_value": "-1.67", // 涨跌额度
        }
    ]
}

请求Url

GET spot/kline

参数列表

参数名 参数类型 参数示例 参数描述
symbol String BTC/USDT 现货名称,不传表示获取所有币种信息
startTime Int 0 开始时间
endTime Int 2532656524 结束时间
unit Int 5 蜡烛图频率
resolution String M 频率单位

交易接口

提交订单

curl请求示例:

curl --location --request POST 'https://api.abit.com/spot/submitOrder' \
--header 'Ex-Ver: 1008' \
--header 'Ex-Dev: api' \
--header 'Ex-Sign: d1701e739a359ee4c7a5003fe39ef27065c019f687b982a6e98bd375a673ec42' \
--header 'Ex-Ts: 1532428054000000' \
--header 'Ex-Accesskey: 34234423sdfsfsfwerwerwerwrwerwer' \
--data-raw '{
   "symbol":"EOS/ETH",
   "px":"0.01",
   "qty":"10.2",
   "side":2,
   "category":1,
   "nonce":1545820222
}'

Response:

{
    "errno": "OK",
    "message": "Success",
    "data": {
        "oid": 10540013  //order id
    }
}
失败: {
    "errno": "failed",
    "message": "失败原因",

}

请求Url

POST sopt/submitOrder

参数列表 Body

参数名 参数类型 参数示例 参数描述
symbol String BTC/USDT 交易对名称
px Decimal 7293 价格
qty Decimal 10.2 数量
side Int 2 方向,1:买,2:卖
category Int 1 类别,1:限价单,2:为市价单,市价单时价格必须为字符串的"0"
nonce int 1545820222 时间戳

取消订单

curl请求示例:

curl --location --request POST 'https://api.abit.com/spot/cancelOrder' \
--header 'Ex-Ver: 1008' \
--header 'Ex-Dev: api' \
--header 'Ex-Sign: d1701e739a359ee4c7a5003fe39ef27065c019f687b982a6e98bd375a673ec42' \
--header 'Ex-Ts: 1532428054000000' \
--header 'Ex-Accesskey: 34234423sdfsfsfwerwerwerwrwerwer' \
--data-raw '{"oid":14369318,"symbol":"EOS/ETH","nonce":1545735606}'

Response:

成功
{
    "errno": "OK",
    "message": "Success",
}
失败
{
    "errno": "FAILED",
    "message": "失败原因",
}

请求Url

POST spot/cancelOrder

参数列表 Body

参数名 参数类型 参数示例 参数描述
symbol String BTC/USDT 交易对名称
oid int 7293 取消的订单id
nonce int 1545820222 时间戳

批量提交订单

curl请求示例:

curl --location --request POST 'https://api.abit.com/spot/batchOrders' \
--header 'Ex-Accesskey: 123123123213' \
--header 'Ex-Sign: MD5(postdata+secretKey+Ex-Ts)' \
--header 'Ex-Ver: 1008' \
--header 'Ex-Dev: api' \
--header 'Ex-Ts: 1541044393000000' \
--data-raw '{
    "orders":[
        {
           "symbol":"EOS/ETH",
           "px":"0.01",
           "qty":"10.2",
           "side":2,
           "category":1,
           "client_id":1
        },
        {
           "symbol":"EOS/ETH",
           "px":"0.01",
           "qty":"10.2",
           "side":2,
           "category":1,
           "client_id":2
        }
    ],
   "nonce":1533876299
}'

Response:

成功:
{
    "errno": "OK",
    "message": "Success",
    "data": {
        "orders": [
            {
                "client_id": 1,
                "oid": 10540013
            },
            {
                "client_id": 2,
                "oid": 10540014
            }
        ]
    }
}
部分成功:
{
    "errno": "OK",
    "message": "Success",
    "data": {
        "orders": [
            {
                "client_id": 1,
                "err": {
                    "http_err":405,
                    "err_code":"code",
                    "err_msg":"失败原因"
                }
            },
            {
                "client_id": 2,
                "oid": 10540014
            }
        ]
    }
}
失败:
{
    "errno": "FAILED",
    "message": "失败原因"
}

请求Url

POST spot/batchOrders

参数列表 Body

参数名 参数类型 参数示例 参数描述
BTC/USDT 交易对名称
nonce int 1545820222 时间戳

order说明

参数名 参数类型 参数示例 参数描述
symbol String BTC/USDT 交易对名称
px Decimal 7293 价格
qty Decimal 10.2 数量
side Int 2 方向,1:买,2:卖
category Int 1 类别,1:限价单,2:为市价单,市价单时价格必须为字符串的"0"
int 3 用户自定义的id

批量取消订单

curl请求示例:

curl --location --request POST 'https://api.abit.com/spot/cancelOrders' \
--header 'Ex-Accesskey: 123123123213' \
--header 'Ex-Sign: MD5(postdata+secretKey+Ex-Ts)' \
--header 'Ex-Ver: 1008' \
--header 'Ex-Dev: api' \
--header 'Ex-Ts: 1541044393000000' \
--data-raw '{
    "orders":[
        {
           "symbol":"EOS/ETH",
           "orders":[
                   10116356,
                   10116357
            ]
        }
     ],
    "nonce":1531968125
}'

Response:

{
    "errno": "OK",
    "message": "Success",
    "data": {
        // 取消成功的列表
        "succeed": [ 
            10116356,
            10116357
        ],
        // 取消失败的列表
        "failed": null
    }
}

请求Url

POST spot/cancelOrders

参数列表 Body

参数名 参数类型 参数示例 参数描述
orders cancelOrders { "symbol":"EOS/ETH", "orders":[ 10116356, 10116357 ] } 取消订单列表
nonce int 1545820222 时间戳

cancelOrders说明

参数名 参数类型 参数示例 参数描述
symbol String ETH/USDT 交易对名称
orders int [1,2,3]

获取用户订单

curl请求示例:

curl --location --request GET 'https://api.abit.com/spot/userOrders?symbol=EOS/ETH&status=2&offset=1&size=2' \
--header 'Ex-Ver: 1008' \
--header 'Ex-Dev: api' \
--header 'Ex-Sign: d1701e739a359ee4c7a5003fe39ef27065c019f687b982a6e98bd375a673ec42' \
--header 'Ex-Ts: 1532428054000000' \
--header 'Ex-Accesskey: 100039428965' \
--data-raw ''

返回数据:

{
    "errno": "OK",
    "message": "Success",
    "data": {
        "orders": [
            {
                "oid": 10284160,
                "uid":23249999,
                "symbol": "EOS/ETH",
                "px": "8",
                "qty": "4",
                "cum_qty": "0",    //成交量
                "swap_qty": "0",   //成交额量  以base coin 计数
                "side": 1,
                "category": 1,
                "fee": "0",
                "fee_ratio": "0",
                "fee_coin_code": "0",
                "cum_fee": "", 
                "created_at": "2018-07-17T07:24:13.410507Z",
                "finished_at": null,
                "status": 2,
                "errno": 0
            }
        ]
    }
}

请求Url

GET spot/userOrders

参数列表

参数名 参数类型 参数示例 参数描述
symbol String BTC/USDT 现货名称
status int 2 状态,1:申报中的订单 2:委托和申报中的订单 3:已经完成的订单 如果status字段不传则返回所有状态的订单
offset int 0 偏移量
size int 20 大小

获取用户资产

curl请求示例:

curl --location --request POST 'https://api.abit.com/v1/ifaccount/users/vipMe' \
--header 'Ex-Ver: 1008' \
--header 'Ex-Dev: api' \
--header 'Ex-Sign: d1701e739a359ee4c7a5003fe39ef27065c019f687b982a6e98bd375a673ec42' \
--header 'Ex-Ts: 1532428054000000' \
--header 'Ex-Accesskey: 34234423sdfsfsfwerwerwerwrwerwer' \
--data-raw ''

返回数据:

{
    "errno": "OK",
    "message": "Success",
    "data": {
        "account_id": 100039428965,                 // 用户ID
        "email": "",                                // 用户邮箱
        "phone":"",                                 // 手机号码
        "account_type": 1,                          // 账号类型
        "status": 2,                                // 账号状态
        "asset_password_effective_time": -2,        // 资金密码有效时间
        "ga_key": "unbound",                        // google验证码是否绑定
        "kyc_type": 0,                              // kyc 认证类型
        "kyc_status": 1,                            // kyc 认证状态
        "user_assets":[
            {
                "coin_code":"",
                "freeze_vol":"",
                "available_vol":""
            }
        ]
        "created_at": "2018-04-08T04:04:25.26468Z",
        "updated_at": "2018-04-23T03:25:16.408297Z"
    }
}

请求Url

GET /v1/ifaccount/users/vipMe

查询用户订单详情

curl请求示例:

curl --location --request POST 'https://api.abit.com/spot/queryOrder' \
--header 'Ex-Accesskey: 123123123213' \
--header 'Ex-Sign: MD5(secretKey+Ex-Ts)' \
--header 'Ex-Ver: 1008' \
--header 'Ex-Dev: api' \
--header 'Ex-Ts: 1541044393000000' \
--data-raw '{
    "symbol":"ETH/USDT",
    "orders":[
        10000234234,
        10000343434
    ]
}'

返回数据:

{
    "errno":"OK",
    "message":"Success",
    "data":{
        "orders":[
            {
                "oid":2192079529,
                "symbol":"XDAG/ETH",
                "px":"1.1",  // 订单申报价
                "qty":"1",      // 申报量  
                "cum_qty":"1", // 成交量
                "swap_qty":"1.1",  // 交易额量
                "side":1,  // 订单方向,1:买,2:卖
                "category":1,  // 订单类型,1:限价,2:市价
                "fee":"0.0011", // 订单手续费冻结量
                "fee_ratio":"0.001", // 订单手续费比例
                "fee_coin_code":"ETH", // 订单手续费code
                "cum_fee":"0.0011",  // 订单成交产生手续费
                "uid":2000628412, // 用户id
                "created_at":"2019-02-28T10:28:14.01776Z",
                "finished_at":"2019-02-28T10:28:14.040836Z",
                "status":3, // 状态
                "errno":0 
            }
        ]
    }
}

请求Url

POST spot/queryOrder

参数列表

参数名 参数类型 参数示例 参数描述
symbol String BTC/USDT 现货名称
status int [1,23,4] 订单id列表
offset int 0 偏移量
size int 20 大小

获取用户的交易记录

curl请求示例:

curl --location --request GET 'https://api.abit.com/spot/userTrades?symbol=ETH/USDT&offset=0&size=60' \
--header 'Ex-Accesskey: 123123123213' \
--header 'Ex-Sign: MD5(secretKey+Ex-Ts)' \
--header 'Ex-Ver: 1008' \
--header 'Ex-Dev: api' \
--header 'Ex-Ts: 1541044393000000'

返回数据:

{
    "errno":"OK",
    "message":"Success",
    "data":{
        // 交易记录列表,按创建时间由近及远排序
        "trades":[
            {
                "oid":100039430677,
                "tid":100039430678,
                "symbol":"BTC/ETH",
                "px":"0.06",
                "qty":"21",
                "fee":"0.0000000126",
                "fee_coin_code":"ETH",
                "created_at":"2018-04-19T03:27:21.62635069Z",
                "side":2,
                "change":"0"
            }
        ]
    }
}

请求Url

GET spot/orderTrades

参数列表

参数名 参数类型 参数示例 参数描述
symbol String BTC/USDT 现货名称
offset int 0 偏移量
size int 20 大小

获取用户订单的交易记录

curl请求示例:

curl --location --request GET 'https://api.abit.com/spot/orderTrades?symbol=ETH/USDT&oid=1000121232' \
--header 'Ex-Accesskey: 123123123213' \
--header 'Ex-Sign: MD5(secretKey+Ex-Ts)' \
--header 'Ex-Ver: 1008' \
--header 'Ex-Dev: api' \
--header 'Ex-Ts: 1541044393000000'

返回数据:

{
    "errno":"OK",
    "message":"Success",
    "data":{
        // 交易记录列表,按创建时间由近及远排序
        "trades":[
            {
                "oid":100039430677,  //该交易记录的taker order id
                "tid":100039430678,  //trade id
                "symbol":"BTC/ETH",
                "px":"0.06",
                "qty":"21",
                "fee":"0.0000000126",
                "fee_coin_code":"ETH",
                "created_at":"2018-04-19T03:27:21.62635069Z",
                "side":2,
                "change":"0"
            }
        ]
    }
}

请求Url

GET spot/orderTrades

参数列表

参数名 参数类型 参数示例 参数描述
symbol String BTC/USDT 现货名称
offset int 1 查询的订单id

SPOT-实时数据(WebSocket)

地址

命令

  {
    "action":"<command>",
    "success":true,         // 成功-true, 失败-false
    "group":"<group>",
    "request":{
        // 原始请求
    },
    "error":""  // 失败时有这个字段返回具体错误原因
  }
  subscribe   // 订阅
  unsubscribe //取消订阅

主题

  这些主题列表是开放主题,不需要做ws认证.
  Trade       //最新成交
  Ticker      //实时价格
  OrderBook   //深度
  QuoteBin1m  //1分钟行情数据
  QuoteBin5m  //5分钟行情数据
  QuoteBin30m //30分钟行情数据
  QuoteBin1h  //1小时行情数据
  QuoteBin2h  //2小时行情数据
  QuoteBin4h  //4小时行情数据
  QuoteBin6h  //6小时行情数据
  QuoteBin12h //12小时行情数据
  QuoteBin1d  //日行情数据
  QuoteBin1w  //周行情数据|
  IndexBin1m  //1分钟指数行情数据|
  IndexBin5m  //5分钟指数行情数据|
  IndexBin30m //30分钟指数行情数据|
  IndexBin1h  //1小时指数行情数据|
  IndexBin2h  //2小时指数行情数据|
  IndexBin4h  //4小时指数行情数据|
  IndexBin6h  //6小时指数行情数据|
  IndexBin12h //12小时指数行情数据|
  IndexBin1d  //日指数行情数据|
  IndexBin1w  //周指数行情数据|
  1. 请求订阅命令,主题列表主题的构成方式为<主题:现货对的Code(区分大小写)>,例如需要订阅现货EOS/ETH的实时深度和5分钟行情的命令为 {"action":"subscribe","args":["OrderBook:EOS/ETH","QuoteBin5m:EOS/ETH"]}

订阅数据格式

  {
    "group":"",
    "action":1,
    "data":{
    }
  }
  // 订阅主题不同,data字段格式不同。data的具体以接口返回为准,请求输入对应主题的订阅命令获取
  action:表示更新的数据类型
  1:全量数据更新,
  2:差量数据更新
  3:插入数据更新
  4:删除数据更新

认证

如果需要订阅跟用户自己信息相关的数据等私有信息,需要做ws认证方式有两种
1.通过用户名密码方式认证
// 参考Api接口Sign计算方式(参数顺序很重要,别搞错顺序了)
{
    "action":"access",
    "args":[
        "uid",       // 用户ID,必须是字符串
        "web",              // 设备类型.同Dev(Ex-Dev) 必须是字符串
        "1.0.0",            // 客户端版本号,Version(Ex-Ver)必须是字符串
        "Sign",              // 加密串,同Sign(Ex-Sign),参考Api接口Sign计算方式. 必须是字符串
        "1540286461000000",  // 同Ts(Ex-Ts) 单位:微秒,必须是字符串
    ] 
}
2.通过accessKey认证
// 参考Api接口Sign计算方式(参数顺序很重要,别搞错顺序了)
{
    "action":"access",
    "args":[
        "Accesskey",       // 用户的Accesskey,必须是字符串
        "api",              // Dev(Ex-Dev) 必须是字符串
        "1.0.0",            // Version(Ex-Ver)必须是字符串
        "Sign",              // Sign(Ex-Sign) 必须是字符串
        "1540286461000000",  // Ts(Ex-Ts) 单位:微秒,必须是字符串
    ] 
}


Sign参数的值为:md5(sercet_key+Ts(字符串))

订阅私有数据

// 订阅完成后(认证通过)就可以收到UserProperty主题的私有数据了,暂时只有一个UserProperty主题,所有私有数据都在这个主题返回
{
    "action":"subscribe",
    "args":["UserProperty"]
}

// UserProperty主题,返回的数据格式
{
    "group":"UserProperty",
    "data":[
        {
            "action":1, // 操作类型
            "order":{   // 订单信息

            },
            "s_assets":[  // 现货资产列表

            ],
            "c_assets":{  // 合约资产

            }
        }
    ]
}
"group":"UserProperty",表示该用户的的现货数据.以后台业务操作为驱动,推送用户数据的更新.一次推送可能包括多次业务操作,所以data是以数组形式,从数组的头开始,按操作先后顺序存放的用户的一组操作.每组数据的元素包括:action(操作类型),order(订单信息),s_assets(现货资产信息,注意是现货资产数组),c_assets(合约资产信息).对于订单信息,现货资产信息,合约资产信息,只有当操作这些信息产生了更新,每组数据的元素才会包含该信息.
action:操作类型有
1 :撮合.
   可能产生的影响:订单更新,仓位更新,合约资产更新
2 :提交订单
   可能产生的影响:订单更新,合约资产更新
3 :取消订单
   可能产生的影响:订单更新,仓位更新,合约资产更新
11 :从合约资产化出到现货资产
   可能产生的影响:合约资产更新,现货资产更新
12 :从现货资产化出到合约账户

心跳

  // ping
  {"action":"ping"}
  // pong
  {"group":"System","data":"pong"}

测试

  https://chrome.google.com/webstore/search/WebSocket%20Test%20Client?utm_source=chrome-ntp-icon