NAV
代码示例

更新日志

2024-03-12

2024-03-07

2024-02-29

2024-02-19

2023-10-27

2023-09-08

2023-08-14

2023-05-09

2023-03-03

2022-12-22

2022-11-03

2022-11-01

2022-10-11

2022-09-29

2022-08-16

2022-07-07

2022-05-24

2022-04-19

2022-03-29

2022-03-08

2022-03-01

2022-02-15

2022-01-20

2022-01-18

2021-11-24

2021-11-06

2021-01-19

2020-07-15

2020-06-29

2020-05-14

介绍

API Key 申请

PNG

创建API Key后,您将获得3个必须记住的信息:

PNG

Access Key和Secret Key将由BitMart随机生成和提供,Memo将由您提供以确保API访问的安全性。

API Key 权限设置

PNG

只读权限:
接口名称 说明 鉴权类型
/account/v1/wallet 查询账户资产 KEYED
/account/v1/deposit/address 查询各个币种的充值地址 KEYED
/account/v2/deposit-withdraw/history 查询充提历史记录 KEYED
/account/v1/deposit-withdraw/detail 查询充提明细 KEYED
/spot/v1/wallet 查询用户所有币种钱包余额 KEYED
/spot/v1/order_detail 查询订单详情 KEYED
/spot/v2/order_detail 查询订单详情 KEYED
/spot/v1/orders 查询用户最近订单 KEYED
/spot/v2/orders 查询用户最近订单 KEYED
/spot/v3/orders 查询用户最近订单 KEYED
/spot/v1/trades 查询用户成交历史 KEYED
/spot/v2/trades 查询用户成交历史 KEYED
/spot/v4/query/order orderId查单 (v4) SIGNED
/spot/v4/query/client-order clientOrderId查单 (v4) SIGNED
/spot/v4/query/open-orders 当前委托 (v4) SIGNED
/spot/v4/query/history-orders 历史委托 (v4) SIGNED
/spot/v4/query/trades 成交记录 (v4) SIGNED
/spot/v4/query/order-trades 单笔成交记录 (v4) SIGNED
/spot/v1/user_fee 查询当前用户的基础费率 KEYED
/spot/v1/trade_fee 查询用户特定交易对的费率 KEYED
/spot/v1/margin/isolated/pairs 查询交易对借款利率与额度 KEYED
/spot/v1/margin/isolated/account 查询逐仓杠杆账户信息 KEYED
/spot/v1/margin/isolated/borrow_record 查询逐仓杠杆账户信息 KEYED
/spot/v1/margin/isolated/repay_record 查询逐仓杠杆账户信息 KEYED
/contract/private/get-open-orders 查询合约委托订单 KEYED
/contract/private/order 查询合约订单详情 KEYED
/contract/private/order-history 查询合约历史订单 KEYED
/contract/private/trades 查询合约成交明细 KEYED
/contract/private/assets-detail 查询合约资产明细 KEYED
/contract/private/position 查询仓位详情 KEYED
/contract/private/current-plan-order 查询合约计划委托订单 KEYED
提现权限:
接口名称 说明 鉴权类型
/account/v1/withdraw/charge 查询提币额度 KEYED
/account/v1/withdraw/apply 提币 SIGNED
现货交易权限:
接口名称 说明 鉴权类型
/spot/v1/submit_order 委托下单 SIGNED
/spot/v2/submit_order 委托下单 SIGNED
/spot/v1/batch_orders 批量下单 SIGNED
/spot/v2/batch_orders 批量下单 SIGNED
/spot/v1/cancel_order 取消一个未完成的订单 SIGNED
/spot/v3/cancel_order 取消一个未完成的订单 SIGNED
/spot/v1/cancel_orders 取消指定交易对指定方向的所有未完成的订单 SIGNED
杠杆交易权限:
接口名称 说明 鉴权类型
/spot/v1/margin/submit_order 杠杆下单 SIGNED
/spot/v1/margin/isolated/transfer 杠杆账户和现货账户之间的资金划转 SIGNED
/spot/v1/margin/isolated/borrow 逐仓借款 SIGNED
/spot/v1/margin/isolated/repay 逐仓还款 SIGNED
合约交易权限:
接口名称 说明 鉴权类型
/contract/private/submit-order 合约下单 SIGNED
/contract/private/cancel-order 取消单个合约订单 SIGNED
/contract/private/cancel-orders 批量撤销合约订单 SIGNED
/contract/private/submit-plan-order 批量撤销合约订单 SIGNED
/contract/private/cancel-plan-order 批量撤销合约订单 SIGNED
/account/v1/transfer-contract 现货账户与合约账户之间的划转 SIGNED
/account/v1/transfer-contract-list 查询合约账户划转列表 SIGNED
子账号权限:

需要进下机构认证,才能使用创建子账号并设置权限。(默认包含只读权限)

PNG

子账户现货权限:

同上面现货交易权限

子账户合约权限:

同上面合约交易权限

子账户账户间划转权限:
接口名称 说明 鉴权类型
/account/sub-account/main/v1/sub-to-main 子账户划转到主账户(主账户适用,现货账户) SIGNED
/account/sub-account/sub/v1/sub-to-main 子账户划转到主账户(子账户适用,现货账户) SIGNED
/account/sub-account/main/v1/main-to-sub 主账户划转到子账户(主账户适用,现货账户) SIGNED
/account/sub-account/sub/v1/sub-to-sub 子账户划转到子账户(子账户适用,现货账户) SIGNED
/account/sub-account/main/v1/sub-to-sub 子账户划转到子账户(主账户适用,现货账户) SIGNED
/account/sub-account/main/v1/transfer-list 子账户划转历史(主账户适用,现货账户) KEYED
/account/sub-account/v1/transfer-history 账户划转历史 (主子账户通用,现货账户) KEYED
/account/sub-account/main/v1/wallet 子账户现货余额(主账户适用,现货账户) KEYED
/account/sub-account/main/v1/subaccount-list 子账户列表(主账户适用,现货账户) KEYED
/account/contract/sub-account/main/v1/sub-to-main 子账户划转到主账户(主账户适用,合约账户) SIGNED
/account/contract/sub-account/main/v1/main-to-sub 主账户划转到子账户(主账户适用,合约账户) SIGNED
/account/contract/sub-account/sub/v1/sub-to-main 子账户划转到主账户(子账户适用,合约账户) SIGNED
/account/contract/sub-account/main/v1/wallet 子账户合约余额(主账户适用,合约账户) KEYED
/account/contract/sub-account/main/v1/transfer-list 子账户划转历史(主账户适用,合约账户) KEYED
/account/contract/sub-account/v1/transfer-history 账户划转历史(主,子账户适用,合约账户) KEYED

API 代码库

为了方便接入,我们提供了一些语言的SDK供参考。更多编程代码,请参考页面上的快速接入 API

可用的 SDK:

除了 SDK以外,我们还提供了多种语言的代码示例,示例主要演示了如何使用签名接口。它可以单独构建和运行,也可以作为您的代码库的一部分。

常见问题答疑

以下是收集到的经常遇到的问题以及解答。

问题1.同一个账户里的不同的API KEY,返回的账户信息数据,会不同吗?

问题2.申请APIKEY时如何填写?

问题3.HTTP状态码429是怎样造成的?

问题4. 使用ccxt,正确填写了API KEY,但是还会提示 'message': 'Header X-BM-SIGN is wrong'

问题5. 我自己写的程序,老是提示 'message': 'Header X-BM-SIGN is wrong'

问题6. BitMart 服务器部署在哪里?

问题7. 我申请的VIP费用什么时候生效?

问题8. 为什么提示"IP is forbidden. We recommend enabling IP whitelist for API trading. "

联系我们

基本信息

API基本信息

  1. 本篇列出接口的rest baseurl: https://api-cloud.bitmart.com
  2. 所有接口的响应都是 JSON 格式。

请求参数设置

HTTP 返回代码

API 返回内容

详细参见参见 错误码列表

签名

接口后面会标注鉴权类型,遇到 SIGNED 标记,说明这个接口需要签名才能访问。遇到 KEYED 标记,说明这个接口只需要在请求头设置API KEY即可。

鉴权类型

1.设置请求参数

header key设置

X-BM-TIMESTAMP 生成

// Java
System.currentTimeMillis();

// Python
int(time.time() * 1000)

// Golang
time.Now().UnixNano() / int64(time.Millisecond)

// Nodejs & TypeScript
Date.now();

// Javascript
Date.now();

// PHP
round(microtime(true) * 1000)

// C#
DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()

body参数设置

2.例子

Shell 完整请求示例

echo -n '1589793796145#test001#{"symbol":"BTC_USDT","price":"8600","count":"100"}' | openssl dgst -sha256 -hmac "6c6c98544461bbe71db2bca4c6d7fd0021e0ba9efc215f9c6ad41852df9d9df9"
    (stdin)= c31dc326bf87f38bfb49a3f8494961abfa291bd549d0d98d9578e87516cee46d

    curl --location --request POST 'localhost:8080/spot/v1/test-post'
    --header 'Content-Type: application/json'
    --header 'X-BM-KEY: 80618e45710812162b04892c7ee5ead4a3cc3e56'
    --header 'X-BM-SIGN: c31dc326bf87f38bfb49a3f8494961abfa291bd549d0d98d9578e87516cee46d'
    --header 'X-BM-TIMESTAMP: 1589793796145'
    --d '{"symbol":"BTC_USDT","price":"8600","count":"100"}'

则设置如下:

假设您申请的key如下:

则右边是一个完整的请求

你也可以参考快速接入代码来实现

频率限制

公有接口按照IP来限速,私有接口按照API KEY来限速。 当访问超过频率限制时,将返回429状态:请求太频繁。

具体接口限制详细如下:

系统接口 接口名称 限制目标 速率
/system/time 获取系统时间 IP 10次/秒
/system/service 获取系统服务状态 IP 10次/秒
资金账户接口 接口名称 限制目标 速率
/account/v1/currencies 获取资产币种 IP 2次/2秒
/account/v1/wallet 查询账户资产 X-BM-KEY 12次/2秒
/account/v1/deposit/address 查询充币地址 X-BM-KEY 2次/2秒
/account/v1/withdraw/charge 查询提币额度 X-BM-KEY 2次/2秒
/account/v1/withdraw/apply 提币 X-BM-KEY 8次/2秒
/account/v2/deposit-withdraw/history 查询充提历史记录V2 X-BM-KEY 8次/2秒
/account/v1/deposit-withdraw/detail 查询单个充提记录 X-BM-KEY 8次/2秒
/spot/v1/margin/isolated/account 查询逐仓账户信息 X-BM-KEY 12次/2秒
/spot/v1/margin/isolated/transfer 杠杆资金划转 X-BM-KEY 2次/2秒
/spot/v1/user_fee 用户基础费率接口 X-BM-KEY 2次/2秒
/spot/v1/trade_fee 用户交易费率接口 X-BM-KEY 2次/2秒
现货行情接口 接口名称 限制目标 速率
/spot/v1/currencies 获取平台所有的加密货币列表 IP 8次/2秒
/spot/v1/symbols 获取平台所有的交易对列表 IP 8次/2秒
/spot/v1/symbols/details 获取平台所有交易对的详情列表 IP 12次/2秒
/spot/v1/ticker 获取所有交易对行情(v1) IP 12次/2秒
/spot/v2/ticker 获取所有交易对行情(v2) IP 2次/2秒
/spot/v1/ticker_detail 获取单一交易对行情(v1) IP 12次/2秒
/spot/v1/steps 获取平台支持的全部 k 线周期,用分钟表示,最小 1 分钟。 IP 2次/2秒
/spot/v1/symbols/kline 获取指定交易对的指定时间范围内的 k 线数据 (v1) IP 12次/2秒
/spot/v1/symbols/book 获取交易对完整的深度(v1) IP 12次/2秒
/spot/v1/symbols/trades 获取指定交易对的最近成交记录(v1) IP 12次/2秒
/spot/quotation/v3/tickers 获取所有交易对行情(V3) IP 10次/2秒
/spot/quotation/v3/ticker 获取指定交易对行情(V3) IP 15次/2秒
/spot/quotation/v3/lite-klines 获取最新K线(V3) IP 15次/2秒
/spot/quotation/v3/klines 获取历史K线(V3) IP 10次/2秒
/spot/quotation/v3/books 获取深度(V3) IP 15次/2秒
/spot/quotation/v3/trades 获取最近成交记录(V3) IP 15次/2秒
现货接口 接口名称 限制目标 速率
/spot/v1/wallet 获取用户所有币种钱包余额(KEYED) X-BM-KEY 12次/2秒
/spot/v1/submit_order 现货下单(SIGNED) X-BM-KEY 60次/2秒
/spot/v2/submit_order 现货下单(v2)(SIGNED) X-BM-KEY 60次/2秒
/spot/v1/batch_orders 批量下单(SIGNED) X-BM-KEY 60次/2秒
/spot/v2/batch_orders 批量下单(v2)(SIGNED) X-BM-KEY 60次/2秒
/spot/v1/margin/submit_order 杠杆下单(SIGNED) X-BM-KEY 60次/2秒
/spot/v2/cancel_order 撤销指定订单(V2)(SIGNED) X-BM-KEY 60次/2秒
/spot/v3/cancel_order 撤销指定订单(V3)(SIGNED) X-BM-KEY 60次/2秒
/spot/v1/cancel_orders 撤销所有订单(SIGNED) X-BM-KEY 4次/2秒
/spot/v1/order_detail 查单(V1)(KEYED) X-BM-KEY 60次/2秒
/spot/v2/order_detail 查单(V2)(KEYED) X-BM-KEY 60次/2秒
/spot/v2/orders 当前委托(v2)(KEYED) X-BM-KEY 12次/2秒
/spot/v3/orders 当前委托(v3)(KEYED) X-BM-KEY 12次/2秒
/spot/v1/trades 成交记录(V1)(KEYED) X-BM-KEY 12次/2秒
/spot/v2/trades 成交记录(V2)(KEYED) X-BM-KEY 12次/2秒
/spot/v4/query/order orderId查单(v4)(SIGNED) X-BM-KEY 60次/2秒
/spot/v4/query/client-order clientOrderId查单(v4)(SIGNED) X-BM-KEY 60次/2秒
/spot/v4/query/open-orders 当前委托(v4)(SIGNED) X-BM-KEY 12次/2秒
/spot/v4/query/history-orders 历史委托(v4)(SIGNED) X-BM-KEY 12次/2秒
/spot/v4/query/trades 成交记录(v4)(SIGNED) X-BM-KEY 12次/2秒
/spot/v4/query/order-trades 单笔成交记录(v4)(SIGNED) X-BM-KEY 12次/2秒
子母账户接口 接口名称 限制目标 速率
/account/sub-account/main/v1/sub-to-main 子账户向主账户划转(主账户适用) X-BM-KEY 2次/2秒
/account/sub-account/sub/v1/sub-to-main 子账户向主账户划转(子账户适用) X-BM-KEY 2次/2秒
/account/sub-account/main/v1/main-to-sub 主账户向子账户划转(主账户适用) X-BM-KEY 2次/2秒
/account/sub-account/sub/v1/sub-to-sub 子账户向统一体系下的子账户划转(子账户适用) X-BM-KEY 2次/2秒
/account/sub-account/main/v1/sub-to-sub 子账户向子账户划转(主账户适用) X-BM-KEY 2次/2秒
/account/sub-account/main/v1/transfer-list 查询子账户划转历史(主账户适用) X-BM-KEY 8次/2秒
/account/sub-account/v1/transfer-history 查询账户划转历史 X-BM-KEY 8次/2秒
/account/sub-account/main/v1/wallet 获取子账户现货钱包余额(主账户适用) X-BM-KEY 12次/2秒
/account/sub-account/main/v1/subaccount-list 查询子账户列表(主账户适用) X-BM-KEY 8次/2秒
杠杆借还款接口 接口名称 限制目标 速率
/spot/v1/margin/isolated/borrow 逐仓借款 X-BM-KEY 2次/2秒
/spot/v1/margin/isolated/repay 逐仓还款 X-BM-KEY 2次/2秒
/spot/v1/margin/isolated/borrow_record 查询逐仓借款订单 X-BM-KEY 60次/2秒
/spot/v1/margin/isolated/repay_record 查询逐仓还款订单 X-BM-KEY 60次/2秒
/spot/v1/margin/isolated/pairs 查询交易对借款利率与额度 X-BM-KEY 2次/2秒

REST API

限速判断:

每次调用接口都会返回带有限制标记的 3 个 Response Header,如下所示:

Example:

X-BM-RateLimit-Remaining: 10
X-BM-RateLimit-Limit: 600
X-BM-RateLimit-Reset: 60
上面的设置,意思是 60 秒内可调用 600 次,当前已调用 10 次
Response Header 说明
X-BM-RateLimit-Remaining 当前时间窗口内已使用的次数
X-BM-RateLimit-Limit 当前时间窗口内最大可调用次数
X-BM-RateLimit-Reset 当前时间窗口,秒为单位

标准规范关于 recvWindow, timestamp

当前仅仅适用于 v4 接口

时间同步安全

签名接口都需要传递timestamp参数,其值应当是请求发送时刻的unix时间戳(毫秒), 设置在请求头X-BM-TIMESTAMP中。 服务器收到请求时会判断请求中的时间戳,如果是5000毫秒之前发出的,则请求会被认为无效。这个时间空窗值可以通过发送可选参数 recvWindow来定义。

逻辑伪代码如下:

  if (timestamp < (serverTime + 1000) && (serverTime - timestamp) <= recvWindow)
  {
    // process request
  } 
  else 
  {
    // reject request
  }

关于交易时效性

互联网状况并不完全稳定可靠,因此你的程序本地到BitMart服务器的时延会有抖动。这是我们设置recvWindow的目的所在,如果你从事高频交易,对交易时效性有较高的要求,可以灵活设置recvWindow以达到你的要求。

公开 API 参数

字段说明

订单状态 (字段:state)

订单方向 (字段:side)

订单类型 (字段:type)

交易角色 (字段:tradeRole)

时间 timestamp

系统返回的时间全部都是时间戳形式。

系统状态

获取系统时间

获取系统时间

请求URL

GET https://api-cloud.bitmart.com/system/time

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/system/time

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "server_time": 1527777538000
  }
}
字段 类型 描述
server_time Long 当前系统时间(时间戳,精确到毫秒)

获取系统服务状态

获取系统服务状态

请求URL

GET https://api-cloud.bitmart.com/system/service

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/system/service

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "service":[
      {
         "title": "Spot API Stop",
         "service_type": "spot",
         "status": "2",
         "start_time": 1527777538000,
         "end_time": 1527777538000
     },
     {
        "title": "Contract API Stop",
        "service_type": "contract",
        "status": "2",
        "start_time": 1527777538000,
        "end_time": 1527777538000
    }
   ]
  }
}
字段 类型 描述
title String 系统维护说明的标题
status Long 系统维护的状态
- 0=等待中
- 1=进行中
- 2=已完成
service_type String 服务类型
- spot=现货API服务
- contract=合约API服务
start_time Long 系统维护的开始时间,UTC-0,时间戳精确到毫秒
end_time Long 系统维护的结束时间,UTC-0,时间戳精确到毫秒

公共行情

获取币种列表(V1)

获取平台所有的加密货币列表

请求URL

GET https://api-cloud.bitmart.com/spot/v1/currencies

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/v1/currencies

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "currencies": [
      {
        "id": "BTC",
        "name": "Bitcoin",
        "withdraw_enabled": true,
        "deposit_enabled": true
      },
      {
        "id": "ETH",
        "name": "Ethereum",
        "withdraw_enabled": true,
        "deposit_enabled": true
      }
    ]
  }
}
字段 类型 描述
id String 币种简称,如 BTC
name String 币种全称,如 Bitcoin
withdraw_enabled Boolean 此币种是否可在平台上提现
-true=可提现
-false=不可以
deposit_enabled Boolean 此币种是否可在平台上充值
-true=可充值
-false=不可以

获取交易对列表(V1)

获取平台所有的交易对列表

请求URL

GET https://api-cloud.bitmart.com/spot/v1/symbols

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/v1/symbols

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "symbols": [
       "BMX_ETH",
       "XLM_ETH",
       "MOBI_ETH",
       ...
    ]
  }
}
字段 类型 描述
symbols List 交易对名数组

获取交易对详情(V1)

获取平台所有交易对的详情列表

请求URL

GET https://api-cloud.bitmart.com/spot/v1/symbols/details

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/v1/symbols/details

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "symbols": [
        {
            "symbol":"GXC_BTC",
             "symbol_id":1024,
             "base_currency":"GXC",
             "quote_currency":"BTC",
             "quote_increment":"1.00000000",
             "base_min_size":"1.00000000",
             "price_min_precision":6,
             "price_max_precision":8,
             "expiration":"NA",
             "min_buy_amount":"0.00010000",
             "min_sell_amount":"0.00010000",
             "trade_status":"trading"
        },
        ...
    ]
  }
}
字段 类型 描述
symbols List 交易对详情数组
symbol String 交易对
symbol_id Int 交易对 id
base_currency String 交易货币币种
quote_currency String 计价货币币种
quote_increment String 最小下单量,也是最小下单量增量
base_min_size String 最小下单数量
price_min_precision Number 最小价格精度(小数位) 用来查询 k 线和深度
price_max_precision Number 最大价格精度(小数位) 用来查询 k 线和深度
expiration String 交易对的过期时间
min_buy_amount String 最小下单金额
min_sell_amount String 最小卖出金额
trade_status String 状态
-trading=交易中
-pre-trade=预开盘

获取所有交易对行情(V3)

获取所有交易对行情, 包含: 最新成交价、买一价、卖一价和 24 小时交易量的快照信息。注意接口不是实时数据,如果需要实时,请使用websocket订阅Ticker频道

请求URL

GET https://api-cloud.bitmart.com/spot/quotation/v3/tickers

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/quotation/v3/tickers`

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-1231",
  "message": "success",
  "data": [
    [
      "BTC_USDT",  // symbol
      "30000.00",  // last
      "582.08066", // v_24h
      "4793098.48", // qv_24h
      "28596.30", // open_24h
      "31012.44", // high_24h
      "12.44", // low_24h
      "0.04909", // fluctuation
      "30000", // bid_px
      "1",  // bid_sz
      "31012.44",  // ask_px
      "69994.75267", // ask_sz
      "1691671091933" // ts
    ],
    [
      "ETH_USDT",
      "1840.00",
      "2.00000",
      "3680.00",
      "1842.18",
      "1842.18",
      "1840.00",
      "-0.00118",
      "1812.35",
      "4.61989",
      "1859.34",
      "4.07793",
      "1691671094213"
    ]
  ]
}
字段 类型 描述
symbol String 交易对
last String 最新成交价
v_24h String 24小时成交量,按交易货币统计
qv_24h String 24小时成交量,按计价货币统计
open_24h String 24小时开盘价
high_24h String 24小时最高价
low_24h String 24小时最低价
fluctuation String 24小时涨幅
bid_px String 买一价
bid_sz String 买一价挂单量
ask_px String 卖一价
ask_sz String 卖一价挂单量
ts String 数据产生时间(时间戳, 精确到毫秒)

获取指定交易对行情(V3)

适用于查询某个交易对的聚合行情, 返回最新ticker信息。注意接口不是实时数据,如果需要实时,请使用websocket订阅Ticker频道

请求URL

GET https://api-cloud.bitmart.com/spot/quotation/v3/ticker

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/quotation/v3/ticker?symbol=BTC_USDT
参数 类型 是否必填 描述
symbol String 必填 交易对, 如 BTC_USDT

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-1231",
  "message": "success",
  "data": {
    "symbol": "BTC_USDT",
    "last": "30000.00",
    "v_24h": "582.08066",
    "qv_24h": "4793098.48",
    "open_24h": "28596.30",
    "high_24h": "31012.44",
    "low_24h": "12.44",
    "fluctuation": "0.04909",
    "bid_px": "30000",
    "bid_sz": "1",
    "ask_px": "31012.44",
    "ask_sz": "69994.75267",
    "ts": "1691671061919"
  }
}
字段 类型 描述
symbol String 交易对
last String 最新成交价
v_24h String 24小时成交量,按交易货币统计
qv_24h String 24小时成交量,按计价货币统计
open_24h String 24小时开盘价
high_24h String 24小时最高价
low_24h String 24小时最低价
fluctuation String 24小时涨幅
bid_px String 买一价
bid_sz String 买一价挂单量
ask_px String 卖一价
ask_sz String 卖一价挂单量
ts String 数据产生时间(时间戳, 精确到毫秒)

获取最新K线(V3)

查询最新的K线,最大返回1000条数据,注意接口的最近一根K线不是实时数据,如果要实时数据,请使用websocket订阅Kline频道

请求URL

GET https://api-cloud.bitmart.com/spot/quotation/v3/lite-klines

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/quotation/v3/lite-klines?symbol=BMX_ETH&step=15&before=1525760116&after=1525769116&limit=100
参数 类型 是否必填 描述
symbol String 必填 交易对, 如 BTC_USDT
before Long 必填 查询时间戳(单位:秒),查询该时间点之前的数据
after Long 必填 查询时间戳(单位:秒),查询该时间点之后的数据
step Long 可选 k 线步长, 取值[1, 3, 5, 15, 30, 45, 60,
120, 180, 240, 1440, 10080, 43200]单位:分钟,不填写默认1分钟
limit Long 返回数量,最大值200,默认100

响应详情

响应

{
  "code":1000,
  "trace":"886fb6ae-456b-4654-b4e0-1231",
  "message": "success",
  "data":[
    [
      "1689736680",  // t
      "3.721",  // o
      "3.743",  // h
      "3.677",  // l
      "3.708",  // c
      "22698348.04828491",  // v
      "12698348.04828491"  // qv
    ],
    [
      "1689736620",
      "3.731",
      "3.799",
      "3.494",
      "3.72",
      "67632347.24399722",
      "37632347.24399722"
    ]
  ]
}

字段 类型 描述
t String K线开盘时间(时间戳,精确到秒), 可以当作K线的唯一标识
o String 开盘价格
h String 最高价格
l String 最低价格
c String 收盘价格
v String 成交量(按交易币算)
qv String 成交额(按计价币算)

获取历史K线(V3)

获取指定交易对的指定时间范围内的 k 线数据。

请求URL

GET https://api-cloud.bitmart.com/spot/quotation/v3/klines

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/quotation/v3/klines?symbol=BMX_ETH&step=15&before=1525760116&after=1525769116&limit=100
参数 类型 是否必填 描述
symbol String 必填 交易对, 如 BTC_USDT
before Long 查询时间戳(单位:秒),查询该时间点之前的数据
after Long 查询时间戳(单位:秒),查询该时间点之后的数据
step Int 可选 k 线步长, 取值[1, 3, 5, 15, 30, 45, 60,
120, 180, 240, 1440, 10080, 43200]单位:分钟,默认1
limit Int 返回数量,最大值200,默认100

响应详情

响应

{
  "code":1000,
  "trace":"886fb6ae-456b-4654-b4e0-1231",
  "message": "success",
  "data":[
    [
      "1689736680",  // t
      "3.721",  // o
      "3.743",  // h
      "3.677",  // l
      "3.708",  // c
      "22698348.04828491",  // v
      "12698348.04828491"  // qv
    ],
    [
      "1689736620",
      "3.731",
      "3.799",
      "3.494",
      "3.72",
      "67632347.24399722",
      "37632347.24399722"
    ]
  ]
}

字段 类型 描述
t String K线开盘时间(时间戳,精确到秒), 可以当作K线的唯一标识
o String 开盘价格
h String 最高价格
l String 最低价格
c String 收盘价格
v String 成交量(按交易币算, 如:BTC_USDT, 单位是BTC)
qv String 成交额(按计价币算,如:BTC_USDT, 单位是USDT)

获取深度(V3)

获取交易对完整的深度。注意接口不是实时数据,如果需要实时,请使用websocket订阅Depth频道

请求URL

GET https://api-cloud.bitmart.com/spot/quotation/v3/books

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/quotation/v3/books?symbol=BMX_ETH&limit=50
参数 类型 是否必填 描述
symbol String 必填 交易对, 如 BTC_USDT
limit Int 可选 深度档位数量,最大值可传50,即买卖深度共100条. 不填写此参数,默认返回35档深度数据

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-1231",
  "message": "success",
  "data": {
    "ts": "1691672864874",
    "symbol": "BTC_USDT",
    "asks": [
      [
        "31012.44",  // price
        "69994.75267"  // amount
      ]
    ],
    "bids": [
      [
        "30000.00", // price
        "1.00000"  // amount
      ]
    ]
  }
}
字段 类型 描述
ts String 深度产生时间(时间戳,精确到毫秒)
symbol String 交易对
asks List[] 卖方深度列表
bids List[] 买方深度列表
amount String 挂单数量
price String 价格

获取最近成交记录(V3)

获取指定交易对的最近成交记录。注意接口不是实时数据,如果需要实时,请使用websocket订阅Trade频道

请求URL

GET https://api-cloud.bitmart.com/spot/quotation/v3/trades

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/quotation/v3/trades?symbol=BMX_ETH&limit=10
参数 类型 是否必填 描述
symbol String 必填 交易对, 如 BTC_USDT
limit Int 可选 返回条数,取值[1,50],最大50条, 默认50

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-1231",
  "message": "success",
  "data": [
    [
      "BMX_ETH", // symbol
      "1691743270994", // ts
      "1.00000000", // price
      "1.0", // size
      "sell" // side
    ]
  ]
}
字段 类型 描述
symbol String 交易对名称
ts String 成交时间 (时间戳,精确到毫秒)
price String 成交价格
size String 成交数量
side String 成交方向
- buy
- sell

公共行情 (历史版本)

获取所有交易对行情(V2)

适用于查询所有交易对的最新行情,请注意该接口返回数据较多,请适当降低调用频率

请求URL

GET https://api-cloud.bitmart.com/spot/v2/ticker

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/v2/ticker

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"6e42c7c9-fdc5-461b-8fd1-b4e2e1b9ed57",
    "data":{
        "tickers":[
            {
                "symbol":"BTC_USDT",
                "last_price":"1.00",
                "quote_volume_24h":"201477650.88000",
                "base_volume_24h":"25186.48000",
                "high_24h":"8800.00",
                "low_24h":"1.00",
                "open_24h":"8800.00",
                "close_24h":"1.00",
                "best_ask":"0.00",
                "best_ask_size":"0.00000",
                "best_bid":"0.00",
                "best_bid_size":"0.00000",
                "fluctuation":"-0.9999",
                "url":"https://www.bitmart.com/trade?symbol=BTC_USDT",
                "timestamp":1665200293
            }
        ]
    }
}
字段 类型 描述
symbol String 交易对
last_price String 最新成交价
base_volume_24h String 24小时成交量,按交易货币统计
quote_volume_24h String 24小时成交量,按计价货币统计
high_24h String 24小时最高价
open_24h String 24小时开盘价
low_24h String 24小时最低价
close_24h String 24小时收盘价
fluctuation String 24小时涨幅
best_ask String 卖一价
best_ask_size String 卖一价对应的量
best_bid String 买一价
best_bid_size String 买 1 数量
url String BitMart网站上的交易页链接
timestamp Long 产生记录的时间戳

获取单一交易对行情(V1)

适用于查询某个交易对的聚合行情。

请求URL

GET https://api-cloud.bitmart.com/spot/v1/ticker_detail

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/v1/ticker_detail?symbol=BTC_USDT
参数 类型 是否必填 描述
symbol String 必填 交易对, 如 BTC_USDT

响应详情

响应

{
  "message":"OK",
  "code":1000,
  "trace":"7d3a7e589cad4d578e17a6bdea8e4d09.65.16687519530806699",
  "data":{
    "symbol":"BTC_USDT",
    "last_price":"16795.11",
    "quote_volume_24h":"71784875.05",
    "base_volume_24h":"4306.22738",
    "high_24h":"16995.94",
    "low_24h":"16434.08",
    "open_24h":"16583.37",
    "close_24h":"16795.11",
    "best_ask":"16792.26",
    "best_ask_size":"0.02377",
    "best_bid":"16792.23",
    "best_bid_size":"0.00640",
    "fluctuation":"+0.0128",
    "timestamp":1668751802882,
    "url":"https://www.bitmart.com/trade?symbol=BTC_USDT"
  }
}
字段 类型 描述
symbol String 交易对
last_price String 最新成交价
base_volume_24h String 24小时成交量,按交易货币统计
quote_volume_24h String 24小时成交量,按计价货币统计
high_24h String 24小时最高价
open_24h String 24小时开盘价
low_24h String 24小时最低价
close_24h String 24小时收盘价
fluctuation String 24小时涨幅
best_ask String 卖一价
best_ask_size String 卖一价对应的量
best_bid String 买一价
best_bid_size String 买 1 数量
url String BitMart网站上的交易页链接
timestamp Long 产生记录的时间戳

获取支持的 K 线周期(V1)

获取平台支持的全部 k 线周期,用分钟表示,最小 1 分钟。

请求URL

GET https://api-cloud.bitmart.com/spot/v1/steps

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/v1/steps

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "steps": [1, 3, 5, 15, 30, 45, 60, 120, 180, 240, 1440, 10080, 43200]
  }
}
字段 类型 描述
steps List K线周期数组,以分钟为单位

获取 K 线(V1)

获取指定交易对的指定时间范围内的 k 线数据。

请求URL

GET https://api-cloud.bitmart.com/spot/v1/symbols/kline

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/v1/symbols/kline?symbol=BMX_ETH&step=15&from=1525760116&to=1525769116
参数 类型 是否必填 描述
symbol String 必填 交易对, 如 BTC_USDT
from Long 必填 开始时间 (UTC+0, 精确到秒)
to Long 必填 结束时间 (UTC+0, 精确到秒)
step Long 可选 k 线步长, 取值[1, 3, 5, 15, 30, 45, 60, 120, 180, 240, 1440, 10080, 43200]单位:分钟,不填写默认1分钟

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"ae7ede4c-04a3-4004-bd8b-022a12d17e45",
    "data":{
        "klines":[
            {
                "timestamp":1590969600,
                "open":"1.2400000000",
                "high":"1.2400000000",
                "low":"1.2000000000",
                "close":"1.2000000000",
                "last_price":"1.2000000000",
                "volume":"4.9000000000",
                "quote_volume":"0.000000"
            }
        ]
    }
}
字段 类型 描述
kline List k 线列表

k线详情字段描述:

字段 类型 描述
last_price String 当前价格
timestamp Long 时间戳 (UTC+0, 精确到秒)
volume String 交易总量
quote_volume String 成交额
open String 开盘价
high String 最高价
low String 最低价
close String 收盘价

获取深度(V1)

获取交易对完整的深度。

请求URL

GET https://api-cloud.bitmart.com/spot/v1/symbols/book

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/v1/symbols/book?symbol=BMX_ETH&precision=6
参数 类型 是否必填 描述
symbol String 必填 交易对, 如 BTC_USDT
precision String 可选 价格精度, 精度范围在交易对详情里定义
size Int 可选 返回深度数量,取值范围[1-50],即买卖深度共[2-100]条

解释说明

  1. precision 是可选的。 如果未传, 默认使用 symbols details 返回的price_max_precision

  2. 当size不传时,返回50条;size传大于50的数时,返回错误提示。

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
       "timestamp": 1527777538000,
       "buys":[
          {
             "amount":"4800.00",
             "total":"4800.00",
             "price":"0.000767",
             "count":"1"
          },
          {
             "amount":"99996475.79",
             "total":"100001275.79",
             "price":"0.000201",
             "count":"1"
          },
          ...
       ],
       "sells":[
          {
             "amount":"100.00",
             "total":"100.00",
             "price":"0.007000",
             "count":"1"
          },
          {
             "amount":"6997.00",
             "total":"7097.00",
             "price":"1.000000",
             "count":"1"
          },
          ...
       ]
  }
}
字段 类型 描述
timestamp Long 当前系统时间(时间戳,精确到毫秒)
buys List 买方深度列表
sells List 卖方深度列表

深度详情描述:

字段 类型 描述
amount String 当前价格深度的总量
total String 当前价格深度之上(包含当前)的总量累加
price String 当前深度的价格
count String 当前价格深度的总订单数

获取最近成交记录(V1)

获取指定交易对的最近成交记录。

请求URL

GET https://api-cloud.bitmart.com/spot/v1/symbols/trades

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/spot/v1/symbols/trades?symbol=BMX_ETH
参数 类型 是否必填 描述
symbol String 必填 交易对, 如 BTC_USDT
N String 可选 返回条数,默认最大50条

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "trades": [
       {
          "amount":"0.05768509",
          "order_time":1527057452000,
          "price":"0.004811",
          "count":"11.99",
          "type":"buy"
       },
       ...
    ]
  }
}
字段 类型 描述
trades List 深度数据数组

深度数据详情字段描述:

字段 类型 描述
amount String 当前交易成交的总额
order_time Long 成交时间 (毫秒表示)
price String 成交价格
count String 成交数量
type String maker 下单类型
- buy
- sell

资金账户

查询总账户资金 (KEYED)

查询账户资产

请求格式

GET https://api-cloud.bitmart.com/account/v1/wallet

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/account/v1/wallet?currency=USDT
字段 类型 是否必填 描述
currency String 币种,如:BTC

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"ef834248-51d3-4223-9481-f862aa9dd39f",
    "data":{
        "wallet":[
            {
                "currency":"USDT",
                "name":"Tether USD",
                "available":"1000.00000000",
                "frozen":"0.00000000"
            }
        ]
    }
}
字段 类型 描述
currency String 币种
name String 加密货币全称
available String 可用余额
frozen String 冻结额

获取资产币种详情

获取资产币种,用于充提

请求URL

GET https://api-cloud.bitmart.com/account/v1/currencies

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/account/v1/currencies

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "currencies": [
      {
        "currency": "USDT",
        "name": "Tether USD",
        "contract_address": null,
        "network": "OMNI",
        "withdraw_enabled": false,
        "deposit_enabled": false,
        "withdraw_minsize": null,
        "withdraw_minfee": null
      },
      {
        "currency": "USDT-TRC20",
        "name": "USDT-TRC20",
        "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
        "network": "TRC20",
        "withdraw_enabled": true,
        "deposit_enabled": true,
        "withdraw_minsize": "10",
        "withdraw_minfee": "1"
      },
      {
        "currency": "USDT-ERC20",
        "name": "USDT-ERC20",
        "contract_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
        "network": "ERC20",
        "withdraw_enabled": true,
        "deposit_enabled": true,
        "withdraw_minsize": "26",
        "withdraw_minfee": "13"
      }
    ]
  }
}
字段 类型 描述
currency String 币种,如 BTC
name String 币种全称,如 Bitcoin
contract_address String 合约地址
network String 提币网络,如 ERC20
withdraw_enabled Boolean 此币种是否可在平台上提现
-true=可提现
-false=不可以提现
deposit_enabled Boolean 此币种是否可在平台上充值
-true=可充值
-false=不可以充值
withdraw_minsize String 最小提币数量
withdraw_minfee String 提现手续费下限

获取现货账户余额 (KEYED)

获取用户所有币种钱包余额

请求URL

GET https://api-cloud.bitmart.com/spot/v1/wallet

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}' 
https://api-cloud.bitmart.com/spot/v1/wallet

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "wallet": [
         {
              "id": "BTC",
              "available": "10.000000",
              "name": "Bitcoin",
              "frozen": "10.000000",
          },
          ...
    ]
  }
}
字段 类型 描述
id String 加密货币缩写
name String 加密货币全称
available String 可用余额
frozen String 冻结额

查询充值地址 (KEYED)

查询各个币种的充值地址

请求URL

GET https://api-cloud.bitmart.com/account/v1/deposit/address

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/account/v1/deposit/address?currency=USDT-TRC20
字段 类型 是否必填 描述
currency String 必填 币种,如 BTC

解释说明

PNG

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"0e6edd79-f77f-4251-abe5-83ba75d06c1a",
    "data":{
        "currency":"USDT-TRC20",
        "chain":"USDT-TRC20",
        "address":"TGR3ghy2b5VLbyAYrmiE15jasR6aPHTvC5",
        "address_memo":""
    }
}
字段 类型 描述
currency String 币种
chain String 链名称
address String 充值地址
address_memo String 标签(tag/payment_id/memo); 部分币种提币需要则返回数据,若不需要则返回空字符串;

充值忘记填写memo或者填错怎么办?

提币额度查询 (KEYED)

查询提币额度

请求URL

GET https://api-cloud.bitmart.com/account/v1/withdraw/charge

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}' 
https://api-cloud.bitmart.com/account/v1/withdraw/charge?currency=BTC
字段 类型 是否必填 描述
currency String 必填 币种,如: BTC

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"62a80bde-0cb4-4bf1-b8e5-5ad2c71463e7",
    "data":{
        "today_available_withdraw_BTC":"100.0000",
        "min_withdraw":"0.00000000",
        "withdraw_precision":8,
        "withdraw_fee":"0.00000000"
    }
}
字段 类型 描述
today_available_withdraw_BTC String 今日可提现额度,单位: BTC
min_withdraw String 最小可提币数量
withdraw_precision Int 提现精度,精确到小数点后几位
withdraw_fee String 提币手续费

提币 (SIGNED)

提币

请求格式

POST https://api-cloud.bitmart.com/account/v1/withdraw/apply

请求限制

参见 速率限制详细

请求参数

字段 类型 是否必填 描述
currency String 必填 币种,如: BTC
amount String 必填 申请金额

提现到区块链上

请求示例:提现到区块链上

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}'
 -X POST -d '{
    "currency": "USDT-TRC20",
    "amount": "100.000",
    "destination": "To Digital Address",
    "address": "0x1EE6FA5A3803608fc22a1f3F76********",
    "address_memo": ""
}'
https://api-cloud.bitmart.com/account/v1/withdraw/apply
字段 类型 是否必填 描述
address String 提现地址(仅支持在官网上添加过的地址)
address_memo String 地址标签(tag/payment_id/memo统一填这里)
destination String 备注

提现到BitMart账户

请求示例:提现到BitMart账户

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}'
 -X POST -d '{
    "currency": "USDT-TRC20",
    "amount": "100.000",
    "type": 1,
    "value": "876940329",
    "areaCode": ""
}'
https://api-cloud.bitmart.com/account/v1/withdraw/apply
字段 类型 是否必填 描述
type Int 账号类型
1=CID
2=邮箱
3手机号
value String 账号
areaCode String 手机区号,type是手机号时传
请求参数说明

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "withdraw_id": "121212"
  }
}
字段 类型 描述
withdraw_id String 提币ID
说明

1. 返回 withdraw_id 时,说明提现请求成功发送。

2. 你使用查询充提记录接口查看到本次提现的tx_id, 用它来查询区块链上的提现进度。

3. 如果你遇到错误, message=Only withdrawals from added addresses are allowed
则需要将地址按照下面的2个步骤添加到白名单地址中。

步骤1. 网页上,登录账号后,先进入提现页面

PNG

步骤2. 进入提现地址管理页面进下添加

PNG

查询充提记录 (KEYED)

原 /account/v1/deposit-withdraw/history 接口,老接口将不再进行支持,请尽快切换至新接口

查询充提记录

请求URL

GET https://api-cloud.bitmart.com/account/v2/deposit-withdraw/history

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/account/v2/deposit-withdraw/history?N=100&operation_type=withdraw
字段 类型 是否必填 描述
currency String 可选 币种,如 BTC
operation_type String 必填 类型
-deposit=充值
-withdraw=提现
N Int 必填 最近N条记录(取值范围1-100)

响应详情

响应

{
  "message":"OK",
  "code":1000,
  "trace":"142bf92a-fc50-4689-92b6-590886f90b97",
  "data":{
    "records":[
      {
        "withdraw_id":"1679952",
        "deposit_id":"",
        "operation_type":"withdraw",
        "currency":"BMX",
        "apply_time":1588867374000,
        "arrival_amount":"59.000000000000",
        "fee":"1.000000000000",
        "status":0,
        "address":"0xe57b69a8776b37860407965B73cdFFBDFe668Bb5",
        "address_memo":"",
        "tx_id":""
      },
      ...
    ]
  }
}
字段 类型 描述
withdraw_id String 提现ID
deposit_id String 充值ID
operation_type String 类型
-deposit=充值
-withdraw=提现
currency String 币种,如 BTC
apply_time Long 请求时间戳精确到毫秒(UTC-0)
arrival_amount String 实际到账金额
fee String 手续费
status Int 状态
-0-创建
-1-已提交,等待提现
-2-处理中
-3-处理成功
-4-已撤销
-5-处理失败
address String 地址
address_memo String 地址标签
tx_id String 提币哈希记录

查询单个充提记录 (KEYED)

查询单个充提记录

请求URL

GET https://api-cloud.bitmart.com/account/v1/deposit-withdraw/detail

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/account/v1/deposit-withdraw/detail?id=1679952
字段 类型 是否必填 描述
id String 必填 提现ID或者是充值ID, withdraw_id 或者 deposit_id

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"f7f74924-14da-42a6-b7f2-d3799dd9a612",
    "data":{
        "record":{
            "withdraw_id":"1679952",
            "deposit_id":"",
            "operation_type":"withdraw",
            "currency":"BMX",
            "apply_time":1588867374000,
            "arrival_amount":"59.000000000000",
            "fee":"1.000000000000",
            "status":0,
            "address":"0xe57b69a8776b37860407965B73cdFFBDFe668Bb5",
            "address_memo":"",
            "tx_id":""
        }
    }
}
字段 类型 描述
withdraw_id String 提现ID
deposit_id String 充值ID
operation_type String 类型
-deposit=充值
-withdraw=提现
currency String 币种简称,如 BTC
apply_time Long 请求时间戳精确到秒(UTC-0)
arrival_amount String 实际到账金额
fee String 手续费
status Int 状态
-0-创建
-1-已提交,等待提现
-2-处理中
-3-处理成功
-4-已撤销
-5-处理失败
address String 地址
address_memo String 地址标签
tx_id String 提币哈希记录

查询逐仓账户信息 (KEYED)

适用于查询逐仓杠杆账户信息

请求URL

GET https://api-cloud.bitmart.com/spot/v1/margin/isolated/account

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}' 
https://api-cloud.bitmart.com/spot/v1/margin/isolated/account?symbol=BTC_USDT
字段 类型 是否必填 描述
symbol String 交易对,如 BTC_USDT,不传symbol则返回所有杠杆逐仓资产

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"f7f74924-14da-42a6-b7f2-d3799dd9a612",
    "data":{
      "symbols":[
        {
          "symbol": "BTC_USDT",
          "risk_rate": "18.77",
          "risk_level": "1",
          "buy_enabled": true,
          "sell_enabled": true,
          "liquidate_price": "-0.09408905",
          "liquidate_rate": "1.1",
          "base": {
            "currency": "BTC",
            "borrow_enabled": false,
            "borrowed": "2.00000000",
            "borrow_unpaid": "0.84478234",
            "interest_unpaid": "0.01385763",
            "available": "112.89603334",
            "frozen": "0.00000000",
            "net_asset": "110.89603334",
            "net_assetBTC": "0.00000000",
            "total_asset": "112.89603334"
          },
          "quote": {
            "currency": "USDT",
            "borrow_enabled": true,
            "borrowed": "0.00000000",
            "borrow_unpaid": "0.84478234",
            "interest_unpaid": "0.01385763",
            "available": "10.00000000",
            "frozen": "0.00000000",
            "net_asset": "10.00000000",
            "net_assetBTC": "0.00000000",
            "total_asset": "10.00000000"
          }
        },
        ...
      ]
    }
}
字段 类型 描述
symbol String 交易对
risk_rate String 当前风险率
risk_level String 风险等级
buy_enabled Boolean 是否可以买入
sell_enabled Boolean 是否可以卖出
liquidate_price String 平仓价格(精度:8位小数)
liquidate_rate String 平仓风险率
currency String 币种
borrow_enabled Boolean 能否借出
borrowed String 已借资产(精度:8位小数)
borrow_unpaid String 未还本金金额(精度:8位小数)
interest_unpaid String 未还利息(精度:8位小数)
available String 可用资产(精度:8位小数)
frozen String 交易冻结资产(精度:8位小数)
net_asset String 净资产(精度:8位小数)
net_assetBTC String 折合BTC净资产(精度:8位小数)
total_asset String 总资产(精度:8位小数)

杠杆资金划转 (SIGNED)

适用于杠杆账户和现货账户之间的资金划转

请求URL

POST https://api-cloud.bitmart.com/spot/v1/margin/isolated/transfer

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}' 
 -H 'X-BM-TIMESTAMP:{{currentTime}}' 
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "symbol":"BTC_USDT",
    "currency":"BTC",
    "amount":"1",
    "side":"in"
}'
https://api-cloud.bitmart.com/spot/v1/margin/isolated/transfer
字段 类型 是否必填 描述
symbol String 交易对, 如 BTC_USDT
currency String 币种
amount String 划转数量(精度:8位小数)
side String 转账方向
-in=转入
-out=转出

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"f7f74924-14da-42a6-b7f2-d3799dd9a612",
    "data":{
        "transfer_id":"124532"
    }
}
字段 类型 描述
transfer_id String 划转id(只有划转成功才会返回)

用户基础费率接口 (KEYED)

用于查询当前用户的基础费率

请求URL

GET https://api-cloud.bitmart.com/spot/v1/user_fee

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/spot/v1/user_fee

响应详情

响应

{
  "message":"OK",
  "code":1000,
  "trace":"0187ba0c876e4236ac191d9848a0f719.94.16778301620100121",
  "data":{
    "user_rate_type":0,
    "level":"LV1",
    "taker_fee_rate_A":"0.001",
    "maker_fee_rate_A":"0.001",
    "taker_fee_rate_B":"0.0025",
    "maker_fee_rate_B":"0.0025",
    "taker_fee_rate_C":"0.004",
    "maker_fee_rate_C":"0.004"
  }
}
字段 类型 描述
user_rate_type Long 费率类型:
-0=普通用户
-1=专业用户
-2=特殊用户
level String 用户等级
taker_fee_rate_A String A类交易对吃单手续费
maker_fee_rate_A String A类交易对挂单手续费
taker_fee_rate_B String B类交易对吃单手续费
maker_fee_rate_B String B类交易对挂单手续费
taker_fee_rate_C String C类交易对吃单手续费
maker_fee_rate_C String C类交易对挂单手续费

用户交易费率接口 (KEYED)

用于查询当前用户特定交易对的费率

请求URL

GET https://api-cloud.bitmart.com/spot/v1/trade_fee

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/spot/v1/trade_fee?symbol=BTC_USDT
字段 类型 是否必填 描述
symbol String 交易对,如: BTC_USDT

响应详情

响应

{
  "message": "OK",
  "code": 1000,
  "trace": "87614aa8-5327-4fe2-aafc-02e2ddca7210",
  "data": {
    "symbol": "BTC_USDT",
    "buy_taker_fee_rate": "0.0008",
    "sell_taker_fee_rate": "0.0008",
    "buy_maker_fee_rate": "0.0006",
    "sell_maker_fee_rate": "0.0006"
  }
}
字段 类型 描述
symbol String 交易对
buy_taker_fee_rate String Taker费率(买)
sell_taker_fee_rate String Taker费率(卖)
buy_maker_fee_rate String Maker费率(买)
sell_maker_fee_rate String Maker费率(卖)

现货 / 杠杆交易

现货下单(v2) (SIGNED)

委托下单

请求URL

POST https://api-cloud.bitmart.com/spot/v2/submit_order

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "symbol":"BTC_USDT",
    "side":"buy",
    "type":"limit",
    "size":"10",
    "price":"7000"
}'
https://api-cloud.bitmart.com/spot/v2/submit_order
字段 类型 是否必填 描述
symbol String 交易对, 如 BTC_USDT
side String 订单方向
-buy=买入
-sell=卖出
type String 订单类型
-limit=限价单
-market=市价单
-limit_maker=PostOnly单
-ioc=IOC单
client_order_id String 用户自定义ID(支持小于32位数字+字母的组合)

限价单/只做maker单/IOC单特殊参数 (type=limit/limit_maker/ioc)

字段 类型 是否必填 描述
size String 买入或卖出的数量
price String 价格

市价单特殊参数 (type=market)

字段 类型 是否必填 描述
size String 卖出数量,市价卖出时必填 size
notional String 买入金额,市价买入时必填 notional

解释说明

Buy-limit-maker

Sell-limit-maker

Buy-ioc,Sell-ioc

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "order_id":"1223181"
  }
}
字段 类型 描述
order_id String 订单ID

杠杆下单(v1) (SIGNED)

杠杆账户的下单操作

请求URL

POST https://api-cloud.bitmart.com/spot/v1/margin/submit_order

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "symbol":"BTC_USDT",
    "side":"buy",
    "type":"limit",
    "size":"10",
    "price":"7000"
}'
https://api-cloud.bitmart.com/spot/v1/margin/submit_order
字段 类型 是否必填 描述
symbol String 交易对, 如 BTC_USDT
side String 订单方向
-buy=买入
-sell=卖出
type String 订单类型
-limit=限价单
-market=市价单
-limit_maker=PostOnly单
-ioc=IOC单
clientOrderId String 用户自定义ID(支持小于32位数字+子母的组合)

限价单/只做maker单/IOC单特殊参数 (type=limit/limit_maker/ioc)

字段 类型 是否必填 描述
size String 买入或卖出的数量
price String 价格

市价单特殊参数 (type=market)

字段 类型 是否必填 描述
size String 卖出数量,市价卖出时必填 size
notional String 买入金额,市价买入时必填 notional

解释说明

Buy-limit-maker

Sell-limit-maker

Buy-ioc,Sell-ioc

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"f7f74924-14da-42a6-b7f2-d3799dd9a612",
    "data":{
      "order_id":1223181
    }
}
字段 类型 描述
order_id Long 订单ID

批量下单(v2) (SIGNED)

批量下单

请求URL

POST https://api-cloud.bitmart.com/spot/v2/batch_orders

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "order_params":[
        {
        "symbol":"BTC_USDT",
        "size":"0.1",
        "price":"8800",
        "side":"buy",
        "type":"limit"
        },
        {
        "symbol":"BTC_USDT",
        "size":"0.1",
        "price":"8800",
        "side":"sell",
        "type":"limit"
        }
    ]
}'
https://api-cloud.bitmart.com/spot/v2/batch_orders
字段 类型 是否必填 描述
order_params List 下单参数,笔数不能超过10笔

orderParam

字段 类型 是否必填 描述
symbol String 交易对, 如 BTC_USDT
side String 订单方向
-buy=买入
-sell=卖出
type String 订单类型
-limit=限价单
-market=市价单
-limit_maker=PostOnly单
-ioc=IOC单
client_order_id String 用户自定义ID(支持小于32位数字+字母的组合)

限价单/只做maker单/IOC单特殊参数 (type=limit/limit_maker/ioc)

字段 类型 是否必填 描述
size String 买入或卖出的数量
price String 价格

市价单特殊参数 (type=market)

字段 类型 是否必填 描述
size String 卖出数量,市价卖出时必填 size
notional String 买入金额,市价买入时必填 notional

解释说明

Buy-limit-maker

Sell-limit-maker

Buy-ioc,Sell-ioc

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "responses": [
      {
        "code": 11402,
        "msg": "Balance not enough"
      },
      {
        "code": 0,
        "msg": "SUCCESS",
        "data": {
          "order_id": "145771"
        }
      }
    ]
  }
}
字段 类型 描述
order_id String 订单ID

撤销指定订单(v3) (SIGNED)

适用于撤销一个未完成的订单

请求URL

POST https://api-cloud.bitmart.com/spot/v3/cancel_order

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "symbol": "BTC_USDT",
    "order_id": "112121212"
}'
https://api-cloud.bitmart.com/spot/v3/cancel_order
字段 类型 是否必填 描述
symbol String 交易对, 如 BTC_USDT
order_id String 订单 id
client_order_id String 用户自行定义的订单ID

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "result": true
  }
}
字段 类型 描述
result Boolean 撤单结果
-true=成功
-false=撤单失败

撤销所有订单(v1) (SIGNED)

取消指定交易对指定方向的所有未完成的订单

请求URL

POST https://api-cloud.bitmart.com/spot/v1/cancel_orders

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
  "symbol":"BTC_USDT",
  "side":"buy"
}'
https://api-cloud.bitmart.com/spot/v1/cancel_orders
字段 类型 是否必填 描述
symbol String 交易对, 如 BTC_USDT
side String 订单方向
-buy=买入
-sell=卖出

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
  }
}

code 返回 1000 表示撤销成功。

orderId查单(v4)(SIGNED)

根据订单orderId查询单个订单

请求URL

POST https://api-cloud.bitmart.com/spot/v4/query/order

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
  "orderId":"118100034543076010",
  "queryState":"open",
  "recvWindow":5000
}'
https://api-cloud.bitmart.com/spot/v4/query/order
字段 类型 是否必填 描述
orderId String 订单id
queryState String 查询类型
- open=当前委托(未成交+部分成交)
- history=历史委托(完全成交+完全撤销+部分成交已撤销
recvWindow Long 交易时效时间,取值范围(0,60000], 默认:5000 毫秒
注意

响应详情

响应

{
  "code" : 1000,
  "message" : "success",
  "data" : {
    "orderId" : "118100034543076010",
    "clientOrderId" : "118100034543076010",
    "symbol" : "BTC_USDT",
    "side" : "buy",
    "orderMode" : "spot",
    "type" : "limit",
    "state" : "filled",
    "price" : "48800.00",
    "priceAvg" : "39999.00",
    "size" : "0.10000",
    "filledSize" : "0.10000",
    "notional" : "4880.00000",
    "filledNotional" : "3999.90000",
    "createTime" : 1681701557927,
    "updateTime" : 1681701559408
  },
  "trace" : "8aab576e50024648ae45e3cfaf90f9cf.60.16817015721880197"
}
字段 类型 描述
orderId String 订单ID
clientOrderId String 外部订单号
symbol String 交易对, 如 BTC_USDT
side String 订单方向
-buy=买入
-sell=卖出
orderMode String 订单模式
-spot=现货
-iso_margin=逐仓杠杆
type String 订单类型
-limit=限价单
-market=市价单
-limit_maker=PostOnly单
-ioc=IOC单
state String 订单状态
-new=未成交
-partially_filled=部分成交
-filled=完全成交
-canceled=完全撤销
-partially_canceled=部分成交已撤销
-failed=失败
price String 下单价格
priceAvg String 平均成交价格
size String 下单数量
filledSize String 实际成交数量
notional String 下单金额
filledNotional String 实际成交金额
createTime Long 创建时间, 精确到毫秒 如:1681701557927
updateTime Long 最后更新时间, 精确到毫秒 如:1681701557927

clientOrderId查单(v4)(SIGNED)

根据clientOrderId查询单个订单

请求URL

POST https://api-cloud.bitmart.com/spot/v4/query/client-order

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
  "clientOrderId":"118100034543076010",
  "queryState":"open",
  "recvWindow":5000
}'
https://api-cloud.bitmart.com/spot/v4/query/client-order
字段 类型 是否必填 描述
clientOrderId String 用户自定义订单id
queryState String 查询类型
- open=当前委托(未成交+部分成交)
- history=历史委托(完全成交+完全撤销+部分成交已撤销
recvWindow Long 交易时效时间,取值范围(0,60000], 默认:5000 毫秒
注意

响应详情

响应

{
  "code" : 1000,
  "message" : "success",
  "data" : {
    "orderId" : "118100034543076010",
    "clientOrderId" : "118100034543076010",
    "symbol" : "BTC_USDT",
    "side" : "buy",
    "orderMode" : "spot",
    "type" : "limit",
    "state" : "filled",
    "price" : "48800.00",
    "priceAvg" : "39999.00",
    "size" : "0.10000",
    "filledSize" : "0.10000",
    "notional" : "4880.00000",
    "filledNotional" : "3999.90000",
    "createTime" : 1681701557927,
    "updateTime" : 1681701559408
  },
  "trace" : "8aab576e50024648ae45e3cfaf90f9cf.60.16817015721880197"
}
字段 类型 描述
orderId String 订单ID
clientOrderId String 外部订单号
symbol String 交易对, 如 BTC_USDT
side String 订单方向
-buy=买入
-sell=卖出
orderMode String 订单模式
-spot=现货
-iso_margin=逐仓杠杆
type String 订单类型
-limit=限价单
-market=市价单
-limit_maker=PostOnly单
-ioc=IOC单
state String 订单状态
-new=未成交
-partially_filled=部分成交
-filled=完全成交
-canceled=完全撤销
-partially_canceled=部分成交已撤销
price String 下单价格
priceAvg String 平均成交价格
size String 下单数量
filledSize String 实际成交数量
notional String 下单金额
filledNotional String 实际成交金额
createTime Long 创建时间, 精确到毫秒 如:1681701557927
updateTime Long 最后更新时间, 精确到毫秒 如:1681701557927

当前委托(v4)(SIGNED)

查询账户当前委托列表, 只包含 new(未成交) 和 partially_filled(部分成交) 的订单

请求URL

POST https://api-cloud.bitmart.com/spot/v4/query/open-orders

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
  "symbol":"BTC_USDT",
  "orderMode":"spot",
  "startTime":1682239652931,
  "endTime":1682239657931,
  "limit":10,
  "recvWindow": 5000
}'
https://api-cloud.bitmart.com/spot/v4/query/open-orders
字段 类型 是否必填 描述
symbol String 交易对, 如 BTC_USDT
orderMode String 订单模式
- spot=现货
- iso_margin=逐仓杠杆
startTime Long 起始时间, 精确到毫秒, 如: 1681701557927
endTime Long 结束时间, 精确到毫秒, 如: 1681701557927
limit Int 查询条数, 取值范围[1,200], 默认200条
recvWindow Long 交易时效时间,取值范围(0,60000], 默认:5000 毫秒
注意

响应详情

响应

{
  "code" : 1000,
  "message" : "success",
  "data" : [ {
    "orderId" : "125213058731346056",
    "clientOrderId" : "125213058731346056",
    "symbol" : "BTC_USDT",
    "side" : "buy",
    "orderMode" : "spot",
    "type" : "limit",
    "state" : "new",
    "price" : "800.00",
    "priceAvg" : "0.00",
    "size" : "0.10000",
    "filledSize" : "0.00000",
    "notional" : "80.00000000",
    "filledNotional" : "0.00000000",
    "createTime" : 1681892198608,
    "updateTime" : 1681892198946
  } ],
  "trace" : "5e1c9f98d761443ea559c7af71ca57fa.60.16818922069220005"
}
字段 类型 描述
orderId String 订单ID
clientOrderId String 外部订单号
symbol String 交易对, 如 BTC_USDT
side String 订单方向
-buy=买入
-sell=卖出
orderMode String 订单模式
-spot=现货
-iso_margin=逐仓杠杆
type String 订单类型
-limit=限价单
-market=市价单
-limit_maker=PostOnly单
-ioc=IOC单
state String 订单状态
-new=未成交
-partially_filled=部分成交
price String 下单价格
priceAvg String 平均成交价格
size String 下单数量
filledSize String 实际成交数量
notional String 下单金额
filledNotional String 实际成交金额
createTime Long 创建时间, 精确到毫秒 如:1681701557927
updateTime Long 最后更新时间, 精确到毫秒 如:1681701557927

历史委托(v4)(SIGNED)

查询账户历史委托列表, 只包含 filled(完全成交) 、canceled(完全撤销)和 partially_canceled(部分成交已撤销) 的订单

请求URL

POST https://api-cloud.bitmart.com/spot/v4/query/history-orders

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
  "symbol":"BTC_USDT",
  "orderMode":"spot",
  "startTime":1682239502394,
  "endTime":1682239507394,
  "limit":10,
  "recvWindow":5000
}'
https://api-cloud.bitmart.com/spot/v4/query/history-orders
字段 类型 是否必填 描述
symbol String 交易对, 如 BTC_USDT
orderMode String 订单模式
- spot=现货
- iso_margin=逐仓杠杆
startTime Long 起始时间, 精确到毫秒, 如: 1681701557927
endTime Long 结束时间, 精确到毫秒, 如: 1681701557927
limit Int 查询条数, 取值范围[1,200],默认200条
recvWindow Long 交易时效时间,取值范围(0,60000], 默认:5000 毫秒
注意

响应详情

响应

{
  "code" : 1000,
  "message" : "success",
  "data" : [ {
    "orderId" : "118100034543076010",
    "clientOrderId" : "118100034543076010",
    "symbol" : "BTC_USDT",
    "side" : "buy",
    "orderMode" : "spot",
    "type" : "limit",
    "state" : "filled",
    "price" : "48800.00",
    "priceAvg" : "39999.00",
    "size" : "0.10000",
    "filledSize" : "0.10000",
    "notional" : "4880.00000000",
    "filledNotional" : "3999.90000000",
    "createTime" : 1681701557927,
    "updateTime" : 1681701559408
  } ],
  "trace" : "acc282ba9e434cc1a90bf6326de9e119.64.16818913787390001"
}
字段 类型 描述
orderId String 订单ID
clientOrderId String 外部订单号
symbol String 交易对, 如 BTC_USDT
side String 订单方向
-buy=买入
-sell=卖出
orderMode String 订单模式
-spot=现货
-iso_margin=逐仓杠杆
type String 订单类型
-limit=限价单
-market=市价单
-limit_maker=PostOnly单
-ioc=IOC单
state String 订单状态
-filled=完全成交
-canceled=完全撤销
-partially_canceled=部分成交已撤销
price String 下单价格
priceAvg String 平均成交价格
size String 下单数量
filledSize String 实际成交数量
notional String 下单金额
filledNotional String 实际成交金额
createTime Long 创建时间, 精确到毫秒 如:1681701557927
updateTime Long 最后更新时间, 精确到毫秒 如:1681701557927

成交记录(v4)(SIGNED)

查询账户所有成交记录

请求URL

POST https://api-cloud.bitmart.com/spot/v4/query/trades

请求限制

参见 速率限制详细

请求参数

请求

 curl 
  -H 'X-BM-KEY:{{AccessKey}}'
  -H 'X-BM-TIMESTAMP:{{currentTime}}'
  -H 'X-BM-SIGN:{{SIGN}}' 
  -X POST -d '{
  "symbol":"BTC_USDT",
  "orderMode":"spot",
  "startTime":1682239845952,
  "endTime":1682239850952,
  "limit":10,
  "recvWindow":5000
}'
https://api-cloud.bitmart.com/spot/v4/query/trades
字段 类型 是否必填 描述
symbol String 交易对, 如 BTC_USDT
orderMode String 订单模式
- spot=现货
- iso_margin=逐仓杠杆
startTime Long 起始时间, 精确到毫秒, 如: 1681701557927
endTime Long 结束时间, 精确到毫秒, 如: 1681701557927
limit Int 查询条数, 取值范围[1,200],默认200条
recvWindow Long 交易时效时间,取值范围(0,60000], 默认:5000 毫秒
注意

响应详情

响应

{
  "code" : 1000,
  "message" : "success",
  "data" : [ {
    "tradeId" : "125277182593091639",
    "orderId" : "125213058731346053",
    "clientOrderId" : "125213058731346053",
    "symbol" : "BTC_USDT",
    "side" : "buy",
    "orderMode" : "spot",
    "type" : "limit",
    "price" : "39999.00",
    "size" : "0.10000",
    "notional" : "3999.90000000",
    "fee" : "9.99975000",
    "feeCoinName" : "USDT",
    "tradeRole" : "taker",
    "createTime" : 1681891896569,
    "updateTime" : 1681891896569
  } ],
  "trace" : "5e1c9f98d761443ea559c7af71ca57fa.61.16819603026240455"
}
字段 类型 描述
tradeId String 成交 id
orderId String 订单ID
clientOrderId String 外部订单号
symbol String 交易对, 如 BTC_USDT
side String 订单方向
-buy=买入
-sell=卖出
orderMode String 订单模式
-spot=现货
-iso_margin=逐仓杠杆
type String 订单类型
-limit=限价单
-market=市价单
-limit_maker=PostOnly单
-ioc=IOC单
price String 下单价格
size String 成交数量
notional String 下单金额
fee String 手续费
feeCoinName String 手续费币种名称
tradeRole String 成交角色
-taker=吃单,主动成交
-maker=挂单,被动成交
createTime Long 创建时间, 精确到毫秒 如:1681701557927
updateTime Long 最后更新时间, 精确到毫秒 如:1681701557927

单笔成交记录(v4)(SIGNED)

查询单笔订单的所有成交记录

请求URL

POST https://api-cloud.bitmart.com/spot/v4/query/order-trades

请求限制

参见 速率限制详细

请求参数

请求

 curl 
  -H 'X-BM-KEY:{{AccessKey}}'
  -H 'X-BM-TIMESTAMP:{{currentTime}}'
  -H 'X-BM-SIGN:{{SIGN}}' 
  -X POST -d '{
  "orderId":"118100034543076010",
  "recvWindow":5000
}'
https://api-cloud.bitmart.com/spot/v4/query/order-trades
字段 类型 是否必填 描述
orderId String 订单id
recvWindow Long 交易时效时间,取值范围(0,60000], 默认:5000 毫秒
注意

响应详情

响应

{
  "code" : 1000,
  "message" : "success",
  "data" : [ {
    "tradeId" : "122177405911172002",
    "orderId" : "118100034543076010",
    "clientOrderId" : "118100034543076010",
    "symbol" : "BTC_USDT",
    "side" : "buy",
    "orderMode" : "spot",
    "type" : "limit",
    "price" : "39999.00",
    "size" : "0.10000",
    "notional" : "3999.90000000",
    "fee" : "9.99975000",
    "feeCoinName" : "USDT",
    "tradeRole" : "taker",
    "createTime" : 1681701559210,
    "updateTime" : 1681701559210
  } ],
  "trace" : "5e1c9f98d761443ea559c7af71ca57fa.62.16818934219090007"
}
字段 类型 描述
tradeId String 成交 id
orderId String 订单ID
clientOrderId String 外部订单号
symbol String 交易对, 如 BTC_USDT
side String 订单方向
-buy=买入
-sell=卖出
orderMode String 订单模式
-spot=现货
-iso_margin=逐仓杠杆
type String 订单类型
-limit=限价单
-market=市价单
-limit_maker=PostOnly单
-ioc=IOC单
price String 成交价格
size String 成交数量
notional String 成交金额
fee String 手续费
feeCoinName String 手续费币种名称
tradeRole String 成交角色
-taker=吃单,主动成交
-maker=挂单,被动成交
createTime Long 创建时间, 精确到毫秒 如:1681701557927
updateTime Long 最后更新时间, 精确到毫秒 如:1681701557927

现货 / 杠杆交易 (历史版本)

现货下单(v1) (SIGNED)

委托下单

新接口 /spot/v2/submit_order

请求格式

POST https://api-cloud.bitmart.com/spot/v1/submit_order

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "symbol":"BTC_USDT",
    "side":"buy",
    "type":"limit",
    "size":"10",
    "price":"7000"
}'
https://api-cloud.bitmart.com/spot/v1/submit_order
字段 类型 是否必填 描述
symbol String 交易对(如:BTC_USDT)
side String 类型
buy=买入
sell=卖出
type String 订单类型
limit=限价单
market=市价单
limit_maker=只做maker单
ioc=IOC单
clientOrderId String 用户自定义ID(支持小于32位数字+字母的组合)

限价单/只做maker单/IOC单特殊参数 (type=limit/limit_maker/ioc)

字段 类型 是否必填 描述
size String 买入或卖出的数量
price String 价格

市价单特殊参数 (type=market)

字段 类型 是否必填 描述
size String 卖出数量,市价卖出时必填 size
notional String 买入金额,市价买入时必填 notional

解释说明

Buy-limit-maker

Sell-limit-maker

Buy-ioc,Sell-ioc

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "order_id":1223181
  }
}
字段 类型 描述
order_id Long 订单ID

批量下单(v1) (SIGNED)

批量下单

新接口 /spot/v2/batch_orders

请求格式

POST https://api-cloud.bitmart.com/spot/v1/batch_orders

请求限制

参见 速率限制详细

请求参数

请求

curl
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "orderParams":[
        {
        "symbol":"BTC_USDT",
        "size":"0.1",
        "price":"8800",
        "side":"buy",
        "type":"limit"
        },
        {
        "symbol":"BTC_USDT",
        "size":"0.1",
        "price":"8800",
        "side":"sell",
        "type":"limit"
        }
    ]
}'
https://api-cloud.bitmart.com/spot/v1/batch_orders
字段 类型 是否必填 描述
orderParams List 下单参数,笔数不能超过10笔

orderParam

字段 类型 是否必填 描述
symbol String 交易对(如:BTC_USDT)
side String 类型
buy=买入
sell=卖出
type String 订单类型
limit=限价单
market=市价单
limit_maker=只做maker单
ioc=IOC单
clientOrderId String 用户自定义ID(支持小于32位数字+字母的组合)

限价单/只做maker单/IOC单特殊参数 (type=limit/limit_maker/ioc)

字段 类型 是否必填 描述
size String 买入或卖出的数量
price String 价格

市价单特殊参数 (type=market)

字段 类型 是否必填 描述
size String 卖出数量,市价卖出时必填 size
notional String 买入金额,市价买入时必填 notional

解释说明

Buy-limit-maker

Sell-limit-maker

Buy-ioc,Sell-ioc

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "orderResponses": [
      {
        "code": 11402,
        "msg": "Balance not enough"
      },
      {
        "code": 0,
        "msg": "SUCCESS",
        "data": {
          "orderId": 145771
        }
      }
    ]
  }
}
字段 类型 描述
order_id Long 订单ID

撤销指定订单(v2) (SIGNED)

取消一个未完成的订单

新接口 /spot/v3/cancel_order

请求格式

POST https://api-cloud.bitmart.com/spot/v2/cancel_order

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "order_id":112121212
}'
https://api-cloud.bitmart.com/spot/v2/cancel_order
字段 类型 是否必填 描述
order_id Long 订单 id
clientOrderId String 用户自定义ID

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
    "result": true
  }
}
字段 类型 描述
result Boolean 撤单成功=true;撤单失败=false

查单(v2) (KEYED)

适用于查询特定订单详情

新接口 /spot/v4/query/order

请求格式

GET https://api-cloud.bitmart.com/spot/v2/order_detail

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/spot/v2/order_detail?order_id=1736871726781
字段 类型 是否必填 描述
order_id String 订单ID

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"a27c2cb5-ead4-471d-8455-1cfeda054ea6",
    "data":{
        "order_id":"1736871726781",
        "client_order_id":"d9850c05-9091-4740-ae07-43e62153e9bd",
        "symbol":"BTC_USDT",
        "create_time":1591096004000,
        "side":"sell",
        "order_mode":"spot",
        "type":"market",
        "price":"0.00",
        "price_avg":"0.00",
        "size":"0.02000",
        "notional":"0.00000000",
        "filled_notional":"0.00000000",
        "filled_size":"0.00000",
        "unfilled_volume":"0.02000",
        "status":"8"
    }
}
字段 类型 描述
order_id String 订单ID
client_order_id String 用户自定义ID(如果该字段未定义,则返回随机字符串)
symbol String 交易对(如:BMX_USDT)
create_time Long 时间戳,精确到毫秒
side String 类型
buy=买入
sell=卖出
order_mode String 交易模式
spot=现货
iso_margin=逐仓杠杆
type String 订单类型
limit=限价单
market=市价单
limit_maker=PostOnly单
ioc=IOC单
price String 委托价格
price_avg String 成交均价
size String 委托数量(交易货币)
notional String 买入金额,单位计价币种(特例:市价单卖的时候为交易币种)
filled_notional String 已成交金额
filled_size String 已成交数量
unfilled_volume String 未成交数量
status String 状态
4=下单成功,等待成交
5=部分成交
6=完全成交
8=撤销成功
11=部分成交后退还剩余

当前委托(v3) (KEYED)

适用于查询一定时间范围内的委托记录,最多查询200条

新接口 /spot/v4/query/open-orders 新接口 /spot/v4/query/history-orders

请求格式

GET https://api-cloud.bitmart.com/spot/v3/orders

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/spot/v3/orders?symbol=BTC_USDT&status=4&N=100
字段 类型 是否必填 描述
symbol String 交易对(如:BTC_USDT)
order_mode String 交易模式,默认返回现货委托
spot=现货
iso_margin=逐仓杠杆
all=全部类型委托
N Int 查询记录条数(值域为1-200,默认为200条)
start_time Long 查询开始时间戳(毫秒),必须在最近三个月范围内
end_time Long 查询结束时间戳(毫秒),必须在最近三个月范围内
status String 状态
4=下单成功,等待成交
5=部分成交
6=完全成交
8=撤销成功
9=当前委托(4冻结成功+5部分成交)
10=6完全成交+8撤销成功+11部分成交后退还剩余
11=部分成交后退还剩余

响应详情

响应

{
  "message":"OK",
  "code":1000,
  "trace":"70e7d427-7436-4fb8-8cdd-97e1f5eadbe9",
  "data":{
    "orders":[
      {
        "order_id":"2147601241",
        "symbol":"BTC_USDT",
        "create_time":1591099963000,
        "side":"sell",
        "order_mode":"spot",
        "type":"limit",
        "price":"9000.00",
        "price_avg":"0.00",
        "size":"1.00000",
        "notional":"9000.00000000",
        "filled_notional":"0.00000000",
        "filled_size":"0.00000",
        "status":"4",
        "client_order_id":"bm4877624"
      }
    ]
  }
}
字段 类型 描述
orders List 订单列表
order_id String 订单ID
symbol String 交易对(如:BTC_USDT)
create_time Long 时间戳,精确到毫秒
side String 类型
buy=买入
sell=卖出
order_mode String 交易模式
spot=现货
iso_margin=逐仓杠杆
type String 订单类型
limit=限价单
market=市价单
price String 委托价格
price_avg String 成交均价
size String 委托数量(交易货币)
notional String 买入金额,单位计价币种(特例:市价单卖的时候为交易币种)
filled_notional String 已成交金额
filled_size String 已成交数量
status String 状态
4=下单成功,等待成交
5=部分成交
6=完全成交
8=撤销成功
11=部分成交后退还剩余
client_order_id String 用户自定义ID(如果该字段未定义,则返回随机字符串)

成交记录(v2) (KEYED)

适用于查询一定时间范围内的成交记录,最多查询200条

新接口 /spot/v4/query/trades

请求格式

GET https://api-cloud.bitmart.com/spot/v2/trades

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/spot/v2/trades?symbol=BTC_USDT&N=10
字段 类型 是否必填 描述
symbol String 必填 交易对(如:BTC_USDT)
order_mode String 交易模式,默认返回现货记录
spot=现货
iso_margin=逐仓杠杆
all=全部类型成交记录

查询单个订单的成交记录的特殊参数

字段 类型 是否必填 描述
order_id String 订单 id

查询所有订单的成交记录的特殊参数

字段 类型 是否必填 描述
N Int 查询记录条数(值域为1-200,默认为200条)
start_time Long 查询开始时间戳(毫秒),必须在最近三个月范围内
end_time Long 查询结束时间戳(毫秒),必须在最近三个月范围内

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"a06a5c53-8e6f-42d6-8082-2ff4718d221c",
    "data":{
        "trades":[
            {
                "detail_id":"256348632",
                "order_id":"2147484350",
                "symbol":"BTC_USDT",
                "create_time":1590462303000,
                "side":"buy",
                "order_mode":"spot",
                "fees":"0.00001350",
                "fee_coin_name":"BTC",
                "notional":"88.00000000",
                "price_avg":"8800.00",
                "size":"0.01000",
                "exec_type":"M",
                "client_order_id":"bm476897"
            },
            ...
        ]
    }
}
字段 类型 描述
trades List 订单列表
detail_id String 成交 id
order_id String 订单 id
symbol String 交易对 symbol
create_time Long 成交时间 (毫秒表示)
side String 订单方向
buy=买入
sell=卖出
order_mode String 交易模式
spot=现货
iso_margin=逐仓杠杆
price_avg String 成交均价
notional String 成交价格
size String 成交数量
fees String 手续费
fee_coin_name String 手续费计价币名称
exec_type String 该账单是maker还是taker产生的。M表示Maker,T表示Taker
client_order_id String 用户自定义ID(如果该字段未定义,则返回随机字符串)

杠杆借还款

逐仓借款 (SIGNED)

适用于逐仓杠杆账户的借款操作

请求URL

POST https://api-cloud.bitmart.com/spot/v1/margin/isolated/borrow

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "symbol":"BTC_USDT",
    "currency":"BTC",
    "amount":"1"
}'
https://api-cloud.bitmart.com/spot/v1/margin/isolated/borrow
字段 类型 是否必填 描述
symbol String 借入交易对(如BTC_USDT)
currency String 借入币种,根据借入交易对选择(如BTC或USDT)
amount String 借币数量(精度:8位小数)

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"f7f74924-14da-42a6-b7f2-d3799dd9a612",
    "data":{
      "borrow_id":"113896"
    }
}
字段 类型 描述
borrow_id String 借款订单ID,只有成功会返回

逐仓还款 (SIGNED)

适用于逐仓杠杆账户的还款操作

请求URL

POST https://api-cloud.bitmart.com/spot/v1/margin/isolated/repay

请求限制

参见 速率限制详细

请求参数

请求

curl
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "symbol":"BTC_USDT",
    "currency":"BTC",
    "amount":"1"
}'
https://api-cloud.bitmart.com/spot/v1/margin/isolated/repay
字段 类型 是否必填 描述
symbol String 还款交易对(如BTC_USDT)
currency String 还款币种,根据还款交易对选择(如BTC或USDT)
amount String 还款数量(精度:8位小数)

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"f7f74924-14da-42a6-b7f2-d3799dd9a612",
    "data":{
        "repay_id":"123165"
    }
}
字段 类型 描述
repay_id String 还款ID,只有成功会返回

查询逐仓借款订单 (KEYED)

适用于查询逐仓杠杆账户的借款记录

请求URL

GET https://api-cloud.bitmart.com/spot/v1/margin/isolated/borrow_record

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}' 
https://api-cloud.bitmart.com/spot/v1/margin/isolated/borrow_record?symbol=BTC_USDT
字段 类型 是否必填 描述
symbol String 交易对(如BTC_USDT)
borrow_id String 借款订单id
start_time Long 查询开始日期:时间戳
end_time Long 查询结束日期:时间戳
N Int 查询记录条数,取值范围(1-100),默认为50

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"f7f74924-14da-42a6-b7f2-d3799dd9a612",
    "data": {
      "records":[
        {
          "borrow_id": "133425",
          "symbol": "BTC_USDT",
          "currency": "BTC",
          "borrow_amount": "1.23854339",
          "daily_interest": "0.05",
          "hourly_interest": "0.00208334",
          "interest_amount": "0.02398474",
          "create_time": 1655345808
        },
        ...
      ]
    }
}
字段 类型 描述
borrow_id String 借款订单号
symbol String 交易对
currency String 币种
borrow_amount String 借款本金总额(精度:8位小数)
daily_interest String 日利率
hourly_interest String 时利率
interest_amount String 利息总额(精度:8位小数)
create_time Long 订单创建时间

查询逐仓还款订 (KEYED)

适用于查询逐仓杠杆账户的还款记录

请求URL

GET https://api-cloud.bitmart.com/spot/v1/margin/isolated/repay_record

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/spot/v1/margin/isolated/repay_record?symbol=BTC_USDT
字段 类型 是否必填 描述
symbol String 交易对(如BTC_USDT)
repay_id String 还款订单id
currency String 币种
start_time Long 查询开始日期:时间戳
end_time Long 查询结束日期:时间戳
N Int 查询记录条数,取值范围(1-100),默认为50

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"f7f74924-14da-42a6-b7f2-d3799dd9a612",
    "data":{
      "records":[
      {
        "repay_id":"118723",
        "repay_time":1655345808,
        "symbol":"BTC_USDT",
        "currency":"BTC",
        "repaid_amount":"1.1",
        "repaid_principal":"1",
        "repaid_interest":"0.1"
      },
      ...
      ]
    }
}
字段 类型 描述
repay_id String 还款ID
repay_time Long 还款时间戳
symbol String 还款交易对(如BTC_USDT)
currency String 还款币种
repaid_amount String 还款金额
repaid_principal String 该笔还款归还的本金
repaid_interest String 该笔还款归还的利息

查询交易对借款利率与额度 (KEYED)

适用于查询逐仓杠杆交易对的借款利率和借款额度

请求URL

GET https://api-cloud.bitmart.com/spot/v1/margin/isolated/pairs

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/spot/v1/margin/isolated/pairs?symbol=BTC_USDT
字段 类型 是否必填 描述
symbol String 可多选,不填则返回全部,如BTC_USDT,ETH_USDT

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"f7f74924-14da-42a6-b7f2-d3799dd9a612",
    "data":{
      "symbols":[
        {
          "symbol": "BTC_USDT",
          "max_leverage": "10",
          "symbol_enabled": true,
          "base": {
            "currency": "BTC",
            "daily_interest": "0.05",
            "hourly_interest": "0.00208334",
            "max_borrow_amount": "1000.00000000",
            "min_borrow_amount": "1.00000000",
            "borrowable_amount": "955.90221219"
          },
          "quote": {
            "currency": "USDT",
            "daily_interest": "0.05",
            "hourly_interest": "0.00208334",
            "max_borrow_amount": "12000.00000000",
            "min_borrow_amount": "0.01000000",
            "borrowable_amount": "12000.00000000"
          }
        },
        ...
      ]
    }
}
字段 类型 描述
symbol String 交易对
max_leverage String 杠杆倍数
symbol_enabled Boolean 是否已开通该交易对
currency String 币种
daily_interest String 日利率
hourly_interest String 时利率
max_borrow_amount String 最大借出数量(精度:8位小数)
min_borrow_amount String 最小借出数量(精度:8位小数)
borrowable_amount String 当前可借数量(精度:8位小数)

子母账户

子划转到主(主账户适用)(SIGNED)

子账户的现货钱包向主账户的现货钱包划转(主账户适用)

请求URL

POST https://api-cloud.bitmart.com/account/sub-account/main/v1/sub-to-main

请求限制

参见 速率限制详细

请求参数

请求

curl
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "requestNo":"4e2adcff-2122-1ce7-2557-4f65d2ce1ca2",
    "amount":"1",
    "currency":"BTC",
    "subAccount":"[email protected]"
}'
https://api-cloud.bitmart.com/account/sub-account/main/v1/sub-to-main
字段 类型 是否必填 描述
requestNo String uuid或其他通用唯一标识符, 支持长度64
amount String 划转数量
currency String 币种
subAccount String 子账户用户名

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
  }
}

code 返回 1000 表示划转成功。

子划转到主(子账户适用)(SIGNED)

子账户的现货钱包向主账户的现货钱包划转(子账户适用)

请求URL

POST https://api-cloud.bitmart.com/account/sub-account/sub/v1/sub-to-main

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "requestNo":"4e2adcff-2122-1ce7-2557-4f65d2ce1ca2",
    "amount":"1",
    "currency":"BTC"
}'
https://api-cloud.bitmart.com/account/sub-account/sub/v1/sub-to-main
字段 类型 是否必填 描述
requestNo String uuid或其他通用唯一标识符, 支持长度64
amount String 划转数量
currency String 币种

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
  }
}

code 返回 1000 表示划转成功。

主划转到子(主账户适用)(SIGNED)

主账户的现货钱包向子账户划转现货钱包(主账户适用)

请求URL

POST https://api-cloud.bitmart.com/account/sub-account/main/v1/main-to-sub

请求限制

参见 速率限制详细

请求参数

请求

curl
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "requestNo":"4e2adcff-2122-1ce7-2557-4f65d2ce1ca2",
    "amount":"1",
    "currency":"BTC",
    "subAccount":"[email protected]"
}'
https://api-cloud.bitmart.com/account/sub-account/main/v1/main-to-sub
字段 类型 是否必填 描述
requestNo String uuid或其他通用唯一标识符, 支持长度64
amount String 划转数量
currency String 币种
subAccount String 子账户用户名

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
  }
}

code 返回 1000 表示划转成功。

子划转到子(子账户适用)(删除)

2024年3月7日停止使用

请求URL

POST https://api-cloud.bitmart.com/account/sub-account/sub/v1/sub-to-sub

请求限制

参见 速率限制详细

请求参数

请求

curl https://api-cloud.bitmart.com/account/sub-account/sub/v1/sub-to-sub
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "requestNo":"4e2adcff-2122-1ce7-2557-4f65d2ce1ca2",
    "amount":"1",
    "currency":"BTC",
    "subAccount":"[email protected]"
}'
https://api-cloud.bitmart.com/account/sub-account/sub/v1/sub-to-sub
字段 类型 是否必填 描述
requestNo String uuid或其他通用唯一标识符, 支持长度64
amount String 划转数量
currency String 币种
subAccount String 子账户用户名

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
  }
}

code 返回 1000 表示划转成功。

子划转到子(主账户适用)(SIGNED)

子账户的现货钱包向子账户的现货钱包划转(主账户适用)

请求URL

POST https://api-cloud.bitmart.com/account/sub-account/main/v1/sub-to-sub

请求限制

参见 速率限制详细

请求参数

请求

curl 
 -H 'X-BM-KEY:{{AccessKey}}'
 -H 'X-BM-TIMESTAMP:{{currentTime}}'
 -H 'X-BM-SIGN:{{SIGN}}' 
 -X POST -d '{
    "requestNo":"4e2adcff-2122-1ce7-2557-4f65d2ce1ca2",
    "amount":"1",
    "currency":"BTC",
    "fromAccount":"[email protected]",
    "toAccount":"[email protected]"
}'
https://api-cloud.bitmart.com/account/sub-account/main/v1/sub-to-sub
字段 类型 是否必填 描述
requestNo String uuid或其他通用唯一标识符, 支持长度64
amount String 划转数量
currency String 币种
fromAccount String 划出子账户用户名
toAccount String 划入子账户用户名

响应详情

响应

{
  "code": 1000,
  "trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1",
  "message": "OK",
  "data": {
  }
}

code 返回 1000 表示划转成功。

子划转历史(主账户适用)(KEYED)

查询子账户划转历史(主账户适用)

请求URL

GET https://api-cloud.bitmart.com/account/sub-account/main/v1/transfer-list

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/account/sub-account/main/v1/transfer-list?moveType=spot to spot
字段 类型 是否必填 描述
moveType String 划转类型
spot to spot=现货到现货
accountName String 子账户用户名(默认:查询全部的子账户)
N Int 最近N条记录(取值范围1-100)

响应详情

响应

{
  "message": "OK",
  "code": 1000,
  "trace": "282fd16e-73ee-464f-adb7-7241345929f6",
  "data": {
    "total": 2,
    "historyList": [
      {
        "fromAccount": "[email protected]",
        "fromWalletType": "spot",
        "toAccount": "[email protected]",
        "toWalletType": "spot",
        "currency": "BTC",
        "amount": "1",
        "submissionTime": 1648471522
      },
      {
        "fromAccount": "[email protected]",
        "fromWalletType": "spot",
        "toAccount": "[email protected]",
        "toWalletType": "spot",
        "currency": "BTC",
        "amount": "30",
        "submissionTime": 1648466178
      }
    ]
  }
}
字段 类型 描述
fromAccount String 转出账户
fromWalletType String 转出钱包类型
-spot=现货
toAccount String 转入账户
toWalletType String 转入钱包类型
-spot=现货
currency String 币种
amount String 金额
submissionTime Long 请求时间戳精确到秒

账户划转历史 (主子账户通用) (KEYED)

查询账户划转历史

请求URL

GET https://api-cloud.bitmart.com/account/sub-account/v1/transfer-history

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/account/sub-account/v1/transfer-history?moveType=spot to spot
字段 类型 是否必填 描述
moveType String 划转类型
spot to spot=现货到现货
N Int 最近N条记录(取值范围1-100)

响应详情

响应

{
  "message": "OK",
  "code": 1000,
  "trace": "282fd16e-73ee-464f-adb7-7241345929f6",
  "data": {
    "total": 2,
    "historyList": [
      {
        "fromAccount": "[email protected]",
        "fromWalletType": "spot",
        "toAccount": "[email protected]",
        "toWalletType": "spot",
        "currency": "BTC",
        "amount": "1",
        "submissionTime": 1648471522
      },
      {
        "fromAccount": "[email protected]",
        "fromWalletType": "spot",
        "toAccount": "[email protected]",
        "toWalletType": "spot",
        "currency": "BTC",
        "amount": "30",
        "submissionTime": 1648466178
      }
    ]
  }
}
字段 类型 描述
fromAccount String 转出账户
fromWalletType String 转出钱包类型
-spot=现货
toAccount String 转入账户
toWalletType String 转入钱包类型
-spot=现货
currency String 币种
amount String 金额
submissionTime Long 请求时间戳精确到秒

子现货余额(主账户适用)(KEYED)

获取子账户现货钱包余额(主账户适用)

请求URL

GET https://api-cloud.bitmart.com/account/sub-account/main/v1/wallet

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/account/sub-account/main/v1/wallet?subAccount=[email protected]
字段 类型 是否必填 描述
subAccount String 子账户用户名
currency String 币种

响应详情

响应

{
    "message":"OK",
    "code":1000,
    "trace":"ef834248-51d3-4223-9481-f862aa9dd39f",
    "data":{
        "wallet":[
            {
                "currency":"USDT",
                "name":"Tether USD",
                "available":"1000.00000000",
                "frozen":"0.00000000"
            },
            {
                "currency":"BTC",
                "name":"Bitcoin",
                "available":"10000.00000000",
                "frozen":"10.00000000"
            }
        ]
    }
}
字段 类型 描述
currency String 币种
name String 加密货币全称
available String 可用余额
frozen String 冻结额

子账户列表(主账户适用)(KEYED)

查询子账户列表(主账户适用)

请求URL

GET https://api-cloud.bitmart.com/account/sub-account/main/v1/subaccount-list

请求限制

参见 速率限制详细

请求参数

请求

curl -H 'X-BM-KEY:{{AccessKey}}'
https://api-cloud.bitmart.com/account/sub-account/main/v1/subaccount-list

响应详情

响应

{
  "message": "OK",
  "code": 1000,
  "trace": "c03c22c3-75db-4aaa-9500-6dcd63dd9ccf",
  "data": {
    "subAccountList": [
      {
        "accountName": "[email protected]",
        "status": 1
      },
      {
        "accountName": "[email protected]",
        "status": 1
      }
    ]
  }
}
字段 类型 描述
accountName String 子账户账户名
status Int 账户状态
-0=被后台禁用
-1=正常
-2=被主账号冻结

WebSocket订阅

概述

服务器地址

公共频道: wss://ws-manager-compress.bitmart.com/api?protocol=1.1

私人频道: wss://ws-manager-compress.bitmart.com/user?protocol=1.1

指令格式

客户端发送给BitMart服务器的消息格式。

{"op":"<operation>", "args":["<topic1>","<topic2>"]}

解释:

示例:


成功响应格式

BitMart服务器给客户端返回的成功消息的格式。

返回不包含error_code字段则表示成功。

成功响应格式

 op=login 时:
{"event":"<operation>"}

 op=unsubscribe 时:
{"event":"<operation>","topic":"<topic>"}

 op=subscribe 时:
{"table":"<topic1>","data":"[{"<value1>","<value2>"}]"}
{"table":"<topic2>","data":"[{"<value1>","<value2>"}]"}

示例:


失败响应格式

BitMart服务器给客户端返回的失败消息的格式。

返回包含errorCode字段则表示失败,失败原因,请参考:WebSocket 错误码

失败响应格式

{"event":"<operation>","errorMessage":"<error_message>","errorCode":"<error_code>"}

连接保持与限制

如何保持连接

使用Ping/Pong机制保持连接。一旦连接打开,每过N秒发送一个Ping帧,远程端点会返回一个Pong帧保持响应。这是一种保持活力的方法。它有助于保持连接的打开状态,特别是在非活动连接上存在有短超时代理的情况下。

连接上ws后如果一直没有数据返回,20s 后自动断开链接, 为了保持连接有效且稳定,建议您进行以下操作:

  1. 每次接收到消息后,用户设置一个定时器 ,定时N秒 (N<20)。
  2. 如果定时器被触发(N 秒内没有收到新消息),发送ping帧 或者发送字符串 'ping'。
  3. 等待一个文字字符串'pong'作为回应。如果在N秒内未收到,请发出错误或重新连接。
  4. 当双方有持续消息交互时,我们不会主动断开连接。

以下是发送的数据格式: (以Java伪代码示例)

ws.send(new PingWebSocketFrame();

ws.send(new TextWebSocketFrame("ping");

连接限制

如何订阅超过1000的频道?

订阅1000个及以内频道的最佳示例: 使用一个IP可以建立10个和BitMart的服务器连接,每个连接发起100个频道的订阅

订阅1000+个频道的最佳示例: 可以使用多个IP,然后每个IP可以建10个连接,每个连接发起100个频道的订阅

需要注意的是?

空连接

5分钟内没有发送任务订阅数据的链接,将被认为是空连接,服务器会关闭此连接。

数据压缩

只有当订阅后,返回市场数据时,远程服务会将数据压缩返回给客户端。远程服务返回数据有两个格式,Binary 格式 和 Text 格式,当返回了 Binary 格式 表示数据被远程服务压缩过,客户端此时需要解压。

压缩说明

zlib是提供资料压缩之用的库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用抽象化的DEFLATE算法,最初是为libpng库所写的,后来普遍为许多软件所使用。此库为自由软件。官方链接 http://zlib.net/

解压示例

更多更全的编程代码请参考快速接入代码

Python

import zlib

def inflate(data):
    decompress = zlib.decompressobj(
            -zlib.MAX_WBITS
    )
    inflated = decompress.decompress(data)
    inflated += decompress.flush()
    return inflated.decode('UTF-8')

Nodejs

const zlib = require('zlib');

zlib.inflateRawSync(data);

Golang

import (
    "compress/flate"
)

func zipDecode(in []byte) ([]byte, error) {
    reader := flate.NewReader(bytes.NewReader(in))
    defer reader.Close()

    return ioutil.ReadAll(reader)
}

string(zipDecode(data))

php

@link https://php.net/manual/en/function.gzinflate.php

gzinflate($data)

Java

import java.util.zip.*;

public class StringCompressUtil {

    private static String uncompress(ByteBuf buf) {
        try {
            byte[] temp = new byte[buf.readableBytes()];
            ByteBufInputStream bis = new ByteBufInputStream(buf);
            bis.read(temp);
            bis.close();
            Inflater decompresser = new Inflater(true);
            decompresser.setInput(temp, 0, temp.length);
            StringBuilder sb = new StringBuilder();
            byte[] result = new byte[1024];
            while (!decompresser.finished()) {
                int resultLength = decompresser.inflate(result);
                sb.append(new String(result, 0, resultLength, "UTF-8"));
            }
            decompresser.end();
            return sb.toString();
        }catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }

    public static String decode(ByteBuf content){
        byte[] bytes = new byte[content.readableBytes()];
        content.readBytes(bytes);
        ByteBuf byteBuf = Unpooled.wrappedBuffer(bytes);
        String str = uncompress(byteBuf);
        return str;
    }

}

StringCompressUtil.decode(data)

订阅

用户可以选择订阅一个或者多个频道,多个频道总长度不能超过4096个字节

订阅

{"op": "subscribe", "args": ["<topic>"]}

参数说明

示例

订阅请求

{"op": "subscribe", "args": ["spot/ticker:BTC_USDT"]}

订阅成功

{"event": "subscribe","topic": "spot/ticker:BTC_USDT"}

订阅成功后,数据变动推送

{"table":"spot/ticker:BTC_USDT","data":[]}

取消订阅

可以取消一个或者多个频道

取消订阅

{"op": "unsubscribe", "args": ["<topic>"]}

参数说明

示例

取消订阅请求

{"op": "unsubscribe", "args": ["spot/ticker:BTC_USDT", "spot/ticker:ETH_USDT"]}

取消订阅成功

{"event":"unsubscribe","topic":"spot/ticker:BTC_USDT"}
{"event":"unsubscribe","topic":"spot/ticker:ETH_USDT"}

【公共】Ticker频道

获取现货交易对的最新成交价、买一价、卖一价和24交易量

推送规则

  1. 无需用户登录
  2. 订阅后会直接返回当前的数据,之后有变化才推送
  3. 推送频率: 最快500ms一次

订阅请求

订阅请求

{
  "op": "subscribe", 
  "args": ["spot/ticker:BTC_USDT"]
}

消息格式:

{"op": "subscribe", "args": ["spot/ticker:<symbol>"]}

订阅成功

订阅成功

{
  "event":  "subscribe",
  "topic":  "spot/ticker:BTC_USDT"
}

{"event":"subscribe","topic":"spot/ticker:<symbol>"}

订阅成功后,推送数据

推送数据

{
  "data":  [
    {
      "ask_px":  "36000",
      "ask_sz":  "1.021",
      "base_volume_24h":  "2.02000",
      "bid_px":  "35000",
      "bid_sz":  "11",
      "fluctuation":  "-0.0001",
      "high_24h":  "35003.04",
      "last_price":  "35000.00",
      "low_24h":  "35000.00",
      "ms_t":  1709024652967,
      "open_24h":  "35003.03",
      "quote_volume_24h":  "70700.00",
      "s_t":  1709024652,
      "symbol":  "BTC_USDT"
    }
  ],
  "table":  "spot/ticker"
}

返回data字段说明:

字段 类型 描述
symbol String 交易对名称, BTC_USDT
last_price String 最新成交价
high_24h String 24小时最高价
low_24h String 24小时最低价
open_24h String 24小时开盘价
base_volume_24h String 24小时成交量,按交易货币统计
quote_volume_24h String 24小时成交量,按计价货币统计
s_t Long 时间戳, 精确到秒(字段废弃,后续会下架, 请使用ms_t字段)
ms_t Long 时间戳, 精确到毫秒
fluctuation String 24小时涨跌幅
bid_px String 买一价
bid_sz String 买一价挂单量
ask_px String 卖一价
ask_sz String 卖一价挂单量

注意:此数据是解压后的展示, 详情查看数据压缩

【公共】K线频道

获取现货的K线数据

推送规则

  1. 无需用户登录
  2. 订阅后会直接返回当前的数据,之后有变化才推送
  3. 推送频率: 最快500ms一次

订阅请求

订阅请求

{
  "op": "subscribe", 
  "args": ["spot/kline1m:BTC_USDT"]
}

消息格式:

{"op": "subscribe", "args": ["<channel>:<symbol>"]}

请求其他频道列表

频道名 频道描述
spot/kline1m 1分钟K线数据频道
spot/kline5m 5分钟K线数据频道
spot/kline15m 15分钟K线数据频道
spot/kline30m 30分钟K线数据频道
spot/kline1H 1小时K线数据频道
spot/kline2H 2小时K线数据频道
spot/kline4H 4小时K线数据频道
spot/kline1D 1天K线数据频道
spot/kline1W 1周K线数据频道
spot/kline1M 1月K线数据频道

订阅成功

订阅成功

{
  "topic":  "spot/kline1m:BTC_USDT",
  "event":  "subscribe"
}

{"event":"subscribe","topic":"<channel>:<symbol>"}

订阅成功后,推送数据

推送数据

{
  "data":  [
    {
      "candle":  [
        1709025360,
        "162.01",
        "162.02",
        "162.03",
        "162.04",
        "336.452694"
      ],
      "symbol":  "BTC_USDT"
    }
  ],
  "table":  "spot/kline1m"
}

返回data字段说明:

字段 类型 描述
symbol String 交易对名称, BTC_USDT
candle List k线数据

注意:此数据是解压后的展示, 详情参看数据压缩

【公共】深度全量频道

返回深度数据,每次推送都是全量的数据

推送规则

  1. 无需用户登录
  2. 订阅后会直接返回当前的数据,之后有变化才推送
  3. 推送频率: 最快500ms一次

订阅请求

订阅请求

{
  "op": "subscribe", 
  "args": ["spot/depth5:BTC_USDT"]
}

消息格式:

{"op": "subscribe", "args": ["<channel>:<symbol>"]}

请求其他频道列表

频道名 频道描述
spot/depth5 5档深度频道 (返回前五档的深度数据)
spot/depth20 20档深度频道 (返回前二十档的深度数据)
spot/depth50 50档深度频道 (返回前五十档的深度数据)

订阅成功

订阅成功

{
  "topic":  "spot/depth5:BTC_USDT",
  "event":  "subscribe"
}

{"event":"subscribe","topic":"<channel>:<symbol>"}

订阅成功后,推送数据

推送数据

{
    "table":"spot/depth5",
    "data":[
        {
            "asks":[
                [
                    "161.96",
                    "7.37567"
                ]
            ],
            "bids":[
                [
                    "161.94",
                    "4.552355"
                ]
            ],
            "symbol":"ETH_USDT",
            "ms_t": 1542337219120
        }
    ]
}

返回data字段说明:

字段 类型 描述
symbol String 交易对名称, BTC_USDT
asks List 卖方深度
bids List 买方深度
ms_t Long 时间戳 (精确到毫秒)

注意:此数据是解压后的展示, 详情参看数据压缩

【公共】深度增量频道

返回深度数据, 支持维护一个本地的全量深度数据

推送规则

  1. 无需用户登录
  2. 推送频率: 最快100ms一次

订阅请求

订阅请求

{ 
  "op": "subscribe", 
  "args": ["spot/depth/increase100:BTC_USDT"]
}

全量请求

{ 
  "op": "request", 
  "args": ["spot/depth/increase100:BTC_USDT"]
}

消息格式:

{"op": "<op>", "args": ["spot/depth/increase100:<symbol>"]}

订阅成功

订阅成功

{
  "topic":  "spot/depth/increase100:BTC_USDT",
  "event":  "subscribe"
}

{"event":"subscribe","topic":"spot/depth/increase100:<symbol>"}

返回

全量深度快照

{
  "data": [{
    "asks": [
      ["23200", "0.69959"],
      ["28000.00", "0.20000"]
    ],
    "bids": [
      ["23105", "1.80114"]
    ],
    "ms_t": 1698292343610,
    "symbol": "BTC_USDT",
    "type": "snapshot",
    "version": 4
  }],
  "table": "spot/depth/increase100"
}

增量深度数据

{
    "data": [{
        "asks": [
            ["23200", "0.59959"]
        ],
        "bids": [],
        "ms_t": 1698292358292,
        "symbol": "BTC_USDT",
        "type": "update",
        "version": 5
    }],
    "table": "spot/depth/increase100"
}

返回data字段说明:

字段 类型 描述
symbol String 交易对名称, BTC_USDT
asks List 卖方深度
bids List 买方深度
ms_t Long 时间戳 (精确到毫秒)
version String 数据版本号
type String 数据类型
-snapshot=全量深度快照
-update=增量深度数据

注意:此数据是解压后的展示, 详情参看数据压缩

如何正确在本地维护一个OrderBook副本:

  1. 首先Client端通过订阅请求 {"op": "subscribe", "args": ["spot/depth/increase100:<symbol>"] }
  2. 订阅成功后会收到两种类型的消息,type=snapshot(全量)和type=update(更新)
  3. 如果收到type=snapshot类型消息,将深度快照内容全覆盖更新至本地缓存,如果没有本地缓存则创建一个。
  4. 如果收到type=update类型消息,将深度快照中的数据更新至本地缓存,更新规则如下:
    • 4.1 如果收到的消息里字段version小于等于本地缓存中的version(new version<=local version), 则可以丢弃此数据。
    • 4.2 如果收到的消息里字段version等于本地缓存中的version加1(new version==local version+1),则将对应价格的数量更新到本地缓存中。
    • 4.3 如果收到的消息里字段version大于本地缓存中的version加1(new version>local version+1), 请从步骤7获取最新的深度快照,覆盖本地缓存。
  5. 每一个返回的消息中的挂单量代表这个价格目前的挂单量绝对值,而不是相对变化。
  6. 如何更新本地缓存?在4.2的前提下:
    • 6.1 新增操作:如果本地没有对应的价格,说明是新挂单,需要新增到缓存中。
    • 6.2 修改或者移除操作:如果本地有对应的价格,说明是挂单量变化,如果挂单量是0,则直接从缓存中移除,否则只修改挂单量即可。
  7. 通过request请求{"op": "request", "args": ["spot/depth/increase100:<symbol>"] }获得一个最新深度快照(消息里type=snapshot),并将深度快照中的内容覆盖至本地缓存,然后继续从步骤2执行逻辑。

示例图

PNG

【公共】交易频道

获取最新实时成交数据

推送规则

  1. 无需用户登录
  2. 订阅成功后会推送增量成交消息(taker成交消息)
  3. 推送频率: 变动则推送

订阅请求

订阅请求

{
  "op": "subscribe", 
  "args": ["spot/trade:BTC_USDT"]
}

消息格式:

{"op": "subscribe", "args": ["spot/trade:<symbol>"]}

订阅成功

订阅成功

{
  "event":  "subscribe",
  "topic":  "spot/trade:BTC_USDT"
}

{"event":"subscribe","topic":"spot/trade:<symbol>"}

订阅成功后,推送数据

推送数据

{
    "table": "spot/trade",
    "data": [{
        "symbol": "ETH_USDT",
        "price": "162.12",
        "side": "buy",
        "size": "11.085",
        "s_t": 1542337219,
        "ms_t": 1542337219120
    }]
}

返回data字段说明:

字段 类型 描述
symbol String 交易对名称, BTC_USDT
side String taker订单成交方向(buysell
price String taker订单成交价格
size String taker订单成交数量
s_t Long taker订单成交时间(精确到秒) (字段废弃,后续会下架, 请使用ms_t字段)
ms_t Long taker订单成交时间(精确到毫秒)

注意:此数据是解压后的展示, 详情参看数据压缩

【私人】登录

登录订阅格式

请求格式

{"op":"login","args":["<YOUR_API_KEY>", "<timestamp>", "<sign>"]}

示例

登录示例

{"op": "login", "args": ["80618e45710812162b04892c7ee5ead4a3cc3e56", "1589267764859", "3ceeb7e1b8cb165a975e28a2e2dfaca4d30b358873c0351c1a071d8c83314556"]}

返回

{"event":"login"}

假设用户申请的API的值如下所示:

使用 Javascript 生成签名 sign: sign = CryptoJS.HmacSHA256(1589267764859 + "#" + test001 + "#" + "bitmart.WebSocket", '6c6c98544461bbe71db2bca4c6d7fd0021e0ba9efc215f9c6ad41852df9d9df9') = 3ceeb7e1b8cb165a975e28a2e2dfaca4d30b358873c0351c1a071d8c83314556

使用 Shell 生成签名 sign: sign = echo -n '1589267764859#test001#bitmart.WebSocket' | openssl dgst -sha256 -hmac "6c6c98544461bbe71db2bca4c6d7fd0021e0ba9efc215f9c6ad41852df9d9df9" (stdin)= 3ceeb7e1b8cb165a975e28a2e2dfaca4d30b358873c0351c1a071d8c83314556

最终的登录参数如下:

{"op": "login", "args": ["80618e45710812162b04892c7ee5ead4a3cc3e56", "1589267764859", "3ceeb7e1b8cb165a975e28a2e2dfaca4d30b358873c0351c1a071d8c83314556"]}

注意

【私人】订单成交进度

获取用户交易数据

推送规则

  1. 需用户登录
  2. 符合条件的订单会被推送(下单成功,撤单成功,完全成交,部分成交)
  3. 推送频率: 变动则推送

订阅请求

订阅请求

{
  "op": "subscribe", 
  "args": ["spot/user/order:BTC_USDT"]
}

消息格式:

{"op": "subscribe", "args": ["spot/user/order:<symbol>"]}

订阅成功

订阅成功

{
  "event":  "subscribe",
  "topic":  "spot/user/order:BTC_USDT"
}

{"event":"subscribe","topic":"spot/user/order:<symbol>"}

订阅成功后,推送数据

推送数据

{
    "data":[
        {
            "symbol":"BTC_USDT",
            "side":"buy",
            "type":"market",
            "notional":"",
            "size":"1.0000000000",
            "ms_t":"1609926028000",
            "price":"46100.0000000000",
            "filled_notional":"46100.0000000000",
            "filled_size":"1.0000000000",
            "margin_trading":"0",
            "state":"4",
            "order_id":"2147857398",
            "order_type":"0",
            "last_fill_time":"1609926039226",
            "last_fill_price":"46100.00000",
            "last_fill_count":"1.00000",
            "exec_type":"M",
            "detail_id":"256348632",
            "client_order_id":"order4872191",
            "create_time":"1609926028000",
            "update_time":"1609926044000",
            "order_mode":"0",
            "entrust_type":"normal",
            "order_state":"partially_filled"
        }
    ],
    "table":"spot/user/order"
}

返回data字段说明:

字段 类型 描述
symbol String 交易对名称, BTC_USDT
order_id String 订单ID
price String 委托价格, 单位:定价币
size String 委托数量, 单位:基础币
notional String 买入金额,市价买入时返回;否则返回空字符串
side String 方向
-buy
-sell
type String 类型
-limit
-market
ms_t String 订单创建时间(精确到毫秒) (字段废弃,后续会下架,请使用create_time字段)
filled_size String 已成交数量, 单位:基础币
filled_notional String 已成交金额, 单位:定价币
margin_trading String 0=币币交易订单 (字段废弃,后续会下架, 请使用order_mode字段)
order_type String 订单委托方式(字段废弃,后续会下架, 请使用entrust_type字段)
-0=普通委托
-1=只做Maker(Post only)
-2=全部成交或者立即取消(FOK)
-3=立即成交并取消剩余(IOC)
state String 推送订单状态(字段废弃,后续会下架, 请使用order_state字段)
-4=下单成功,等待成交
-5=部分成交
-6=完全成交
-8=撤销成功
-12=部分成交后撤销
last_fill_price String 此订单最新成交价格(如果没有,推0)
last_fill_count String 此订单最新成交数量(如果没有,推0)
last_fill_time String 此订单最新成交时间(如果没有,推0) 毫秒
exec_type String 该账单是maker还是taker产生的
-M=Maker
-T=Taker
detail_id String 成交 id
client_order_id String 用户自定义ID
create_time String 创建订单时间,单位毫秒
update_time String 订单最后更新时间,单位毫秒
order_mode String 交易模式
-spot=现货
-iso_margin=逐仓杠杆
entrust_type String 订单委托类型
-normal=普通委托
-limit_maker=只做Maker(Post only)
-ioc=立即成交并取消剩余(IOC)
order_state String 订单状态
-new=未成交
-partially_filled=部分成交
-filled=完全成交
-canceled=完全撤销
-partially_canceled=部分成交已撤销

注意:此数据是解压后的展示, 详情参看数据压缩

【私人】余额变动推送

现货账户余额变动订阅频道

推送规则

  1. 需用户登录
  2. 符合条件的余额变动(充值、提现、划转、成交)
  3. 推送频率: 变动则推送

订阅请求

订阅请求

{
  "op": "subscribe",
  "args": ["spot/user/balance:BALANCE_UPDATE"]
}

消息格式:

{"op": "subscribe", "args": ["spot/user/balance:BALANCE_UPDATE"]}

订阅成功

订阅成功

{
  "event":  "subscribe",
  "topic":  "spot/user/balance:BALANCE_UPDATE"
}

{"event": "subscribe","topic": "spot/user/balance:BALANCE_UPDATE"}

订阅成功后,推送数据

推送数据

{
  "data":[
    {
      "event_type":"TRANSACTION_COMPLETED  ",
      "event_time":"1693364237000",
      "balance_details":[{
        "ccy": "BTC",
        "av_bal": "123.22",
        "fz_bal": "12.56"
      }]
    }
  ],
  "table":"spot/user/balance"
}

返回data字段说明:

字段 类型 描述
event_type String 余额变动类型
-TRANSACTION_COMPLETED=交易成交
-ACCOUNT_RECHARGE=账户充值
-ACCOUNT_WITHDRAWAL=账户提现
-ACCOUNT_TRANSFER=账户划转
event_time String 余额变动时间
balance_details String 余额变动明细
>ccy String 变动余额币种名称
>av_bal String 变动后可用余额
>fz_bal String 变动后冻结余额

注意:此数据是解压后的展示, 详情参看数据压缩

错误代码

Restful错误码

全局 HTTP 返回代码列表

HTTP 解释
404 Not Found - 找不到请求的接口
403 Forbidden - 无权限访问该资源(可能是KEY没有权限,也有可能是IP限制)
401 Unauthorized - 鉴权没通过(3个头部参数中有问题,没通过)
500 Internal Server Error - 服务器异常,BitMart服务出现问题

鉴权 返回错误码

如:httpStatus:200, body:{"code": 1000, "message": "OK", "trace": "12323-3243242-34334534-4353","data":{}}

message 错误信息 code 错误码 http状态码
找不到请求的接口 30000 404
请求头 X-BM-KEY 不能为空 30001 401
请求头 X-BM-KEY 无效 30002 401
请求头 X-BM-KEY 关联的账号已经被冻结,请联系客服处理 30003 401
请求头 X-BM-SIGN 不能为空 30004 401
请求头 X-BM-SIGN 无效的签名 30005 401
请求头 X-BM-TIMESTAMP 不能为空 30006 401
请求头 X-BM-TIMESTAMP 格式必须是 Long 类型 30006 401
请求头 X-BM-TIMESTAMP 过期(超过1分钟过期) 30007 401
请求头 X-BM-TIMESTAMP 在recvWindow之外 30007 401
请求参数 recvWindow 格式必须是 Long 类型 30007 401
请求参数 recvWindow 设置不能超过60000,也不能小于0 30007 401
请求头 X-BM-TIMESTAMP 错误的格式 30008 401
无效的ip 30010 403
请求头 X-BM-KEY 过期 30011 403
请求头 X-BM-KEY 没有访问权限 30012 403
请求过于频繁 30013 429
服务不可用 30014 503
服务维护中,功能暂不可用 30016 200
因违反限流规则,您的账号请求暂时被拒绝,请联系客服人员 30017 418
请求body需要是JSON格式 30018 503
您没有执行此操作的权限。 请联系客户服务或 BD 寻求帮助 30019 200

资金账户&子母账户 API 返回错误码

如:httpStatus:200, body:{"code": 1000,"trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1","message": "OK","data": {}}

message 错误信息 code 错误码 http状态码
请求成功 1000 200
无效请求(可能body为空,或者int参数传了string数据) 60000 400
资产账户类型account_type错误 60001 400
币种currency不存在 60002 400
该币种的充值通道已经关闭,详情请咨询客服 60003 400
该币种的提现通道已经关闭,详情请咨询客服 60004 400
小于允许提现的最小金额 60005 400
提现最大精确到小数点%d位 60006 400
此提现地址不在您的地址列表中 60007 400
提现余额不足 60008 400
今日可提现额度不足 60009 400
充提id不存在 60010 400
提现地址格式不正确 60011 400
该币种不支持次操作(如禁止IOTA,HLX的充值和提现调用) 60012 400
此账户已被禁止充值 60020 403
此账户已被禁止提现 60021 403
修改了安全项,此账户24小时内禁止提现 60022 403
子账号没有操作权限 60026 403
仅支持子账户调用 60027 403
账户状态不可用 60028 403
账户被母账户冻结,请联系母账户解冻 60029 403
无效的method请求 60030 405
不支持的content-type请求 60031 415
账户不存在 60050 500
内部服务错误,详情查看message 60051 500
异常,详情查看message 60052 500
请检查邮箱/电话号码/BitMart CID,并重试 60053 403
子账户不支持提现 60054 403
不支持此币种 60055 403
此提币暂停 60056 403
用户状态不可用 60057 403
监控提款是否会导致现货钱包整体跌破追加保证金风险率。 请酌情修改提款金额 60058 403
禁止内部提现 60059 403
无效请求 60060 403
不支持的操作 60061 403
禁止 60062 403
由于安全政策,帐户被冻结。 请联系客服 60063 403
超出每日提现额度,为了您的安全,请等待24小时后重试 60064 403
提现用户与目标用户不能相同 60065 403
找不到子账号 61003 400
重复的请求(如使用已存在的requestNo) 61004 400
账户间资产划转不可用 61005 403
子母账户API仅支持机构用户 61006 403
请完成您的机构验证以开通提现功能 61007 403
暂停转出 61008 403

现货行情 API 返回错误码

message 错误信息 code 错误码 http状态码
请求成功 1000 200
没有数据 70000 200
请求参数 param 不能为空 70001 200
请求参数 symbol 无效 70002 200
请求参数 after 无效 71001 200
请求参数 before 无效 71002 200
请求参数 after 或者 请求参数 before 是无效的 71003 200
请求参数 kline limit 超出 71004 200
请求参数 step 错误 71005 200

现货&杠杆 API 返回错误码

如:httpStatus:200, body:{"code": 1000,"trace":"886fb6ae-456b-4654-b4e0-d681ac05cea1","message": "OK","data": {}}

message 错误信息 code 错误码 http状态码
请求成功 1000 200
无效请求(可能body为空,或者int参数传了string数据) 50000 400
交易对参数Symbol错误,找不到交易对 50001 400
参数From 或者 参数To 格式错误 50002 400
参数Step 格式错误 50003 400
K线数据最大返回500条 50004 400
订单id找不到对应数据 50005 400
数量size 不能小于 %s 50006 400
数量size 不能大于 %s 50007 400
价格 price 不能小于 %s 50008 400
count*price 不能小于 %s 50009 400
参数 size 不能为空 50010 400
参数 price 不能为空 50011 400
参数 notional 不能为空 50012 400
limit*offset 不能大于 %s 50013 400
参数 limit 不能为空 50014 400
参数 limit 不能小于1 50015 400
参数 limit 不能大于 %d 50016 400
参数 offset 不能为空 50017 400
参数 offset 不能小于1 50018 400
错误的状态 status. 有效的状态有 [1=下单失败, 2=下单成功, 3=冻结失败, 4=冻结成功, 5=部分成交, 6=完全成交, 7=撤销中, 8=撤销成功 50019 400
余额不足 50020 400
请求参数格式错误 50021 400
服务不可用 50022 400
该交易对不能使用API进行下单 50023 400
订单深度最多返回200条 50024 400
价格 price 不能大于 %s 50025 400
买单价格不能高于开盘价 50026 400
卖单价格不能低于开盘价 50027 400
缺少必要参数 50028 400
参数不匹配 50029 400
订单已经取消 50030 400
订单已经完成 50031 400
订单不存在(已成交或已撤销) 50032 400
订单数量应该大于0小于等于10 50033 400
订单价格过高,没有匹配的深度 50034 400
订单价格过低,没有匹配的深度 50035 400
ioc类型的订单不允许撤单 50036 400
用户自定义订单ID位数不能超过32 50037 400
用户自定义订单ID只允许数字和字母的组合 50038 400
Order_id 和 clientOrderId 不能同时为空 50039 400
该交易币对暂不可用 50040 400
超出查询时间限制 50041 400
clientOrderId重复 50042 400
币种参数currency错误,找不到对应币种 51000 400
杠杆未开户 51001 400
杠杆账户不可用,请联系客服 51002 400
账户受限制,请联系客服 51003 400
输入的值超过最大可借数量 51004 400
输入的值小于最小可借数量 51005 400
输入的数量超过应还数量 51006 400
orderMode下单类型不存在 51007 400
操作受限,请稍后再试 51008 400
参数不匹配:限价单/市价单数量应大于最小应买/卖数量 51009 400
参数不匹配:限价单价格应大于最小可买价格 51010 400
参数不匹配:限价单数量*价格应大于最小成交金额 51011 400
参与不匹配:市价单买单数量应大于最小可买数量 51012 400
参数不匹配:市价单买单下单金额过少 51013 400
参数不匹配:市价单卖单下单数量过少 51014 400
借款数量太少 51015 400
不支持的 OrderMode 类型 52000 400
不支持的 Trade 类型 52001 400
不支持的 Side 类型 52002 400
不支持的 State 类型 52003 400
End time 必须大于或者等于 Start time 52004 400
您的账户已被冻结,请联系客服 53000 403
您的kyc认证国家被限制,请联系客服 53001 403
您的账户还未完成kyc高级认证,请先在网站上完成认证 53002 403
账户权限被主账户关闭 53003 403
您所在的国家或地区不支持此交易对的交易 53004 403
没有权限请求当前接口 53005 403
请完成您的个人认证(初级) 53006 403
请完成您的个人认证(高级) 53007 403
服务在您所在的国家和地区不可用 53008 403
您的账号尚未完成二维码认证,请先完成 53009 403
账户借款受限 53010 403
不支持此 Http Method 57001 405
不支持此 Media Type 58001 415
账号不存在 59001 500
服务内部错误 59002 500
现货钱包服务错误 59003 500
杠杆钱包服务超时 59004 500
杠杆钱包服务被拒绝 59005 500
划转失败 59006 500
交易对风险率数据获取失败 59007 500
直接下单失败 59008 500
借款成功,但是下单失败 59009 500
贷款额度不足 59010 500
获取钱包余额服务超时,请稍后再试 59011 500

WebSocket错误码

错误码格式

{"event":"<operation>", "errorMessage":"", "errorCode":""}

错误码

errorMessage 错误信息 errorCode 错误码
无效的文本内容 90001
无效的 op 参数 90002
无效的 args 参数 90003
无效的 channel 参数 90004
单次订阅topic数量达到上限 90005
单链接订阅的topic总数达到上限 90006
上行消息触发限频(包括ping,pong消息) 90007
重复订阅 90008
非法订阅 90009
API KEY 是空的 91001
API KEY 找不到,请确认输入的是正确 91002
API KEY 已经被冻结 91003
API KEY 过期,请重新申请 91004
已经登录过了 91005
您还未登录,请先登录 91006
签名 sign 是空的 91010
签名 sign 错误的 91011
参数 timestamp 是空的 91021
参数 timestamp 限制1分钟内 91022
参数 timestamp 错误的格式 91023
无效的 symbol 参数 92001
请求频繁 94001
系统内部错误 95000