Welcome
欢迎来到Bitget API文档!点击这里直接开始
近期大功能预告
编号 | 接口 | 上线日期 | 功能描述 |
---|---|---|---|
1 | 理财 | 2023 十月下旬 | Bitget 理财,将于V2接口上线 |
更新预告
ETA 2023年09月06日
预告:接口 /api/spot/v1/public/products 增加响应字段:maxOrderNum
预告:接口 /api/spot/v1/public/product 增加响应字段:maxOrderNum
更新日志
2023年10月10日
- 接口校验逻辑变更:提币 and 提币V2
- 平台支持三类提币地址: '普通地址', '通用地址' 和 'EVM 地址'
- 校验逻辑只涉及 '普通地址':
- 原逻辑: 提币时,只校验 'address' (错误的 'address + coin' 在后续的提币处理中会失败)
- 新逻辑: 提币时,校验 'address + coin' (错误的 'address + coin' 提币接口会马上失败)
2023年09月05日
- 新增接口 获取合并深度数据
2023年08月23日
Websocket异常响应格式变更:
From:
To:
2023年08月19日
- 新功能: 质押借币
2023年08月11日
- API支持RSA密钥签名,增加RSA 签名示例
2023年07月31日
- 内部提币V2 支持按 uid/mobile/email 做内部提币
2023年07月18日
- 新增接口 闪兑接口
2023年07月06日
- 新增接口 公告接口
2023年07月03日
- 新增接口 历史k线接口
2023年06月20日
- 新增接口 税务接口
2023年06月16日
- 新增接口 获取有价账户资产
2023年05月20日
获取订单详情, 获取历史委托列表 新增响应字段: 'feeDetail' and orderSource
2023年05月12日
- 新增接口 获取交易手续费率
2023年04月21日
- 新增接口 P2P接口
2023年03月28日
- 划转接口支持账户类型新增:现货杠杆
2023年03月17日
2023年03月15日
- 获取全部产品信息 and 获取单个产品信息 新增响应字段: 'buyLimitPriceRatio', 'sellLimitPriceRatio'
- 获取K线数据 新增请求参数 'limit': max 1000
- 新增接口 划转V2, 提币V2, 内部提币V2 新增字段 'clientOid'
- 获取提币记录 新增请求参数: 'clientOid', added response fields: 'clientOid', 'tag'
- 获取充值记录 新增响应字段: 'tag'
- 获取划转记录 新增响应字段: 'clientOid', 'transferId', 新增请求参数: 'clientOid'
- 新增接口 撤单V2 按 'clientOid' 撤单
- 新增接口 批量撤单V2(单币对) 按 'clientOids' 撤单
- 获取订单详情, 获取未成交列表, 获取历史委托列表 新增响应字段: 'enterPointSource'
- /api/spot/v1/plan/modifyPlan 新增请求参数: 'clientOid'
- 撤销计划委托 新增请求参数: 'clientOid'
- 获取当前计划委托 获取历史计划委托 新增请求/响应字段 fields: 'clientOid', 新增请求参数: 'enterPointSource'
- 订单频道 推送数据新增字段: 'eps'
- WebSocket错误代码 增加 错误码
2023年02月13日
2022年12月28日
- 切换官方telegram群
2022年12月16日
- 'bizType' 新增枚举值
2022年12月06日
- RestAPI -> 账户接口 -> 新增 获取所有子账户现货资产
- RestAPI -> 基础配置接口 -> 币种基础信息 限速规则更新为 3/s
- RestAPI -> Public -> added 获取某个Ticker信息 新增响应字段:'bidSz', 'askSz'
- WebsocketAPI -> 私有频道 -> 订单频道 -> 推送数据参数 -> 'status' 补充枚举: 'init'
- WebsocketAPI -> 公共频道 -> 行情频道 -> 推送数据参数 -> 新增卖一量/买一量
2022年11月15日
2022年10月18日
钱包接口
-> 新增 母子账户划转
2022年9月19日
账户接口
->获取ApiKey信息
新增trader
2022年9月13日
账户接口
->获取ApiKey信息
新增parentId
2022年8月19日
公共行情接口
->获取K线数据
增加utc0 时区查询节点公共行情接口
->获取某个Ticker信息
,获取全部Ticker信息
增加响应字段openUtc0
零时区开盘价
2022年8月15日
- Get 请求方式禁止在
RequestBody
传递参数, 请以QueryString
方式传递参数
2022年8月08日
- 新增加密代码示例
加密示例
2022年8月06日
- 新增PostMan 示例
2022年8月03日
- 每个接口新增请求示例
2022年7月21日
- Websocket 连接增加规则, 请参考 连接 目录
2022年6月24日
- 新增获取apikey信息接口
- 资产接口增加 币种查询条件
2022年5月5日 【Wallet】
- 新增提币接口
2022年2月12日 【Ticker】
- ticker 接口新增
buyOne
,sellOne
2022年1月07日
- 去掉 https://capi.bitgetapi.com
新增主域名 https://api.bitget.com
新增错误码
限频规则
方法路径 | 限频频率 |
---|---|
/api/spot/v1/public/time | 20c/1s |
/api/spot/v1/public/currencies | 20c/1s |
/api/spot/v1/public/products | 20c/1s |
/api/spot/v1/public/product | 20c/1s |
/api/spot/v1/market/ticker | 20c/1s |
/api/spot/v1/market/tickers | 20c/1s |
/api/spot/v1/market/fills | 20c/1s |
/api/spot/v1/market/candles | 20c/1s |
/api/spot/v1/market/depth | 20c/1s |
/api/spot/v1/account/assets | 10c/1s |
/api/spot/v1/account/bills | 10c/1s |
/api/spot/v1/account/transferRecords | 20c/1s |
/api/spot/v1/trade/orders | 10c/1s |
/api/spot/v1/trade/batch-orders | 5c/1s |
/api/spot/v1/trade/cancel-order | 10c/1s |
/api/spot/v1/trade/cancel-batch-orders | 10c/1s |
/api/spot/v1/trade/orderInfo | 20c/1s |
/api/spot/v1/trade/open-orders | 20c/1s |
/api/spot/v1/trade/history | 20c/1s |
/api/spot/v1/trade/fills | 20c/1s |
2021年9月24日 【WebSocket】
- Websocket 接口上线
2021年9月15日【新增划转记录接口】
- 新增划转记录接口
2021年5月20日【新增v1现货文档】
- 新增v1中文文档
- 错误信息支持中
简介
API 简介
欢迎使用Bitget开发者文档!
此文档是Bitget API的唯一官方文档,Bitget API提供的功能会在此持续更新,请大家及时关注。
你可以通过点击上方菜单来切换获取不同业务的API,还可通过点击右上方的语言按钮来切换文档语言。
文档右侧是针对请求参数以及响应结果的示例。
更新关注
关于API新增、更新、下线等信息Bitget会提前发布公告进行通知,建议您关注和订阅我们的公告,及时获取相关信息。
您可以点击 这里 订阅公告。
联系我们
使用过程中如有问题或者建议,您可选择以下方式联系我们:
- 发送邮件至API@bitget.com。
- Telegram 点击加入
快速入门
接入准备
如需使用API ,请先登录网页端,完成API key的申请和权限配置,再据此文档详情进行开发和交易。
您可以点击 这里 创建 API Key。
每个用户可创建10组Api Key,每个Api Key可对应设置读取、交易两种权限。
权限说明如下:
- 读取权限:读取权限用于对数据的查询,例如:行情数据。
- 交易权限:交易权限用于下单、撤单等接口。
- 划转权限:划转权限用于在Bitget用户账户之间划转加密货币。
- 提币权限:提币权限用于从Bitget账户转出资产。
请注意,您只能通过IP白名单提币。
创建成功后请务必记住以下信息:
APIKey
API交易的身份标识,随机算法生成。Secretkey
私钥,由系统随机生成,用于签名的生成。Passphrase
口令,由用户自己设定,需要注意的是,Passphrase忘记之后是无法找回的,需要重新创建APIKey。
SDK/代码示例
SDK(推荐)
Java | Python | Node Js | Golang | PHP
注意:PHP暂不支持WebSocket
PostMan 示例
您应该首先在 PostMan 左侧的环境选项卡中配置 apiKey、passphrase和secretKey。
接口类型
本章节主要为接口类型分以下两个方面:
- 公共接口
- 私有接口
公共接口
公共接口可用于获取配置信息和行情数据。公共请求无需认证即可调用。
私有接口
私有接口可用于订单管理和账户管理。每个私有请求必须使用规范的验证形式进行签名。
私有接口需要使用您的APIKey进行验证。
访问限制
本章节主要为访问限制:
- 429 当访问超过频率限制时,将返回状态429:请求太频繁。
Rest API
如果传入有效的APIKey 用APIKey限速;如果没有则拿公网IP限速。
限速规则:各个接口上有单独的说明,如果没有一般接口限速为 10次/秒。
API域名
您可以自行使用Rest API接入方式进行操作。
域名 | REST API | 建议使用 |
---|---|---|
域名1 | https://api.bitget.com | 主域名 |
域名2 | https://capi.bitget.com | 旧域名,测试用 |
API验证
发起请求
所有REST请求的header都必须包含以下key:
- ACCESS-KEY:API KEY作为一个字符串。
- ACCESS-SIGN:使用base64编码签名(请参阅签名消息)。
- ACCESS-TIMESTAMP:您请求的时间戳。
- ACCESS-PASSPHRASE:您在创建API KEY时设置的口令。
- Content-Type:统一设置为application/json。
- locale:支持多语言,如:中文(zh-CN),英语(en-US)
//Java
System.currentTimeMillis();
//python
import time
time.time_ns() / 1000000
//Golang
import (
"time"
)
int64(time.Now().UnixNano()/1000000)
//Javascript
Math.round(new Date())
//PHP
microtime(true) * 1000;
API公开参数
side(交易方向)
字段 | 说明 |
---|---|
sell | 卖 |
buy | 买 |
orderType(订单类型)
字段 | 说明 |
---|---|
limit | 限价 |
market | 市价 |
force(订单类型)
字段 | 说明 |
---|---|
normal | 普通订单, 订单会一直有效,直到被成交或者取消 |
post_only | 只做 maker 订单 |
fok | 全部成交或立即取消(FOK) |
ioc | 立即成交并取消剩余(IOC) |
status(订单状态)
字段 | 说明 |
---|---|
init | 初始化,插入DB |
new | 未成交,orderbook中等待撮合 |
partial_fill | 部分成交 |
full_fill | 全部成交 |
cancelled | 已撤销 |
groupType(账单流水大类型)
字段 | 说明 |
---|---|
deposit | 充值 |
withdraw | 提现 |
transaction | 交易 |
transfer | 划转 |
other | 其他 |
bizType(账单流水业务类型)
字段 | 说明 |
---|---|
deposit | 充值 |
withdraw | 提现 |
buy | 买 |
sell | 卖 |
deduction of handling fee | 币币交易手续费抵扣 |
transfer-in | 转入 |
transfer-out | 转出 |
rebate rewards | 返佣奖励 |
airdrop rewards | 空投奖励 |
USDT contract rewards | USDT专业合约活动奖励 |
mix contract rewards | 混合合约活动奖励 |
System lock | 系统锁仓 |
User lock | 用户锁仓 |
status(充提订单状态)
字段 | 说明 |
---|---|
cancel | 取消 |
reject | 拒绝 |
success | 成功 |
wallet-fail | 钱包失败 |
wallet-processing | 钱包处理中 |
first-audit | 初审 |
recheck | 复审 |
first-reject | 初审拒绝 |
recheck-reject | 复审拒绝 |
type(用户提币地址查询)
字段 | 说明 |
---|---|
chain-on | 链上 |
inner-transfer | 内部地址 |
fromType,toType(转入类型,转出类型)
字段 | 说明 |
---|---|
spot | 接受转入转出多个币种 |
mix_usdt | 只接受转入转出USDT |
mix_usd | 混合合约账户,只接受转入转出保证金币种,如BTC, ETH, EOS, XRP, USDC等 |
mix_usdc | 只接受转入转出USDC |
margin_cross | 全仓杠杆账户转入转出 |
margin_isolated | 逐仓杠杆账户转入转出 |
enterPointSource
字段 | 说明 |
---|---|
WEB | WEB 客户端 |
APP | APP 客户端 |
API | API 客户端 |
SYS | SYS 客户端 |
ANDROID | ANDROID 客户端 |
IOS | IOS 客户端 |
accountType
字段 | 说明 |
---|---|
EXCHANGE | 现货 |
CONTRACT | U本位合约账户 |
USDT_MIX | USDT 合约账户 |
USD_MIX | USD 合约账户 |
USDC_MIX | USDC 合约账户 |
margin_cross | 全仓杠杆账户 |
margin_isolated | 逐仓杠杆账户 |
p2pAdvertisementStatus
字段 | 说明 |
---|---|
online | 上架 |
offline | 下架 |
editing | 编辑中 |
completed | 完成 |
p2pOrderStatus
字段 | 说明 |
---|---|
pending_pay | 待付款 |
paid | 已付款待放币 |
appeal | 申诉中 |
completed | 已完成 |
cancelled | 已取消 |
orderSource
字段 | 说明 |
---|---|
normal | 正常下单 |
market | 市价单 |
spot_trader_buy | 现货带单买 (交易员) |
spot_follower_buy | 现货跟单买 (跟随者) |
spot_trader_sell | 现货带单卖(交易员) |
spot_follower_sell | 现货跟单卖(跟随者) |
noticeType
字段 | 说明 |
---|---|
NEW_NOTICE | 重要公告 |
TRADING_AND_ACTIVITIES | 交易比赛和活动 |
NEW_COIN_LAUNCH | 新币上线 |
MAINTENANCE_SYSTEM_UPGRADE | 维护/系统升级 |
tax type spot
- Deposit
- Withdrawal
- User fees
- Fiat withdrawal success - Deduct
- Sell
- Buy
- Transaction fee deduct
- Strategic purchase-user accounts
- Subscribe to trader-user accounts
- System charges fees
- Strategic refund-User account
- Subscription fee refund-user account
- Strategic Income-Traders' accounts
- Crypto Voucher Distribution
- Copy Trade expense
- Judicial recall
- Copy Trade profit
- Refund Copy Trade commission
- Buy Crypto
- Deduction of judicial recall
- Buy with card
- System lock-up
- Airdrop Reward-B
- Decrease due to ETF settlement
- Increase due to ETF settlement
- System lock-up
- User lock-up
- Trading fee rebate
- Manage background lock positions
- Automatic deposit
- Automatic withdrawal
- Deposit from strategy account
- Withdraw to strategy account
- Lotto rewards
- User contract trial fund
- User contract simulation fund
- Delegate
- Undelegate
- Rebate rewards
- Rebate rewards
- Consumption
- Gains
- Unlock locked order
- Deduction
- Return
- Release
- Repayment
- Forced liquidation return
- The locked order is returned to the system
- The locked order is returned to the system
- Failed
- Withdrawal frozen
- Mirror fund
- Supplement fund
- Reduce fund
- Settlement out
- Withdrawal unfreeze
- Deposit
- Deposit
- Ordinary Withdrawal
- Ordinary Withdrawal
- Fast withdrawal fee
- Airdrop Reward-A
- Subscribe
- Interest
- Penalty
- Redemption
- Activity fund(USDT-Ⓜ)
- Activity fund
- Activity fund(Coin-Ⓜ)
- Activity fund
- Increase exchange rate
- Reduce exchange rate
- Transfer in
- Activity issuance
- Transfer out
- Super account
- System account
- Exchange spending
- Exchange income
- Sent
- Received
- MegaSwap Transfer in
- MegaSwap Transfer out
- Channel referral rewards
- System account
- Sell Crypto
- Fiat deposit
tax type future and margin
字段 | 说明 |
---|---|
transfer_in | 账户转入 |
transfer_out | 账户转出 |
borrow | 借款 |
repay | 还款 |
liquidation_fee | 爆仓清算费 |
compensate | 风险基金传仓补偿 |
deal_in | 杠杆 成交入帐 买入 |
deal_out | 杠杆 成交扣除 卖出 |
system_fee_in | 交易手续费 |
interest_repay | 归还利息 |
confiscated | 穿仓扣除 |
exchange_in | 兑换收入 |
exchange_out | 兑换支出 |
tax type p2p
字段 | 说明 |
---|---|
transfer_in | 账户转入 |
transfer_out | 账户转出 |
SELL | 卖出 |
BUY | 买入 |
签名
ACCESS-SIGN的请求头是对 timestamp + method.toUpperCase() + requestPath + "?" + queryString + body
字符串(+表示字符串连接)使用 HMAC SHA256 方法加密,通过BASE64 编码输出而得到的。
签名各字段说明
- timestamp:与 ACCESS-TIMESTAMP 请求头相同。
- method:请求方法(POST/GET),字母全部大写。
- requestPath:请求接口路径。
- queryString:请求URL中(?后的请求参数)的查询字符串。
- body:请求主体对应的字符串,如果请求没有主体(通常为GET请求)则body可省略。
queryString为空时,签名格式
timestamp + method.toUpperCase() + requestPath + body
queryString不为空时,签名格式
timestamp + method.toUpperCase() + requestPath + "?" + queryString + body
举例说明
获取深度信息,以 btcusdt 为例:
- Timestamp = 1591089508404
- Method = "GET"
- requestPath = "/api/spot/v1/market/depth"
- queryString= "?symbol=btcusdt_spbl&limit=20"
生成待签名的字符串:
'1591089508404GET/api/spot/v1/market/depth?symbol=btcusdt_spbl&limit=20'
下单,以 btcusdt 为例:
- Timestamp = 1561022985382
- Method = "POST"
- requestPath = "/api/spot/v1/order/order"
- body = {"symbol":"btcusdt_spbl","quantity":"8","side":"buy","price":"1","orderType":"limit","clientOrderId":"bitget#123456"}
生成待签名的字符串:
'1561022985382POST/api/spot/v3/order/order{"symbol":"btcusdt_spbl","size":"8","side":"buy","price":"1","orderType":"limit","clientOrderId":"bitget#123456"}'
生成最终签名的步骤
HMAC
第1步,将待签名字符串使用私钥secretkey进行hmac sha256加密
Signature = hmac_sha256(secretkey, Message)
第2步,对于Signature进行base64编码
Signature = base64.encode(Signature)
RSA
第一步,使用RSA私钥privateKey对待签名字符串进行SHA-256签名。
第二步,对生成的签名字符串进行编码为 base64 string,得到签名字符串进行接口请求。
HMAC 加密示例
Java
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import javax.management.RuntimeErrorException;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
@Slf4j
public class CheckSign {
private static final String secretKey = "";
public static void main(String[] args) throws Exception {
//POST sign example
// String timestamp = "1684813405151";
// String body = "{\"symbol\":\"TRXUSDT_UMCBL\",\"marginCoin\":\"USDT\",\"size\":551,\"side\":\"open_long\",\"orderType\":\"limit\",\"price\":0.0555,\"timeInForceValue\":\"normal\"}";
//
// String sign = generate(timestamp,"POST","/api/mix/v1/order/placeOrder" ,null,body,secretKey);
// log.info("sign:{}",sign);
//GET sign example
String timestamp = "1684814440729";
String queryString = "symbol=btcusdt_umcbl&marginCoin=usdt";
String sign = generate(timestamp,"GET","/api/mix/v1/account/account" ,queryString,null,secretKey);
log.info("sign:{}",sign);
}
private static Mac MAC;
static {
try {
CheckSign.MAC = Mac.getInstance("HmacSHA256");
} catch (NoSuchAlgorithmException var1) {
throw new RuntimeErrorException(new Error("Can't get Mac's instance."));
}
}
public static String generate(String timestamp, String method, String requestPath,
String queryString, String body, String secretKey)
throws CloneNotSupportedException, InvalidKeyException, UnsupportedEncodingException {
method = method.toUpperCase();
body = StringUtils.defaultIfBlank(body, StringUtils.EMPTY);
queryString = StringUtils.isBlank(queryString) ? StringUtils.EMPTY : "?" + queryString;
String preHash = timestamp + method + requestPath + queryString + body;
log.info("preHash:{}",preHash);
byte[] secretKeyBytes = secretKey.getBytes("UTF-8");
SecretKeySpec secretKeySpec = new SecretKeySpec(secretKeyBytes, "HmacSHA256");
Mac mac = (Mac) CheckSign.MAC.clone();
mac.init(secretKeySpec);
return Base64.getEncoder().encodeToString(mac.doFinal(preHash.getBytes("UTF-8")));
}
}
Python
import hmac
import base64
import json
import time
def get_timestamp():
return int(time.time() * 1000)
def sign(message, secret_key):
mac = hmac.new(bytes(secret_key, encoding='utf8'), bytes(message, encoding='utf-8'), digestmod='sha256')
d = mac.digest()
return base64.b64encode(d)
def pre_hash(timestamp, method, request_path, body):
return str(timestamp) + str.upper(method) + request_path + body
def parse_params_to_str(params):
url = '?'
for key, value in params.items():
url = url + str(key) + '=' + str(value) + '&'
return url[0:-1]
if __name__ == '__main__':
API_SECRET_KEY = ""
timestamp = "1685013478665" # get_timestamp()
request_path = "/api/mix/v1/order/placeOrder"
# POST
params = {"symbol": "TRXUSDT_UMCBL", "marginCoin": "USDT", "price": 0.0555, "size": 551, "side": "open_long", "orderType": "limit", "timeInForceValue": "normal"}
body = json.dumps(params)
sign = sign(pre_hash(timestamp, "POST", request_path, str(body)), API_SECRET_KEY)
print(sign)
# GET
body = ""
request_path = "/api/mix/v1/account/account"
params = {"symbol": "TRXUSDT_UMCBL", "marginCoin": "USDT"}
request_path = request_path + parse_params_to_str(params)
sign = sign(pre_hash(timestamp, "GET", request_path, str(body)), API_SECRET_KEY)
print(sign)
RSA 签名示例
Java
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import javax.management.RuntimeErrorException;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
import org.springframework.util.Base64Utils;
@Slf4j
public class CheckSign {
public static void main(String[] args) throws Exception {
//GET sign example
// String timestamp = "1684814440729";
// String queryString = "symbol=btcusdt_umcbl&marginCoin=usdt";
// String signContent = timestamp + "GET" + "/api/mix/v1/account/account?" + queryString;
// String sign = generate(signContent);
// log.info("sign:{}",sign);
//POST sign example
String timestamp = "1684814440729";
String preContent = timestamp + "POST" + "/api/spot/v1/trade/orders";
String body = "{\"symbol\":\"btcusdt_spbl\",\"quantity\":\"8\",\"side\":\"buy\",\"price\":\"1\",\"orderType\":\"limit\",\"clientOrderId\":\"bitget1233456\"}";
String signContent = preContent + body;
String sign = generate(signContent);
log.info("sign:{}",sign);
}
/**
*
* @param content: the string to be signed
* @return
*/
private String generate(String content) {
String privateKey = "-----BEGIN PRIVATE KEY-----\n" +
"xxxxxxxxxxxxxxxxxxxx9w0BAQEFAASCBKgwggSkAgEAAoIBAQD5C1iP01MC9fh5\n" +
"43mGx8WgJRAp3Xz9Tcqfz6HzoSg+zd8HVxKXRTXBwMDBfLxfQXobptz1tDlPUs+g\n" +
"YI38X8XEBZi5U4EBaZ5qHxArBTimyNXX6WNL6hTw0MI238cGKiW0WvWd9v6Z6/LX\n" +
"i6uFUiUEsZiiuHXcO7EKGuvBrVIRl57FzvOPD5QKfhVxcHr63NfEViAEQfQH4IN2\n" +
"+mu+L8epkWkmbua4jILUP+LXvHN7ZMiWP9bouw3r4l6v0NJ4XyucSYJL9fJ81rsI\n" +
"iUoD1S7xlSboujR4RSsFZKFyurE1c8XiU2aZ2qq+6vjby0ncE4dKVu5x/iJZ4gsL\n" +
"bneZujBLAgMBAAECggEAD6cF5uw6QGpjNo30emMd6aXKsUbpbyYvgQHUxPIxDFl2\n" +
"FgkD8xv3d/j8ZGzJjhcYbJp9MrgkDfc/c23+HomKbXqIkcVMy2DvAu523q1SVTE0\n" +
"N4DEq+XHcSc9vaMs6BdIDWDWJRp8AAKTXba6jgOOrg/Xbwq25aOeyerNPHv/N3m3\n" +
"VImJZVV+ZcetUZ82UdX7NkvV4qmRi8se47OXUT9aypzpvGbSukkqXuE4GtKGoybR\n" +
"R1sJtU10ap3QvyVNshn2QJnRd3GN2UENDvZS3ZvSY6f/Cq7K/EAmrsstOdUB2Ihn\n" +
"POnI9/MrghWFq/n3ekuArWc54bDai0deKFl9KvI2oQKBgQD9ekRFMB6ueRCCeoyg\n" +
"TOGvvW3d7X7G90XKL1xKhrg6mYh65hfQaxbihfOcrneFOoc3BgZwnbAZpF+hlq9J\n" +
"klu69adhYlMxP2nF3PGj5vPln9/rd6/gcFFE9o7zZhI166PsmlxQ7/N0SCnlao7y\n" +
"HZQoeeFJ1xuvCHVlNsTR+XZ88QKBgQD7hckVvGxIftcZsHChP8TFcDAn1IsaVbyt\n" +
"i1UZ5JPznSLTcdb8YPtFr9afiCJ4b2NqRe8gCpUCUi+urnoMMsqMxTUMopiLPh2S\n" +
"SYaBgpQYUIDLpt+Wx06krbOOyXVZ8RtgYLMpMhFCsRyzovqe8/LZQfQKWfQGTAXS\n" +
"qL5vdyiw+wKBgQC7DMDYdbwOcFRYlOq1WEarExTCUoHdfZfIrc5jSKsmwynN14H3\n" +
"US9gFg1BsBWPATPKzO1vqU3Mfln7umC73/9FJgZQfOh7TRpW4saGduXAq4voDTiC\n" +
"XR/7zh6LSuVhWPRsozRAnfF/+8i+/TVjQaSVgetYPB63uXw4JoRzlq1zYQKBgQDJ\n" +
"7ASb25G+vX1n1TsGaNBKhR9TypEFylDXreTbDaMtTzg3Mcwa/qyarGiL2Fl8AEh6\n" +
"d7xaJ8SqgVpgTRgUFO6BBozpINt/5ZUN7NL7w92qi25qkAQt4sGi+QQOnHMGisak\n" +
"n90VNGmg9dkJ6cxzsXqDqiwF52M9bui5zthbWfkj4wKBgEFVT+jf235aihaS88Oj\n" +
"MbR078tvsFiRBICHlYCIef7/a+gt7N1u9sEGlPspY3HuPamA39201BuItD9X83VR\n" +
"Vg+HjkeQIIrxmfvZn1O8/l+ItSNUzQhX6T0cSdCo6KtmZLBQ6Zaw7r63GcdvSdR2\n" +
"xxxxxxxxxxxxxxxxxxxxxxx\n" +
"-----END PRIVATE KEY-----\n";
try {
String parsedPem = privateKey.replace("\n", "").trim();
parsedPem = parsedPem
.replace("-----BEGIN PRIVATE KEY-----", "")
.replace("-----END PRIVATE KEY-----", "");
PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(Base64Utils.decodeFromString(parsedPem));
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PrivateKey priKey = keyFactory.generatePrivate(priPKCS8);
Signature signature = Signature.getInstance("SHA256WithRSA");
signature.initSign(priKey);
signature.update(content.getBytes(StandardCharsets.UTF_8));
String sign = Base64Utils.encodeToString(signature.sign());
return sign;
} catch (Exception ex) {
throw new RuntimeException("create sign failed", ex);
}
}
}
Python
import base64
import json
import time
import base64
from Crypto.Hash import SHA256
from Crypto.Signature import PKCS1_v1_5
from Crypto.PublicKey import RSA
def get_timestamp():
return int(time.time() * 1000)
def rsa_sign(message, private_key):
pri_key = RSA.importKey(private_key)
encoded_param = SHA256.new(bytes(message, encoding='utf-8'))
sign_str = PKCS1_v1_5.new(pri_key).sign(encoded_param)
return base64.b64encode(sign_str).decode()
def pre_hash(timestamp, method, request_path, body):
return str(timestamp) + str.upper(method) + request_path + body
def parse_params_to_str(params):
url = '?'
for key, value in params.items():
url = url + str(key) + '=' + str(value) + '&'
return url[0:-1]
if __name__ == '__main__':
private_key = '''-----BEGIN PRIVATE KEY-----
XXXXXXXXXXANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdTR5gmwGH77wE
e0ljABC58EVhiw7fPXWhMh7gZwurQQ8M/I9/VA8lDjwwoGuuJ6enurdfwhpZxeZH
P3wdmwvD7XLESEXVuxJv5hdpI9m6ydInK9SA8IbaF4yYWp0l4N2mA44MzadA7QZq
bQtQPlyPZHeia5q/NZHFWCrCbW2lGAAWwrhQq9LceVIW75e213xtnps0pGlII7Ye
xLkoazuhC1X8YNSxlCdLOiz1GvOeVSeiSZx31o/O+rj7tDFpSgZJEXRmtGRoJkJy
10EGSrvUMezCVSOcb1hCExg4osK6rBKnDjFjwQvwvNNZq0JG+CkfH8eHAa7gSK50
In51go29AgMBAAECggEAEvYk30hQGu7PH0stQX3UhlVsR6HXnRlvgIrmJe7F/VLO
WaZoNdUQLktU/heYY1nsX8+mIyjmvEOayqPgdkEmXevVlcuQf38Zbduynr3vlRCX
AJnL9+8GkmucSxFBODuu/EAZc3mm27C2wUV7w6SAy9g0g6Os97ehZsSGAwHl4aye
i6KtB07LAA10Eh5Ptq4YAfCYiUO7j10pQ+DJKqN9N1eyjyw5eixEgCpudcbpCc9X
+EK6zxk8Ynr0ANX8/LwvokqgYBK1UIL6ear0dtKmeFU+KwrmkKZfXk8/Amr/O8Ot
iHTTr1SLyQKRzq3La149LMmNkUYxaMSV/KGTEV7ukQKBgQDQl/fA3mxXtQg2IjTB
cvDBGhB4c3haECWcP7TQWJDb30vxOKeq1k9YPUfegZga5zlyV28PAZnb0m5x07+0
OY4862brT+pje9OhQxfkAY6AtJaiIqhCcw5ew8Go/Ja1ML0jZESWG1MWBJtCcFTm
d3+n9yU1fB1Ze0adilYmyu7zwwKBgQDBDPJZgSj7YssPyRmo3bO0MjknfYBqXvwi
6TxV11mJRe5BJ9Rc2WXGfEm3DEn7TO/Wv0t7Yqm6/sXg5HzriN/PHlaVtE6wlXe7
3gpYKjlm99KO7KKWYqP812mASl6ydLX9QWozlOXjVhWMuSGqMWjut4J3P8jlkOJ6
pNq9c8/gfwKBgQCxwvAl8ubNj78hsuDWgsddKIMkwvKrfdsvXrMOYouAdLjZJvjs
A5q2jfKzUil3s9km8g/479pYlOn+Iv/Z7Lqke8/HdOFASoQ9h1nSuujgEgXUwkg1
6Ks0Ywqkoi0k2BY3FPnGGh8iQma1pdkUVn35fAq/m7e/S+kP1JY6lPIx1QKBgQCS
jxul67KLNrNmpot+ceGt2bseSd8l4jqU3nDZ0oW8+4Qnnu9QFhN4Hn9wIjpAOGaU
p+HMKFknB6h+Vbior98JxMSDHsHmuXKPA8DishumGlqV+vxsIzLQD1Ge/dbqsERB
olnYEyB7+KyfiyUNqjk5kcPQeHIyJk5qQaF21udoTQKBgDOMbtM0Nq7cd/SAHISR
VYIGGXRFNqAjLJW7DRJGxw3AEwxKG+nxNLeG7GsQDyPCvZSKwRpdpXRTh+6mzXqe
pQ6+33v2gOtez8Cwo6tgyKRi6QPObQk00vbrKEBTihP30m81rwBPzjwj7iKXxWgA
DJoVsaqGOaIf4qXXXXXXXXXX
-----END PRIVATE KEY-----'''
timestamp = get_timestamp()
request_path = "/api/mix/v1/order/placeOrder"
# POST
params = {"symbol": "TRXUSDT_UMCBL", "marginCoin": "USDT", "price": 0.0555, "size": 551, "side": "open_long", "orderType": "limit", "timeInForceValue": "normal"}
body = json.dumps(params)
sign = rsa_sign(pre_hash(timestamp, "POST", request_path, str(body)), private_key)
print(sign)
# GET
body = ""
request_path = "/api/mix/v1/account/account"
params = {"symbol": "TRXUSDT_UMCBL", "marginCoin": "USDT"}
request_path = request_path + parse_params_to_str(params)
sign = rsa_sign(pre_hash(timestamp, "GET", request_path, str(body)), private_key)
print(sign)
NodeJs
export function sign() {
const private_key = '-----BEGIN PRIVATE KEY-----\n' +
'XXXXXXXXXXANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdTR5gmwGH77wE\n' +
'e0ljABC58EVhiw7fPXWhMh7gZwurQQ8M/I9/VA8lDjwwoGuuJ6enurdfwhpZxeZH\n' +
'P3wdmwvD7XLESEXVuxJv5hdpI9m6ydInK9SA8IbaF4yYWp0l4N2mA44MzadA7QZq\n' +
'bQtQPlyPZHeia5q/NZHFWCrCbW2lGAAWwrhQq9LceVIW75e213xtnps0pGlII7Ye\n' +
'xLkoazuhC1X8YNSxlCdLOiz1GvOeVSeiSZx31o/O+rj7tDFpSgZJEXRmtGRoJkJy\n' +
'10EGSrvUMezCVSOcb1hCExg4osK6rBKnDjFjwQvwvNNZq0JG+CkfH8eHAa7gSK50\n' +
'In51go29AgMBAAECggEAEvYk30hQGu7PH0stQX3UhlVsR6HXnRlvgIrmJe7F/VLO\n' +
'WaZoNdUQLktU/heYY1nsX8+mIyjmvEOayqPgdkEmXevVlcuQf38Zbduynr3vlRCX\n' +
'AJnL9+8GkmucSxFBODuu/EAZc3mm27C2wUV7w6SAy9g0g6Os97ehZsSGAwHl4aye\n' +
'i6KtB07LAA10Eh5Ptq4YAfCYiUO7j10pQ+DJKqN9N1eyjyw5eixEgCpudcbpCc9X\n' +
'+EK6zxk8Ynr0ANX8/LwvokqgYBK1UIL6ear0dtKmeFU+KwrmkKZfXk8/Amr/O8Ot\n' +
'iHTTr1SLyQKRzq3La149LMmNkUYxaMSV/KGTEV7ukQKBgQDQl/fA3mxXtQg2IjTB\n' +
'cvDBGhB4c3haECWcP7TQWJDb30vxOKeq1k9YPUfegZga5zlyV28PAZnb0m5x07+0\n' +
'OY4862brT+pje9OhQxfkAY6AtJaiIqhCcw5ew8Go/Ja1ML0jZESWG1MWBJtCcFTm\n' +
'd3+n9yU1fB1Ze0adilYmyu7zwwKBgQDBDPJZgSj7YssPyRmo3bO0MjknfYBqXvwi\n' +
'6TxV11mJRe5BJ9Rc2WXGfEm3DEn7TO/Wv0t7Yqm6/sXg5HzriN/PHlaVtE6wlXe7\n' +
'3gpYKjlm99KO7KKWYqP812mASl6ydLX9QWozlOXjVhWMuSGqMWjut4J3P8jlkOJ6\n' +
'pNq9c8/gfwKBgQCxwvAl8ubNj78hsuDWgsddKIMkwvKrfdsvXrMOYouAdLjZJvjs\n' +
'A5q2jfKzUil3s9km8g/479pYlOn+Iv/Z7Lqke8/HdOFASoQ9h1nSuujgEgXUwkg1\n' +
'6Ks0Ywqkoi0k2BY3FPnGGh8iQma1pdkUVn35fAq/m7e/S+kP1JY6lPIx1QKBgQCS\n' +
'jxul67KLNrNmpot+ceGt2bseSd8l4jqU3nDZ0oW8+4Qnnu9QFhN4Hn9wIjpAOGaU\n' +
'p+HMKFknB6h+Vbior98JxMSDHsHmuXKPA8DishumGlqV+vxsIzLQD1Ge/dbqsERB\n' +
'olnYEyB7+KyfiyUNqjk5kcPQeHIyJk5qQaF21udoTQKBgDOMbtM0Nq7cd/SAHISR\n' +
'VYIGGXRFNqAjLJW7DRJGxw3AEwxKG+nxNLeG7GsQDyPCvZSKwRpdpXRTh+6mzXqe\n' +
'pQ6+33v2gOtez8Cwo6tgyKRi6QPObQk00vbrKEBTihP30m81rwBPzjwj7iKXxWgA\n' +
'DJoVsaqGOaIf4qXXXXXXXXXX\n' +
'-----END PRIVATE KEY-----\n'
const ts = Date.now();
const NodeRSA = require('node-rsa')
const pri_key = new NodeRSA(private_key)
//GET
const ts = Date.now();
const params = 'coin=USDT&startTime=1687744761000&endTime=1690336761929'
const endpoint = '/api/spot/v1/wallet/withdrawal-list'
const method = "GET"
const pre_hash = String(ts) + method + endpoint + '?' + params
const sign = pri_key.sign(pre_hash, 'base64', 'UTF-8')
//POST
const endpoint_post = '/api/spot/v1/trade/open-orders'
const params_post = '{"symbol": "BTCUSDT_SPBL"}'
const method_post = "POST"
const pre_hash_post = String(ts) + method_post + endpoint_post + params_post
const sign_post = pri_key.sign(pre_hash_post, 'base64', 'UTF-8')
return sign
}
请求交互
所有请求基于Https协议,POST 请求头信息中Content-Type 需要统一设置为: 'application/json'。
请求交互说明
- 请求参数:根据接口请求参数规定进行参数封装。
- 提交请求参数:将封装好的请求参数通过GET/POST方式提交至服务器。
- 服务器响应:服务器首先对用户请求数据进行参数安全校验,通过校验后根据业务逻辑将响应数据以JSON格式返回给用户。
- 数据处理:对服务器响应数据进行处理。
成功
HTTP状态码200表示成功响应,并可能包含内容。如果响应含有内容,则将显示在相应的返回内容里面。
常见错误码
- 400 Bad Request – Invalid request format 请求格式无效
- 401 Unauthorized – Invalid API Key 无效的API Key
- 403 Forbidden – You do not have access to the requested resource 请求无权限
- 404 Not Found 没有找到请求
- 429 Too Many Requests 请求太频繁被系统限流
- 500 Internal Server Error – We had a problem with our server 服务器内部错误
- 如果失败body带有错误描述信息
标准规范
时间戳
请求签名中的ACCESS-TIMESTAMP的单位是毫秒。请求的时间戳必须在API服务时间的30秒内,否则请求将被视为过期并被拒绝。 如果本地服务器时间和API服务器时间之间存在较大的偏差,那么我们建议您使用通过查询API服务器时间来更新http header。
限频规则
如果请求过于频繁系统将自动限制请求,并在http header中返回429 too many requests状态码。
- 公共接口:如行情接口,统一限频为2秒最多20个请求。
- 授权接口:通过apikey限制授权接口的调用,参考每个接口的限频规则限频。
请求格式
目前只有两种格式的请求方法:GET和POST
- GET: 参数通过queryString在路径中传输到服务器。
- POST: 参数按照json格式发送body传输到服务器。
RestAPI
公告接口
获取公告列表
查询最多一个月数据
限速规则:20次/1s (IP)
HTTP请求
- GET /api/spot/v1/notice/queryAllNotices
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
noticeType | String | 否 | 公告类型 |
startTime | String | 否 | 开始时间,时间戳毫秒(按照对外展示时间查) |
endTime | String | 否 | 结束时间,时间戳毫秒(按照对外展示时间查) |
languageType | String | 是 | 语言类型(支持多种语言,如果传入不支持的语言返回英文;例如: zh_CN/en_US) |
请求示例
curl "/api/spot/v1/notice/queryAllNotices?languageType=zh_CN"
返回数据:
{
"code": "00000",
"msg": "success",
"requestTime": 1688008631614,
"data": [
{
"noticeId": "23685",
"noticeTitle": "test0629",
"noticeDesc": "最新公告",
"createTime": "1688008040000",
"languageType": "zh_CN",
"noticeUrl": "https://www.bitget.com/zh_CN/support/articles/23685"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
noticeId | 公告Id |
noticeTitle | 公告标题 |
noticeDesc | 公告描述 |
createTime | 时间戳 |
languageType | 语言类型 |
noticeUrl | 公告Url |
基础配置接口
获取服务器时间
限速规则:20次/1s (IP)
HTTP请求
获取服务器时间
- GET /api/spot/v1/public/time
请求示例
curl "https://api.bitget.com/api/spot/v1/public/time"
返回数据:
{
"code": "00000",
"msg": "success",
"data": 1622097118134
}
币种基础信息
限速规则:3次/1s (IP)
HTTP请求 获取平台所有币种信息
- GET /api/spot/v1/public/currencies
请求示例
curl "https://api.bitget.com/api/spot/v1/public/currencies"
返回数据:
{
"code":"00000",
"msg":"success",
"data":[
{
"coinId":"1",
"coinName":"BTC",
"coinDisplayName":"BTC",
"transfer":"true",
"chains":[
{
"chain":"BTC",
"needTag":"false",
"withdrawable":"true",
"rechargeable":"true",
"withdrawFee":"0.005",
"extraWithDrawFee":"0",
"depositConfirm":"1",
"withdrawConfirm":"1",
"minDepositAmount":"0.001",
"minWithdrawAmount":"0.001",
"browserUrl":"https://blockchair.com/bitcoin/testnet/transaction/"
}
]
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
coinId | 币种id |
coinName | 币种名称 |
coinDisplayName | 币种展示名称 |
transfer | 是否可以划转 |
chains | |
> chain | 链名称 |
> needTag | 是否需要tag |
> withdrawable | 是否可提现 |
> rechargeable | 是否可充值 |
> withdrawFee | 提现手续费,固定数量 |
> extraWithDrawFee | 额外收取,部分币种收取。链上销毁:0.1 表示10% |
> depositConfirm | 充值确认块数 |
> withdrawConfirm | 提现确认块数 |
> minDepositAmount | 最小充值数 |
> minWithdrawAmount | 最小提现数 |
> browserUrl | 区块浏览器地址 |
获取全部产品信息
限速规则:20次/1s (IP)
HTTP请求 获取所有币对基础配置信息
- GET /api/spot/v1/public/products
请求示例
curl "https://api.bitget.com/api/spot/v1/public/products"
返回数据:
{
"code": "00000",
"msg": "success",
"requestTime": 0,
"data": [
{
"symbol": "BTCUSDT_SPBL",
"symbolName": "BTCUSDT",
"symbolDisplayName": "BTCUSDT",
"baseCoin": "BTC",
"quoteCoin": "USDT",
"minTradeAmount": "0",
"maxTradeAmount": "0",
"takerFeeRate": "0.002",
"makerFeeRate": "0.002",
"priceScale": "2",
"quantityScale": "4",
"quotePrecision": "6",
"status": "online",
"minTradeUSDT": "5",
"buyLimitPriceRatio": "0.05",
"sellLimitPriceRatio": "0.05"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 产品ID |
symbolName | 产品名称 |
symbolDisplayName | 产品展示名称 |
baseCoin | 基础币 |
quoteCoin | 计价货币 |
minTradeAmount | 最小交易数量 |
maxTradeAmount | 最大交易数量 |
takerFeeRate | 默认taker手续费率,可被个人交易手续费率覆盖 |
makerFeeRate | 默认maker手续费率,可被个人交易手续费率覆盖 |
priceScale | 价格精度 |
quantityScale | 数量精度 |
quotePrecision | 市价买精度 |
minTradeUSDT | 最小USDT交易额 |
status | 状态, offline/gray/online |
buyLimitPriceRatio | 买入与现价的价差, "0.05" 表示: 5% |
sellLimitPriceRatio | 卖出与现价的价差, "0.05" 表示: 5% |
获取单个产品信息
限速规则:20次/1s (IP)
HTTP请求
- GET /api/spot/v1/public/product
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID |
请求示例
curl "https://api.bitget.com/api/spot/v1/public/product?symbol=BTCUSDT_SPBL"
返回数据:
{
"code": "00000",
"msg": "success",
"requestTime": 0,
"data": {
"symbol": "BTCUSDT_SPBL",
"symbolName": "BTCUSDT",
"symbolDisplayName": "BTCUSDT",
"baseCoin": "BTC",
"quoteCoin": "USDT",
"minTradeAmount": "0",
"maxTradeAmount": "0",
"takerFeeRate": "0.002",
"makerFeeRate": "0.002",
"priceScale": "2",
"quantityScale": "4",
"quotePrecision": "6",
"status": "online",
"minTradeUSDT": "5",
"buyLimitPriceRatio": "0.05",
"sellLimitPriceRatio": "0.05"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 产品ID |
symbolName | 产品名称 |
symbolDisplayName | 产品展示名称 |
baseCoin | 基础币 |
quoteCoin | 计价货币 |
minTradeAmount | 最小交易数量 |
maxTradeAmount | 最小交易数量 |
takerFeeRate | 默认taker手续费率,可被个人交易手续费率覆盖 |
makerFeeRate | 默认maker手续费率,可被个人交易手续费率覆盖 |
priceScale | 价格精度 |
quantityScale | 数量精度 |
quotePrecision | 市价买精度 |
minTradeUSDT | 最小USDT交易额 |
status | 状态 |
buyLimitPriceRatio | 买入与现价的价差, "0.05" 表示: 5% |
sellLimitPriceRatio | 卖出与现价的价差, "0.05" 表示: 5% |
公共行情接口
获取某个Ticker信息
限速规则:20次/1s (IP)
HTTP请求 获取某个ticker信息
- GET /api/spot/v1/market/ticker
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID |
请求示例
curl "https://api.bitget.com/api/spot/v1/market/ticker?symbol=BTCUSDT_SPBL"
返回数据:
{
"code": "00000",
"msg": "success",
"data": {
"symbol": "BTCUSDT",
"high24h": "24175.65",
"low24h": "23677.75",
"close": "24014.11",
"quoteVol": "177689342.3025",
"baseVol": "7421.5009",
"usdtVol": "177689342.302407",
"ts": "1660704288118",
"buyOne": "24013.94",
"sellOne": "24014.06",
"bidSz": "0.0663",
"askSz": "0.0119",
"openUtc0": "23856.72",
"changeUtc":"0.00301",
"change":"0.00069"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 币对名称 |
high24h | 24小时最高价 |
close | 最新成交价 |
low24h | 24小时最低价 |
quoteVol | 计价币成交额 |
baseVol | 基础币成交额 |
usdtVol | usdt成交额 |
buyOne | 买一价 |
sellOne | 卖一价 |
bidSz | 买一量 |
askSz | 卖一量 |
openUtc0 | 零时区 开盘价 |
ts | 时间戳 |
changeUtc | UTC0时涨跌幅, 0.01表示1% |
change | 24小时涨跌幅, 0.01表示1% |
获取全部Ticker信息
限速规则:20次/1s (IP)
HTTP请求
获取全部ticker信息
- GET /api/spot/v1/market/tickers
请求示例
curl "https://api.bitget.com/api/spot/v1/market/tickers"
返回数据
{
"code":"00000",
"data":[
{
"symbol":"BTCUSDT",
"high24h":"34413.1",
"low24h":"34413.1",
"close":"34413.1",
"quoteVol":"0",
"baseVol":"0",
"usdtVol":"0",
"buyOne":"0",
"sellOne":"0",
"bidSz": "0.0663",
"askSz": "0.0119",
"openUtc0": "23856.72",
"ts":"1625125755277",
"changeUtc":"0.00301",
"change":"0.00069"
}
]
"msg":"success"
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 产品ID |
high24h | 24小时最高价 |
close | 最新成交价 |
low24h | 24小时最低价 |
ts | 系统时间戳 |
baseVol | 基础币量 |
quoteVol | 计价币量 |
usdtVol | usdt币量 |
buyOne | 买一价 |
sellOne | 卖一价 |
bidSz | 买一量 |
askSz | 卖一量 |
openUtc0 | 零时区 开盘价 |
changeUtc | UTC0时涨跌幅, 0.01表示1% |
change | 24小时涨跌幅, 0.01表示1% |
获取最近成交数据
限速规则:10次/1s (IP)
HTTP请求
获取最近的500条成交数据
- GET /api/spot/v1/market/fills
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID |
limit | String | 否 | 默认100,最大500 |
请求示例
curl "https://api.bitget.com/api/spot/v1/market/fills?symbol=BTCUSDT_SPBL"
返回数据:
{
"code":"00000",
"msg":"success",
"data":[
{
"symbol":"BFTUSDT_SPBL",
"tradeId":"781698148534505473",
"side":"buy",
"fillPrice":"2.38735",
"fillQuantity":"2470.6224",
"fillTime":"1622097282536"
},
{
"symbol":"BFTUSDT_SPBL",
"tradeId":"781698140590493697",
"side":"sell",
"fillPrice":"2.38649",
"fillQuantity":"3239.7976",
"fillTime":"1622097280642"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 产品ID |
tradeId | 成交单id |
side | 交易方向 |
fillPrice | 成交价格 |
fillQuantity | 成交数量 |
fillTime | 成交时间 |
获取成交数据
限速规则:10次/1s (IP)
HTTP请求
获取近30天成交数据,数据会按请求参数缓存10分钟,请修改endTime以获取最近的成交记录
- GET /api/spot/v1/market/fills-history
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID |
limit | String | 否 | 默认500,最大1000 |
tradeId | String | 否 | 成交ID,返回小于指定'tradeId'的记录 |
startTime | String | 否 | startTime, ms |
endTime | String | 否 | endTime, ms |
请求示例
curl "https://api.bitget.com/api/spot/v1/market/fills-history?symbol=btcusdt_spbl&limit=2&tradeId=1020221685304578123&startTime=1678965010861&endTime=1678965910861"
返回数据:
{
"code":"00000",
"msg":"success",
"data":[
{
"symbol": "BTCUSDT_SPBL",
"tradeId": "1020221668657385473",
"side": "Sell",
"fillPrice": "21341",
"fillQuantity": "0.5985",
"fillTime": "1678965721000"
},
{
"symbol": "BTCUSDT_SPBL",
"tradeId": "1020221660121976833",
"side": "Buy",
"fillPrice": "21341",
"fillQuantity": "0.3119",
"fillTime": "1678965719000"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
symbol | 产品ID |
tradeId | 成交单id, 降序排列 |
side | 交易方向, Sell/Buy |
fillPrice | 成交价格 |
fillQuantity | 成交数量 |
fillTime | 成交时间 |
获取K线数据
限速规则:20次/1s (IP)
HTTP请求 获取K线数据
- GET /api/spot/v1/market/candles
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID |
period | String | 是 | K线的时间单位,粒度(取值参考如下列表) |
after | String | 否 | ms,返回大于等于本时间之后的 |
before | String | 否 | ms,返回小于等于本时间之前的 |
limit | String | 否 | 查询条数 默认100,最大1000 |
请求示例
curl "https://api.bitget.com/api/spot/v1/market/candles?symbol=BTCUSDT_SPBL&period=1min&after=1659076670000&before=1659080270000&limit=100"
返回数据:
{
"code":"00000",
"msg":"success",
"data":[
{
"open":"2.34517",
"high":"2.34771",
"low":"2.34214",
"close":"2.34555",
"quoteVol":"189631.101357091",
"baseVol":"80862.6823",
"usdtVol":"189631.101357091",
"ts":"1622091360000"
},
{
"open":"2.34391",
"high":"2.34903",
"low":"2.34391",
"close":"2.34608",
"quoteVol":"167725.002115681",
"baseVol":"71479.3205",
"usdtVol":"167725.002115681",
"ts":"1622091420000"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
ts | 系统时间戳 |
open | 开盘价格 |
high | 最高价格 |
low | 最低价格 |
close | 收盘价格 |
baseVol | 交易币成交量 |
quoteVol | 计价币成交量 |
usdtVol | usdt成交量 |
period
- 1min(1分钟)
- 5min(5分钟)
- 15min(15分钟)
- 30min(30分钟)
- 1h(1小时)
- 4h(4小时)
- 6h(6小时)
- 12h(12小时)
- 1day(1天)
- 3day (3天)
- 1week(1周)
- 1M (月线)
- 6Hutc (零时区 6小时线)
- 12Hutc (零时区12小时线)
- 1Dutc (零时区 1日线)
- 3Dutc (零时区 3日线)
- 1Wutc (零时区 周线)
- 1Mutc (零时区 月线)
获取历史K线数据
限速规则:20次/1s (IP)
HTTP请求 获取K线数据
- GET /api/spot/v1/market/history-candles
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID |
period | String | 是 | K线的时间单位,粒度(取值参考如下列表) |
endTime | String | 是 | ms,返回小于等于本时间之前的 |
limit | String | 否 | 查询条数 默认100,最大200 |
请求示例
curl "https://api.bitget.com/api/spot/v1/market/history-candles?symbol=BTCUSDT_SPBL&period=1min&endTime=1659080270000&limit=100"
返回数据:
{
"code":"00000",
"msg":"success",
"data":[
{
"open":"2.34517",
"high":"2.34771",
"low":"2.34214",
"close":"2.34555",
"quoteVol":"189631.101357091",
"baseVol":"80862.6823",
"usdtVol":"189631.101357091",
"ts":"1622091360000"
},
{
"open":"2.34391",
"high":"2.34903",
"low":"2.34391",
"close":"2.34608",
"quoteVol":"167725.002115681",
"baseVol":"71479.3205",
"usdtVol":"167725.002115681",
"ts":"1622091420000"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
ts | 系统时间戳 |
open | 开盘价格 |
high | 最高价格 |
low | 最低价格 |
close | 收盘价格 |
baseVol | 交易币成交量 |
quoteVol | 计价币成交量 |
usdtVol | usdt成交量 |
period
- 1min(1分钟)
- 5min(5分钟)
- 15min(15分钟)
- 30min(30分钟)
- 1h(1小时)
- 4h(4小时)
- 6h(6小时)
- 12h(12小时)
- 1day(1天)
- 3day (3天)
- 1week(1周)
- 1M (月线)
- 6Hutc (零时区 6小时线)
- 12Hutc (零时区12小时线)
- 1Dutc (零时区 1日线)
- 3Dutc (零时区 3日线)
- 1Wutc (零时区 周线)
- 1Mutc (零时区 月线)
获取深度数据
限速规则:20次/1s
HTTP请求 获取深度数据
- GET /api/spot/v1/market/depth
请求示例
curl "https://api.bitget.com/api/spot/v1/market/depth?symbol=BTCUSDT_SPBL&type=step0&limit=100"
返回数据
{
"code":"00000",
"msg":"success",
"data":{
"asks":[
[
"38084.5",
"0.0039"
],
[
"38085.7",
"0.0018"
],
[
"38086.7",
"0.0310"
],
[
"38088.2",
"0.5303"
]
],
"bids":[
[
"38073.7",
"0.4993000000000000"
],
[
"38073.4",
"0.4500"
],
[
"38073.3",
"0.1179"
],
[
"38071.5",
"0.2162"
]
],
"timestamp":"1622102974025"
}
}
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID |
type | String | 是 | 默认:step0: 取值:step0,step1,step2,step3,step4,step5 |
limit | String | 否 | 查询条数 默认150, 最大200 |
type: 统一向上取整 强制进一
- step0 正常显示
- step1 去掉一位小数
- step2 去掉两位小数
- step3 去掉三位小数
- step4 去掉三位小数 向上取整为5的倍数
- step5 去掉四位小数
示例 BTCUSDt priceScale 2 当前价格 39223.42
- step1 39223.5
- step2 39224.0
- step3 39230.0
- step4 39250.0
- step5 39300.0
获取合并深度数据
限速规则:20次/1s
HTTP请求 获取合并深度数据
- GET /api/spot/v1/market/merge-depth
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID |
precision | String | 否 | 价格精度,根据选择的精度作为步长返回累计深度,枚举值:scale0/scale1/scale2/scale3,scale0 不合并,默认值,一般情况下,scale1为交易对报价精度*10的合并深度,一般情况下,scale2为报价精度*100,一般情况下,scale3为报价精度*1000,一般情况下,0/1/2/3对应的精度以实际返回参数“scale”为准,每个交易对的报价精度都不一样,部分币对并没有scale 2,请求该币对不存在的scale将会按照最大scale处理。例:某个交易对只有scale 0/1,当请求scale2时自动降为scale1。 |
limit | String | 否 | 固定档位枚举值:1/5/15/50/max,默认档位100,当实际深度不满足limit时,按实际档位返回,传入max返回该交易对的最大档位 |
请求示例
curl "https://api.bitget.com/api/spot/v1/market/merge-depth?symbol=BTCUSDT_SPBL&precision=scale0&limit=5"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1692761101932,
"data": {
"asks": [
[
0.00000881,
1000000
],
[
0.00000900,
1000000
],
[
0.00001010,
1000000
],
[
0.00001020,
1110000
],
[
0.00001030,
110000
]
],
"bids": [
[
0.00000870,
130000
],
[
0.00000860,
130000
],
[
0.00000850,
130000
],
[
0.00000840,
130000
],
[
0.00000830,
130000
]
],
"ts": "1692761101940",
"scale": "0.00000001",
"precision": "scale0",
"isMaxPrecision": "NO"
}
}
返回值说明
参数名 | 参数类型 | 字段说明 |
---|---|---|
asks | Array | 当前价位的所有买单,如["38084.5","0.5"] 中,"38084.5"代表深度价格,"0.5"代表基础币数量 |
bids | Array | 当前价位的所有卖单 |
precision | String | 当前档位,例:scale 1 |
scale | String | 实际的精度值,例:0.1 |
isMaxPrecision | String | YES 表示当前已经是最大精度,NO 非最大精度 |
ts | String | 当前深度对应的时间 |
VIP费率
限速规则:10次/1s
HTTP请求
获取VIP费率数据
- GET /api/spot/v1/market/spot-vip-level
请求示例
curl "https://api.bitget.com/api/spot/v1/market/spot-vip-level"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1675759699382,
"data": [
{
"level": 1,
"dealAmount": "1000000",
"assetAmount": "50000",
"takerFeeRate": "0",
"makerFeeRate": "0",
"withdrawAmount": "300",
"withdrawAmountUSDT": "5000000"
}
]
}
返回值说明
参数名 | 参数类型 | 是否必须 | 字段说明 |
---|---|---|---|
level | Integer | Yes | VIP等级 |
dealAmount | BigDecimal | Yes | 近30日累计成交额,USDT |
assetAmount | BigDecimal | Yes | 资产总额,USDT |
takerFeeRate | BigDecimal | Yes | taker费率, 0值时真实费率请参考官方公告 |
makerFeeRate | BigDecimal | Yes | maker费率, 0值时真实费率请参考官方公告 |
withdrawAmount | BigDecimal | Yes | 24小时提币限额 (BTC) |
withdrawAmountUSDT | BigDecimal | Yes | 24小时提币限额 (USDT) |
钱包接口
划转
母账户发起
限速规则:5次/1s (uid)
HTTP请求
- POST /api/spot/v1/wallet/transfer
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
fromType | String | 是 | 转出账户类型 |
toType | String | 是 | 转入账户类型 |
amount | String | 是 | 划转金额 |
coin | String | 是 | 划转币种 |
symbol | String | 是 | 当 fromType or toType = margin_isolated 时必填 |
clientOid | String | 否 | 用户自定义ID |
- fromType, toType
- spot 接受转入转出多个币种
- mix_usdt 只接受转入转出USDT
- mix_usd 混合合约账户,只接受转入转出保证金币种,如BTC, ETH, EOS, XRP, USDC等
- mix_usdc 只接受转入转出USDC
- margin_cross 接受转入转出多个币种
- margin_isolated 接受转入转出多个币种
fromType/toType限制说明
fromType | toType | 说明 |
---|---|---|
spot | spot | 任意转 |
spot | mix_usdt | 只接受 USDT |
spot | mix_usd | 如 BTC, ETH, EOS, XRP, USDC |
spot | mix_usdc | 只接受 USDC |
mix_usdt | spot | 只接受 USDT |
mix_usdt | mix_usd | 禁止 |
mix_usdt | mix_usdc | 禁止 |
mix_usdt | mix_usdt | 只接受 USDT |
mix_usd | spot | 如 BTC, ETH, EOS, XRP, USDC |
mix_usd | mix_usdt | 禁止 |
mix_usd | mix_usdc | 只接受 USDC |
mix_usd | mix_usd | 如 BTC, ETH, EOS, XRP, USDC |
mix_usdc | spot | 只接受 USDC |
mix_usdc | mix_usdt | 禁止 |
mix_usdc | mix_usd | 只接受 USDC |
mix_usdc | mix_usdc | 只接受 USDC |
其它 | margin_cross | 只接受支持全仓现货杠杆的币种 |
其它 | margin_isolated | 只接受支持逐仓现货杠杆的币种 |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/wallet/transfer" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"fromType": "spot","toType": "mix_usdt","amount": "100","coin": "USDT"}'
返回数据:
{
"code":"00000",
"msg":"success"
}
- fromType, toType
- spot 接受转入转出多个币种
- mix_usdt 只接受转入转出USDT
- mix_usd 混合合约账户,只接受转入转出保证金币种,如BTC, ETH, EOS, XRP, USDC等
- mix_usdc 只接受转入转出USDC margin_cross 接受转入转出多个币种 margin_isolated 接受转入转出多个币种
划转V2
母账户发起
限速规则:5次/1s (uid)
HTTP请求
- POST /api/spot/v1/wallet/transfer-v2
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
fromType | String | 是 | 转出账户类型 |
toType | String | 是 | 转入账户类型 |
amount | String | 是 | 划转金额 |
coin | String | 是 | 划转币种 |
symbol | String | 是 | 当 fromType or toType = margin_isolated 时必填 |
clientOid | String | 否 | 用户自定义ID |
- fromType, toType
- spot 接受转入转出多个币种
- mix_usdt 只接受转入转出USDT
- mix_usd 混合合约账户,只接受转入转出保证金币种,如BTC, ETH, EOS, XRP, USDC等
- mix_usdc 只接受转入转出USDC margin_cross 接受转入转出多个币种 margin_isolated 接受转入转出多个币种
fromType/toType限制说明
fromType | toType | 说明 |
---|---|---|
spot | spot | 任意转 |
spot | mix_usdt | 只接受 USDT |
spot | mix_usd | 如 BTC, ETH, EOS, XRP, USDC |
spot | mix_usdc | 只接受 USDC |
mix_usdt | spot | 只接受 USDT |
mix_usdt | mix_usd | 禁止 |
mix_usdt | mix_usdc | 禁止 |
mix_usdt | mix_usdt | 只接受 USDT |
mix_usd | spot | 如 BTC, ETH, EOS, XRP, USDC |
mix_usd | mix_usdt | 禁止 |
mix_usd | mix_usdc | 只接受 USDC |
mix_usd | mix_usd | 如 BTC, ETH, EOS, XRP, USDC |
mix_usdc | spot | 只接受 USDC |
mix_usdc | mix_usdt | 禁止 |
mix_usdc | mix_usd | 只接受 USDC |
mix_usdc | mix_usdc | 只接受 USDC |
其它 | margin_cross | 只接受支持全仓现货杠杆的币种 |
其它 | margin_isolated | 只接受支持逐仓现货杠杆的币种 |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/wallet/transfer-v2" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"fromType": "spot","toType": "mix_usdt","amount": "100","coin": "USDT"}'
返回数据:
{
"code":"00000",
"msg":"success",
"data": {
"transferId":"123456",
"clientOrderId":"x123"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
transferId | 划转ID |
clientOrderId | Client Order ID |
- fromType, toType
- spot 接受转入转出多个币种
- mix_usdt 只接受转入转出USDT
- mix_usd 混合合约账户,只接受转入转出保证金币种,如BTC, ETH, EOS, XRP, USDC等
- mix_usdc 只接受转入转出USDC margin_cross 接受转入转出多个币种 margin_isolated 接受转入转出多个币种
母子账户划转
只支持从母账户发起。禁止从子账户发起
母子账户划转支持以下划转方式
划转方式 | 说明 |
---|---|
母账户到子账户 | 需要存在母子关系 |
子账户到子账户 | 需要归属于同一个母账户 |
子账户到母账户 | 需要存在母子关系 |
母子账户划转需要绑定IP白名单
转入/转出账户UID必须存在母子关系/兄弟关系
注意从交易账户转出时,全仓模式下保证金的减少会导致更大的交易风险
限速规则:2次/1s (uid)
HTTP请求
- POST /api/spot/v1/wallet/subTransfer
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/wallet/subTransfer" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"fromType": "spot","toType": "mix_usdt","amount": "100","coin": "USDT","clientOid":"12345","fromUserId":"1","toUserId":"2"}'
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
fromType | String | 是 | 转出账户类型 |
toType | String | 是 | 转入账户类型 |
amount | String | 是 | 划转金额 |
coin | String | 是 | 划转币种 |
clientOid | String | 是 | 用户自定义ID,唯一键,幂等控制 |
fromUserId | String | 是 | 转出账户UID |
toUserId | String | 是 | 转入账户UID |
转入/转出账户UID必须存在母子关系,没有母子关系的操作会返回异常
返回数据:
{
"code":"00000",
"msg":"success"
}
- fromType, toType
- spot 接受转入转出多个币种
- mix_usdt 只接受转入转出USDT
- mix_usd 混合合约账户,只接受转入转出保证金币种,如BTC, ETH, EOS, XRP, USDC等
- mix_usdc 只接受转入转出USDC margin_cross 接受转入转出多个币种 margin_isolated 接受转入转出多个币种
fromType/toType限制说明
fromType | toType | 说明 |
---|---|---|
spot | spot | 任意转 |
spot | mix_usdt | 只接受 USDT |
spot | mix_usd | 如 BTC, ETH, EOS, XRP, USDC |
spot | mix_usdc | 只接受 USDC |
mix_usdt | spot | 只接受 USDT |
mix_usdt | mix_usd | 禁止 |
mix_usdt | mix_usdc | 禁止 |
mix_usdt | mix_usdt | 只接受 USDT |
mix_usd | spot | 如 BTC, ETH, EOS, XRP, USDC |
mix_usd | mix_usdt | 禁止 |
mix_usd | mix_usdc | 只接受 USDC |
mix_usd | mix_usd | 如 BTC, ETH, EOS, XRP, USDC |
mix_usdc | spot | 只接受 USDC |
mix_usdc | mix_usdt | 禁止 |
mix_usdc | mix_usd | 只接受 USDC |
mix_usdc | mix_usdc | 只接受 USDC |
其它 | margin_cross | 只接受支持全仓现货杠杆的币种 |
其它 | margin_isolated | 只接受支持逐仓现货杠杆的币种 |
获取充币地址
限速规则:5次/1s (uid)
HTTP请求
- GET /api/spot/v1/wallet/deposit-address
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
coin | String | 是 | 币种 |
chain | String | 是 | 链名称 |
请求示例
curl "https://api.bitget.com/api/spot/v1/wallet/deposit-address?coin=USDT&chain=trc20" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据:
{
"code": "00000",
"msg": "success",
"data": {
"address": "1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv",
"chain": "BTC-Bitcoin",
"coin": "BTC",
"tag": "",
"url": "https://btc.com/1HPn8Rx2y6nNSfagQBKy27GB99Vbzg89wv"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
address | 充币地址 |
chain | 链名称 |
coin | 币种名称 |
tag | tag |
url | 区块链地址 |
提币
母账户发起
只是链上提币
限速规则:5次/1s (uid)
HTTP请求
- POST /api/spot/v1/wallet/withdrawal
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
coin | String | 是 | 币种 |
address | String | 是 | 提币地址 |
chain | String | 是 | 提币网路 |
tag | String | 否 | 地址tag |
amount | String | 是 | 提币数量 |
remark | String | 否 | 备注 |
clientOid | String | 否 | 客户端自定义Id 唯一健 |
'address' 应该在提币的 address book 里
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/wallet/withdrawal" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"coin": "USDT","address": "TBQ2LGFysnqkscvKqLBxnVVVw7ohiDvbdZ","chain": "trc20","amount": "10"}'
返回数据:
{
"code": "00000",
"msg": "success",
"data": "888291686266343424"
}
返回值说明
返回字段 | 字段说明 |
---|---|
data | 订单id |
提币V2
母账户发起
只是链上提币
限速规则:5次/1s (uid)
HTTP请求
- POST /api/spot/v1/wallet/withdrawal-v2
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
coin | String | 是 | 币种 |
address | String | 是 | 提币地址 |
chain | String | 是 | 提币网路 |
tag | String | 否 | 地址tag |
amount | String | 是 | 提币数量 |
remark | String | 否 | 备注 |
clientOid | String | 否 | 客户端自定义Id 唯一健 |
'address' 应该在提币的 address book 里
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/wallet/withdrawal-v2" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"coin": "USDT","address": "TBQ2LGFysnqkscvKqLBxnVVVw7ohiDvbdZ","chain": "trc20","amount": "10"}'
返回数据:
{
"code": "00000",
"msg": "success",
"data": {
"orderId":888291686266343424",
"clientOrderId":"123"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 订单ID |
clientOrderId | client order ID |
内部提币
母账户发起
内部提币 指双方用户都在本平台
通过uid形式直接提币,不走链上,不需要传地址
限速规则:5次/1s (uid)
HTTP请求
- POST /api/spot/v1/wallet/withdrawal-inner
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
coin | String | 是 | 币种 |
toUid | String | 是 | 收款方uid |
amount | String | 是 | 提币数量 |
clientOid | String | 否 | 客户端自定义ID 唯一健 |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/wallet/withdrawal-inner" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"coin": "USDT","toUid": "6314497154","amount": "10"}'
返回数据
{
"code": "00000",
"msg": "success",
"data": "888291686266343424"
}
返回值说明
返回字段 | 字段说明 |
---|---|
data | 订单id |
内部提币V2
母账户发起
内部提币 指双方用户都在本平台
通过uid形式直接提币,不走链上,不需要传地址
限速规则:5次/1s (uid)
HTTP请求
- POST /api/spot/v1/wallet/withdrawal-inner-v2
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
coin | String | 是 | 币种 |
toUid | String | 是 | 收款方uid |
amount | String | 是 | 提币数量 |
clientOid | String | 否 | 客户端自定义ID 唯一健 |
toType | String | 否 | 收款类型(email/mobile/uid) |
areaCode | String | 否 | 当收款方类型值为“mobile”时,该字段必填 |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/wallet/withdrawal-inner-v2" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"coin": "USDT","toUid": "6314497154","amount": "10"}'
返回数据
{
"code": "00000",
"msg": "success",
"data": {
"orderId":888291686266343424",
"clientOrderId":"123"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 订单ID |
clientOrderId | client order ID |
获取提币记录
限速规则:20次/1s
HTTP请求
- GET /api/spot/v1/wallet/withdrawal-list
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
coin | String | 否 | 币种 |
clientOid | String | 否 | clientOid |
startTime | String | 是 | 开始时间 (时间戳 毫秒) |
endTime | String | 是 | 结束时间 (时间戳 毫秒) |
pageNo | String | 否 | 查询页数 默认1 |
pageSize | String | 否 | 条数 默认20 最大100 |
请求示例
curl "https://api.bitget.com/api/spot/v1/wallet/withdrawal-list?coin=USDT&clientOid=123&startTime=1659036670000&endTime=1659076670000&pageNo=1&pageSize=20" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据:
{
"code": "00000",
"msg": "success",
"requestTime": 1654507973411,
"data": [
{
"id": "912533114861326336",
"txId": "912533114861326336",
"coin": "USDT",
"clientOid": "123",
"type": "withdraw",
"amount": "10.00000000",
"status": "success",
"toAddress": "7713789662",
"fee": "0.00000000",
"chain": "erc20",
"confirm": "0",
"tag": null,
"cTime": "1653290769222",
"uTime": "1653290769222"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
id | 订单id |
txId | 提现交易id |
coin | 币种名称 |
clientOid | clientOid |
type | 提币类型: 'withdraw' |
amount | 数量 |
status | 提币状态 |
toAddress | 提币地址 |
fee | 手续费 |
chain | 提币网络 |
confirm | 确认块数 |
tag | tag |
cTime | 创建时间 |
uTime | 修改时间 |
- status
- Pending 待初审
- pending_review 待复审
- Pending_fail 初审失败
- pending_review_fail 复审失败
- wallet_processing 钱包处理中
- wallet_fail 钱包处理失败
- cancel 取消
- reject 拒绝
- success 成功
- wait_frozen 待冻结
- wait_create_order 待创建钱包订单
- deposit_check 入金待审核
- deposit_check_fail 入金审核失败
- dealing 正在处理中
- frozen_fail 冻结失败
- wait_unfreeze 待解冻
- wait_deducted 待扣除
- wait_recharge 待入账
- wait_recharge_system 待系统入账
- recharge_fail_risk_wait_to_system 风控失败,待入系统账户
- risk_audit 风控审核中
- pre_success 待达到提币确认数
- wait_small_check 小额免审待检查待处理
- unknown 未知
获取充值记录
限速规则:20次/1s
HTTP请求
- GET /api/spot/v1/wallet/deposit-list
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
coin | String | 否 | 币种 |
startTime | String | 是 | 开始时间 (时间戳 毫秒) |
endTime | String | 是 | 结束时间 (时间戳 毫秒) |
pageNo | String | 否 | 查询页数 默认1 |
pageSize | String | 否 | 条数 默认20 最大100 |
请求示例
curl "https://api.bitget.com/api/spot/v1/wallet/deposit-list?coin=USDT&startTime=1659036670000&endTime=1659076670000&pageNo=1&pageSize=20" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据:
{
"code": "00000",
"msg": "success",
"requestTime": 1654507973411,
"data": [
{
"id": "912533114861326336",
"txId": "912533114861326336",
"coin": "USDT",
"type": "deposit",
"amount": "10.00000000",
"status": "success",
"toAddress": "7713789662",
"fee": "0.00000000",
"confirm":"10",
"chain": "erc20",
"tag": null,
"cTime": "1653290769222",
"uTime": "1653290769222"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
id | 订单id |
txId | 交易id |
coin | 币种名称 |
type | 充币类型: 'deposit' |
amount | 数量 |
status | 提币状态 |
toAddress | 充值地址 |
fee | 手续费 |
confirm | confirm, 可能为null |
chain | 充币网络 |
tag | tag |
cTime | 创建时间 |
uTime | 修改时间 |
- status
- Pending 待初审
- pending_review 待复审
- Pending_fail 初审失败
- pending_review_fail 复审失败
- wallet_processing 钱包处理中
- wallet_fail 钱包处理失败
- cancel 取消
- reject 拒绝
- success 成功
- wait_frozen 待冻结
- wait_create_order 待创建钱包订单
- deposit_check 入金待审核
- deposit_check_fail 入金审核失败
- dealing 正在处理中
- frozen_fail 冻结失败
- wait_unfreeze 待解冻
- wait_deducted 待扣除
- wait_recharge 待入账
- wait_recharge_system 待系统入账
- recharge_fail_risk_wait_to_system 风控失败,待入系统账户
- risk_audit 风控审核中
- pre_success 待达到提币确认数
- wait_small_check 小额免审待检查待处理
- unknown 未知
获取交易手续费率
限速规则:10次/1s
HTTP请求
- GET /api/user/v1/fee/query
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 币对(合约:BTCUSDT_UMCBL, 现货:BTCUSDT_SPBL, 杠杆:BTCUSDT) |
business | String | 是 | 业务类型(合约:mix, 现货:spot, 杠杆:margin) |
请求示例
curl "https://api.bitget.com/api/user/v1/fee/query?symbol=BTCUSDT_UMCBL&business=mix" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据:
{
"code": "00000",
"msg": "success",
"requestTime": 1683875302853,
"data": {
"makerRate": "0.0002",
"takerRate": "0.0006"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
makerRate | maker fee |
takerRate | taker fee |
账户接口
获取ApiKey信息
限速规则:1次/1s
HTTP请求
- GET /api/spot/v1/account/getInfo
请求示例
curl "https://api.bitget.com/api/spot/v1/account/getInfo" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code": "00000",
"msg": "success",
"data": {
"user_id": "714229403",
"inviter_id": "682221498",
"agent_inviter_code":null,
"channel":null,
"ips": "172.23.88.91",
"authorities": [
"trade",
"readonly"
],
"parentId":566624801,
"trader":false,
"isSpotTrader": false
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
user_id | uid |
inviter_id | 邀请人id |
agent_inviter_code | 渠道邀请码 |
channel | 渠道 |
ips | apikey 设置IP白名单 |
authorities | 权限 |
parentId | 母账户uid |
trader | 是否是交易员 |
isSpotTrader | 是否是现货交易员 |
获取账户资产
限速规则:10次/1s
HTTP请求
获取账户资产
- GET /api/spot/v1/account/assets
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
coin | String | 否 | 币种, 默认不传时,资产为0的币种记录也将返回 |
请求示例
curl "https://api.bitget.com/api/spot/v1/account/assets?coin=USDT" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code":"00000",
"message":"success",
"data":[
{
"coinId":"10012",
"coinName":"usdt",
"coinDisplayName":"usdt",
"available":"0",
"frozen":"0",
"lock":"0",
"uTime":"1622697148"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
coinId | 币种id |
coinName | 币种名称 |
coinDisplayName | 币种展示名称 |
available | 可用资产 |
frozen | 冻结资产, 通常是下单时冻结 |
lock | 锁仓资产,成为法币商家等的锁仓 |
uTime | 更新时间 |
获取有价账户资产
限速规则:10次/1s
HTTP请求 获取账户资产
- GET /api/spot/v1/account/assets-lite
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
coin | String | 否 | 币种, 默认不传时返回非0的币种记录,为0的币种不返回 |
请求示例
curl "https://api.bitget.com/api/spot/v1/account/assets-lite?coin=USDT" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code":"00000",
"message":"success",
"data":[
{
"coinId":"10012",
"coinName":"usdt",
"available":"0",
"frozen":"0",
"lock":"0",
"uTime":"1622697148"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
coinId | 币种id |
coinName | 币种名称 |
available | 可用资产 |
frozen | 冻结资产, 通常是下单时冻结 |
lock | 锁仓资产,成为法币商家等的锁仓 |
uTime | 更新时间 |
获取所有子账户现货资产
限速规则:1次/10s
HTTP请求
母账户发起,获取所有子账户现货资产
- POST /api/spot/v1/account/sub-account-spot-assets
请求参数
- N/A
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/account/sub-account-spot-assets" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d "{}"
返回数据
{
"code":"00000",
"message":"success",
"data":[
{
"userId": 9165454769,
"spotAssetsList": [
{
"coinId": 1,
"coinName": "BTC",
"available": "1.1",
"frozen": "0",
"lock": "1.1"
}
]
},
{
"userId": 1765254759,
"spotAssetsList": [
{
"coinId": 2,
"coinName": "ETH",
"available": "12.1",
"frozen": "0",
"lock": "1.1"
}
]
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
coinId | 币种id |
coinName | 币种名称 |
available | 可用资产 |
frozen | 冻结资产 |
lock | 锁仓资产 |
获取账单流水
限速规则 10次/1s
HTTP请求
获取账单流水
- POST /api/spot/v1/account/bills
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
coinId | Integer | 否 | 币种ID |
groupType | String | 否 | 账单大类型 groupType |
bizType | String | 否 | 业务类型 bizType |
after | String | 否 | 返回小于所传的billId |
before | String | 否 | 返回大于所传的billId |
limit | Integer | 否 | 返回结果的数量,默认100,最大 500 |
请求示例
curl "https://api.bitget.com/api/spot/v1/account/bills" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d '{
"coinId":"2",
"groupType":"deposit",
"bizType":"deposit",
"before":"987952085712531455",
"after":"987952085712531457",
"limit":"100"
}'
返回数据
{
"code":"00000",
"message":"success",
"data":[{
"cTime":"1622697148",
"coinId":"22",
"coinName":"usdt",
"groupType":"deposit",
"bizType":"transfer-in",
"quantity":"1",
"balance": "1",
"fees":"0",
"billId":"1291"
}]
}
返回值说明
返回字段 | 字段说明 |
---|---|
cTime | 创建时间 |
coinId | 币种Id |
coinName | 币种名称 |
groupType | 流水类型 |
bizType | 流水账单业务类型 |
quantity | 数量 |
balance | 划转之前的资产 |
fees | 手续费 |
billId | id |
- groupType
- deposit
- withdraw
- transaction
- transfer
- other
- bizType
- deposit
- withdraw
- buy
- sell
- transfer-in
- transfer-out
- system-lock
- user-lock
获取划转记录
限速规则 20次/1s
HTTP请求
- GET /api/spot/v1/account/transferRecords
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
coinId | Integer | 是 | 币种ID |
fromType | String | 是 | 账单大类型 |
after | Long | 是 | 传入终止时间,格式为时间戳,单位为秒 |
before | Long | 是 | 传入起始时间,格式为时间戳,单位为秒 |
clientOid | String | 否 | clientOid,精确匹配 |
limit | Integer | 否 | 返回结果的数量,默认100,最大 500 |
请求示例
curl "https://api.bitget.com/api/spot/v1/account/transferRecords?coinId=2&fromType=exchange&after=1659076670&before=1659076670&limit=100" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code":"00000",
"data":[
{
"coinName":"btc",
"status":"Successful",
"toType":"USD_MIX",
"toSymbol":"",
"fromType":"CONTRACT",
"fromSymbol":"BTC/USD",
"amount":"1000.00000000",
"tradeTime":"1631070374488",
"clientOid": "1",
"transferId": "997381107487641600"
}
],
"msg":"success",
"requestTime":1631608142260
}
返回值说明
返回字段 | 字段说明 |
---|---|
coinName | 币种名称 |
status | 划转状态: Successful, Failed, Processing |
toType | 转入账户类型 accountType |
toSymbol | 转入账户交易对 |
fromType | 转出账户类型 accountType |
fromSymbol | 转出账户交易对 |
amount | 数量 |
tradeTime | 交易时间 (毫秒时间戳) |
clientOid | client order ID |
transferId | Transfer ID |
- fromType / toType
- exchange 现货
- usdt_mix U本位合约账户
- usdc_mix USDC本位合约账户
- margin_cross 全仓杠杆账户
- margin_isolated 逐仓杠杆账户
订单接口
下单
限速规则:10次/1s
交易员限速规则: 1/s (uid)
HTTP请求 下单接口
- POST /api/spot/v1/trade/orders
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/trade/orders" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_SPBL","side": "buy","orderType": "limit","force":"normal","price":"23222.5","quantity":"1","clientOrderId":"myorder_16569403333"}'
返回数据
{
"code":"00000",
"msg":"success",
"data":{
"orderId":"1001",
"clientOrderId":"hgXjh89AsxleMSw"
}
}
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | symbol |
side | String | 是 | 交易方向 |
orderType | String | 是 | 交易类型 limit/market |
force | String | 是 | 订单类型 |
price | String | 否 | 限价价格 |
quantity | String | 是 | 委托数量, limit时表示base coin数量; market-buy表示quote coin数量 |
clientOrderId | String | 否 | 自定义订单ID |
重复的 clientOrderId
{
"code": "43118",
"msg": "clientOrderId duplicate"
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 订单ID |
clientOrderId | 自定义订单ID |
批量下单
限速规则 5次/1s
交易员限速规则: 1/sec (uid)
HTTP请求
批量下单
- POST /api/spot/v1/trade/batch-orders
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | symbol |
orderList | List | 是 | 下单集合 |
- orderList参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
side | String | 是 | 交易方向 |
orderType | String | 是 | 交易类型 limit/market |
force | String | 是 | 订单类型 |
price | String | 否 | 限价价格 |
quantity | String | 是 | 委托数量 |
clientOrderId | String | 否 | 自定义订单ID |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/trade/batch-orders" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_SPBL","orderList":[{"side":"buy","orderType": "limit","force":"normal","price":"23222.5","quantity":"1","clientOrderId":"myorder_16569403333"}] }'
返回参数
{
"code": "00000",
"msg": "success",
"requestTime": 1666336231317,
"data": {
"resultList": [
{
"orderId": "967249748427186178",
"clientOrderId": "1"
}
],
"failure": [
{
"orderId": "967249748427186178",
"clientOrderId": "1",
"errorMsg": "clientOrderId duplicate"
}
]
}
}
返回值说明
参数 | 描述 |
---|---|
resultList | 成功订单数组 |
> orderId | 订单ID |
> clientOrderId | 客户端订单ID |
failure | 失败订单数组 |
> orderId | 订单ID |
> clientOrderId | 客户端订单ID |
> errorMsg | 错误信息 |
撤单
限速规则 10次/1s
HTTP请求
撤单操作
- POST /api/spot/v1/trade/cancel-order
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | symbol |
orderId | String | 是 | 订单id |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/trade/cancel-order" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_SPBL","orderId": "34923828882"}'
返回参数
{
"code":"00000",
"message":"success",
"data":"34923828882"
}
撤单V2
限速规则 10次/1s
HTTP请求
撤单操作
- POST /api/spot/v1/trade/cancel-order-v2
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | symbol |
orderId | String | 否 | 订单id,和clientOid必填其中一个 |
clientOid | String | 否 | clientOid,和orderId必填其中一个 |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/trade/cancel-order-v2" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_SPBL","orderId": "34923828882"}'
返回参数
{
"code":"00000",
"message":"success",
"data":{
"orderId":"34923828881",
"clientOrderId":"xx001"
}
}
按币对撤单
限速规则 10次/1s
HTTP请求
撤单操作
- POST /api/spot/v1/trade/cancel-symbol-order
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | symbol |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/trade/cancel-symbol-order" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_SPBL"}'
返回参数
{
"code":"00000",
"message":"success",
"data":"BTCUSDT_SPBL"
}
撤单结果应做二次确认
批量撤单(单币对)
限速规则 10次/1s
HTTP请求
批量撤单请求
- POST /api/spot/v1/trade/cancel-batch-orders
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID |
orderIds | String[] | 是 | 订单id数组,最多50个 |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/trade/cancel-batch-orders" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_SPBL","orderIds": ["34923828882"]}'
返回参数
{
"code":"00000",
"message":"success",
"data":["34923828882"]
}
批量撤单V2(单币对)
限速规则 10次/1s
HTTP请求
批量撤单请求
- POST /api/spot/v1/trade/cancel-batch-orders-v2
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID |
orderIds | String[] | 否 | 订单id数组,与clientOids必填一个 |
clientOids | String[] | 否 | clientOid数组,与orderIds必填一个 |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/trade/cancel-batch-orders-v2" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_SPBL","orderIds": ["34923828882"]}'
返回参数
{
"code":"00000",
"message":"success",
"data":{
"resultList":[
{
"orderId":"34923828882",
"clientOrderId":"xxx002"
}
],
"failure":[
{
"clientOrderId":"xxx001",
"errorMsg":"duplicate clientOrderId",
"errorCode":"40725"
}
]
}
}
获取订单详情
限速规则 20次/1s
HTTP请求
根据订单id或者自定义id获取订单
- POST /api/spot/v1/trade/orderInfo
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 否 | 订单id,与clientOrderId二选一 |
clientOrderId | String | 否 | 自定义id,与orderId二选一 (clientOrderId必须是用户生成的才有效,且只能查询到24小时内的订单) |
订单取消或成交后24小时内,可以使用orderId/clientOrderId查询详情;24小时后,需要使用 获取历史委托列表 接口按orderId查询
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/trade/orderInfo" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_SPBL","orderId": "34923828882"}'
返回参数
{
"code": "00000",
"msg": "success",
"requestTime": 1684492945476,
"data": [
{
"accountId": "222222222",
"symbol": "TRXUSDT_SPBL",
"orderId": "1041901704004947968",
"clientOrderId": "c5e8a5e1-a07f-4202-8061-b88bd598b264",
"price": "0",
"quantity": "10.0000000000000000",
"orderType": "market",
"side": "buy",
"status": "full_fill",
"fillPrice": "0.0699782527055350",
"fillQuantity": "142.9015000000000000",
"fillTotalAmount": "9.9999972790000000",
"enterPointSource": "API",
"feeDetail": "{\"BGB\":{\"deduction\":true,\"feeCoinCode\":\"BGB\",\"totalDeductionFee\":-0.017118519726,\"totalFee\":-0.017118519726,\"newFees\":{\"t\":1,\"d\":1,\"r\":1,"\c\":1}}}",
"orderSource": "market",
"cTime": "1684134644509"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
accountId | 账户id |
symbol | 产品ID |
orderId | 订单id |
clientOrderId | 自定义id |
price | 委托价格 |
quantity | 委托数量(orderType=limit时表示base coin; orderType=market时表示quote coin) |
orderType | 委托类型 |
side | 委托方向 |
status | 订单状态 |
fillPrice | 成交价格 |
fillQuantity | 成交数量 |
fillTotalAmount | 成交总额 |
enterPointSource | enterPointSource |
cTime | 创建时间 (时间戳秒) |
feeDetail | 手续费明细 |
> deduction | 是否抵扣 |
> feeCoinCode | 手续费币种, 如BGB |
> totalDeductionFee | 抵扣手续费 |
> totalFee | 总手续费 |
> newFees | Object |
>> t | 总手续费, 'buy'时按左币计算, 'sell'时按右币计算 |
>> d | 抵扣手续费: BGB 数量 |
>> r | 实付手续费, 'buy'时按左币计算, 'sell'时按右币计算 |
>> c | 抵扣券抵扣的金额: 'buy'时按左币计算, 'sell'时按右币计算 |
orderSource | orderSource |
获取未成交列表
限速规则 20次/1s
HTTP请求
获取未成交和部分成交未撤单的订单
- POST /api/spot/v1/trade/open-orders
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 否 | 产品ID,如果查全部传空 |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/trade/open-orders" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_SPBL"}'
返回参数
{
"code":"00000",
"message":"success",
"data":[{
"accountId":"10012",
"symbol":"btcusdt_spbl",
"orderId":"2222222",
"clientOrderId":"xxxxxxx",
"price":"34829.12",
"quantity":"1",
"orderType":"limit",
"side":"buy",
"status":"new",
"fillPrice":"0",
"fillQuantity":"0",
"fillTotalAmount":"0",
"enterPointSource": "WEB",
"cTime":"1622697148"
}]
}
返回值说明
返回字段 | 字段说明 |
---|---|
accountId | 账户id |
symbol | 产品ID |
orderId | 订单id |
clientOrderId | 自定义id |
price | 委托价格 |
quantity | 委托数量(orderType=limit时表示base coin; orderType=market时表示quote coin) |
orderType | 委托类型 |
side | 委托方向 |
status | 订单状态 |
fillPrice | 累计成交价格 |
fillQuantity | 累计成交数量 |
fillTotalAmount | 成交总额 |
enterPointSource | enterPointSource |
cTime | 创建时间 (时间戳秒) |
获取历史委托列表
限速规则 20次/1s
HTTP请求
获取全部成交和已撤销的订单
- POST /api/spot/v1/trade/history
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品ID |
after | String | 否 | orderId, 返回 小于该orderId 数据 |
before | String | 否 | orderId, 返回 大于orderId 数据 |
limit | Integer | 否 | 返回结果的数量,默认100,最大 500 |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/trade/history" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_SPBL","after":"1659076670000","before":"1659076670000","limit":"100"}'
返回参数
{
"code": "00000",
"msg": "success",
"requestTime": 1684493060724,
"data": [
{
"accountId": "2222222222",
"symbol": "TRXUSDT_SPBL",
"orderId": "1041901704004947968",
"clientOrderId": "c5e8a5e1-a07f-4202-8061-b88bd598b264",
"price": "0",
"quantity": "10.0000000000000000",
"orderType": "market",
"side": "buy",
"status": "full_fill",
"fillPrice": "0.0699782527055350",
"fillQuantity": "142.9015000000000000",
"fillTotalAmount": "9.9999972790000000",
"enterPointSource": "API",
"feeDetail": "{\"BGB\":{\"deduction\":true,\"feeCoinCode\":\"BGB\",\"totalDeductionFee\":-0.017118519726,\"totalFee\":-0.017118519726,\"newFees\":{\"t\":1,\"d\":1,\"r\":1,"\c\":1}}}",
"orderSource": "market",
"cTime": "1684134644509"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
accountId | 账户id |
symbol | 产品ID |
orderId | 订单id |
clientOrderId | 自定义id |
price | 委托价格 |
quantity | 委托数量(orderType=limit时表示base coin; orderType=market时表示quote coin) |
orderType | 委托类型 |
side | 委托方向 |
status | 订单状态 |
fillPrice | 成交价格 |
fillQuantity | 成交数量 |
fillTotalAmount | 成交总额 |
enterPointSource | enterPointSource |
cTime | 创建时间 (时间戳秒) |
feeDetail | 手续费明细 |
> deduction | 是否抵扣 |
> feeCoinCode | 手续费币种, 如BGB |
> totalDeductionFee | 抵扣手续费 |
> totalFee | 总手续费 |
> newFees | Object |
>> t | 总手续费, 'buy'时按左币计算, 'sell'时按右币计算 |
>> d | 抵扣手续费: BGB 数量 |
>> r | 实付手续费, 'buy'时按左币计算, 'sell'时按右币计算 |
>> c | 抵扣券抵扣的金额: 'buy'时按左币计算, 'sell'时按右币计算 |
orderSource | orderSource |
获取成交明细
限速规则 20次/1s
HTTP请求
获取成交的历史明细
- POST /api/spot/v1/trade/fills
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品Id |
orderId | String | 否 | 订单ID |
after | String | 否 | Max orderId, 返回小于 orderId 的数据 |
before | String | 否 | Min orderId 返回大于等于 orderId 的数据 |
limit | Integer | 否 | 返回结果的数量,默认100,最大 500 |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/trade/fills" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"symbol": "BTCUSDT_SPBL","orderId":"34923828882","after":"349234552212","before":"34923775522","limit":"100"}'
返回参数
{
"code":"00000",
"message":"success",
"data":[{
"accountId":"1001",
"symbol":"btcusdt_spbl",
"orderId":"100021",
"fillId":"102211",
"orderType":"limit",
"side":"buy",
"fillPrice":"38293.12",
"fillQuantity":"1",
"fillTotalAmount":"38293.12",
"cTime":"1622697148",
"feeCcy":"btc",
"fees":"0.0001"
}]
}
返回值说明
返回字段 | 字段说明 |
---|---|
accountId | 账户id |
symbol | 产品ID |
orderId | 订单id |
fillId | 成交id |
orderType | 委托类型 |
side | 委托方向 |
fillPrice | 成交价格 |
fillQuantity | 成交数量 |
fillTotalAmount | 成交总额 |
cTime | 创建时间 (时间戳秒) |
feeCcy | 手续费币种 |
fees | 手续费 |
下计划委托
限速规则 20次/1s
HTTP请求
下计划委托
- POST /api/spot/v1/plan/placePlan
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品Id |
side | String | 是 | 方向 (buy/sell) |
triggerPrice | BigDecimal | 是 | 触发价格 |
executePrice | BigDecimal | 否 | 执行价格,orderType=limit时不能为空 |
size | BigDecimal | 是 | 购买数量,orderType=limit时为base coin数量;orderType=market时为quote coin数量 |
triggerType | String | 是 | 触发类型 (fill_price/market_price) |
orderType | String | 是 | 订单类型 (limit/market) |
clientOid | String | 否 | 客户自定义order ID, 幂等控制 |
timeInForceValue | String | 否 | 订单有效期 |
placeType | String | 否 | 下单类型(按照数量下单类型:amount ,按照金额下单类型:total) |
请求
shell curl -X POST "https://api.bitget.com/api/spot/v1/plan/placePlan" \ -H "ACCESS-KEY:you apiKey" \ -H "ACCESS-SIGN:*******" \ -H "ACCESS-PASSPHRASE:*****" \ -H "ACCESS-TIMESTAMP:1659076670000" \ -H "locale:en-US" \ -H "Content-Type: application/json" \ -d \'{"symbol": "TRXUSDT_SPBL", "side": "buy", "triggerPrice": 0.041572, "executePrice": "0.041572", "size": 151, "triggerType": "market_price", "orderType": "limit","clientOid": "12345", "timeInForceValue": "normal"}'
返回参数
{
"code": "00000",
"msg": "success",
"requestTime": 1668134576535,
"data": {
"orderId": "974792555020390400",
"clientOrderId": "974792554995224576"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 订单ID |
clientOrderId | 自定义ID |
修改计划委托
限速规则 20次/1s
HTTP请求
- POST /api/spot/v1/plan/modifyPlan
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 否 | 订单ID, 'orderId' 或 'clientOid' 必需提供一个 |
clientOid | String | 否 | clientOid, 'orderId' 或 'clientOid' 必需提供一个 |
triggerPrice | BigDecimal | 是 | 触发价格 |
executePrice | BigDecimal | 否 | 执行价格 |
size | String | 否 | 购买数量 |
orderType | String | 是 | 订单类型 (limit/market) |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/plan/modifyPlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"orderId": "974792060738441216", "triggerPrice": 0.041222, "executePrice":"0.041272", "size": 156, "orderType":"limit"}'
返回参数
{
"code": "00000",
"msg": "success",
"requestTime": 1668136575920,
"data": {
"orderId": "974792060738441216",
"clientOrderId": "974792554995224576"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 订单ID |
clientOrderId | 自定义ID |
撤销计划委托
限速规则 20次/1s
HTTP请求
撤销计划委托
- POST /api/spot/v1/plan/cancelPlan
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 否 | 订单ID, 'orderId' 或 'clientOid' 必需提供一个 |
clientOid | String | 否 | clientOid, 'orderId' 或 'clientOid' 必需提供一个 |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/plan/cancelPlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"orderId": "974792060738441216"}'
返回参数
{
"code": "00000",
"msg": "success",
"requestTime": 1668134497496,
"data": "974792060738441216"
}
返回值说明
返回字段 | 字段说明 |
---|---|
data | orderId或clientOid,原值返回 |
获取当前计划委托
限速规则 20次/1s
HTTP请求
获取当前计划委托
- POST /api/spot/v1/plan/currentPlan
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品Id |
pageSize | String | 是 | 分页 |
lastEndId | String | 否 | 最后ID (分页需要) |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/plan/currentPlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{ "symbol": "TRXUSDT_SPBL", "pageSize":"20" }'
返回参数
{
"code": "00000",
"msg": "success",
"requestTime": 1668134581005,
"data": {
"nextFlag": false,
"endId": 974792555020390400,
"orderList": [
{
"orderId": "974792555020390400",
"clientOid":"xxx001",
"symbol": "TRXUSDT_SPBL",
"size": "151",
"executePrice": "0.041572",
"triggerPrice": "0.041572",
"status": "not_trigger",
"orderType": "limit",
"side": "buy",
"triggerType": "fill_price",
"enterPointSource": "API",
"cTime": "1668134576563"
}
]
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 订单ID |
clientOid | Client Order ID |
symbol | 产品ID |
size | 购买数量,orderType=limit时为base coin数量;orderType=market时为quote coin数量 |
executePrice | 执行价格 |
triggerPrice | 触发价格 |
status | 状态 |
orderType | 订单类型 |
side | 购买方向 |
triggerType | 触发类型 |
enterPointSource | enterPointSource |
cTime | 创建时间 |
placeType | 下单类型 |
获取历史计划委托
限速规则 20次/1s
HTTP请求
获取历史改计划委托
- POST /api/spot/v1/plan/historyPlan
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | String | 是 | 产品Id |
pageSize | String | 是 | 分页 |
startTime | String | 是 | 开始时间 (托管子账户访问时,StartTime 时间不能早于 绑定开始的时间) |
endTime | String | 是 | 结束时间 |
lastEndId | String | 否 | 最后ID (分页需要) |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/plan/historyPlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{ "symbol": "TRXUSDT_SPBL", "pageSize":"20", "startTime":"1667889483000", "endTime":"1668134732000" }'
返回参数
{
"code": "00000",
"msg": "success",
"requestTime": 1668134626684,
"data": {
"nextFlag": false,
"endId": 974792060738441216,
"orderList": [
{
"orderId": "974792060738441216",
"clientOid":"xxx001",
"symbol": "TRXUSDT_SPBL",
"size": "156",
"executePrice": "0.041272",
"triggerPrice": "0.041222",
"status": "cancel",
"orderType": "limit",
"side": "buy",
"triggerType": "fill_price",
"enterPointSource": "API",
"cTime": "1668134458717"
}
]
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 订单ID |
clientOid | Client Order ID |
symbol | 产品ID |
size | 购买数量,orderType=limit时为base coin数量;orderType=market时为quote coin数量 |
executePrice | 执行价格 |
triggerPrice | 触发价格 |
status | 状态 |
orderType | 订单类型 |
side | 购买方向 |
triggerType | 触发类型 |
enterPointSource | enterPointSource |
cTime | 创建时间 |
placeType | 下单类型 |
批量撤销计划委托单
限速规则 10次/1s
HTTP请求
获取历史改计划委托
- POST /api/spot/v1/plan/batchCancelPlan
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
symbols | List |
否 | 币对集合:["BTCUSDT_SPBL", "ETHUSDT_SPNL"], 请注意,没传币对的时候会撤销所有现货计划委托单 |
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/plan/batchCancelPlan" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{ "symbols": ["BTCUSDT_SPBL", "ETHUSDT_SPNL"] }'
返回参数
{
"code": "00000",
"msg": "success",
"requestTime": 1683876261117,
"data": [
{
"orderId": "10401817882538259200",
"clientOid": "10408117882913093376",
"result": true
},
{
"orderId": "10401817887238259200",
"clientOid": "10401817882213193376",
"result": true
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 委托订单ID |
clientOid | 委托订单 Client Order ID |
result | 撤销成功 |
P2P接口
P2P商家列表
限速规则 10次/1s
HTTP请求
- GET /api/p2p/v1/merchant/merchantList
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
online | String | 否 | 是否在线 (yes/no) |
merchantId | String | 否 | 商家ID |
lastMinId | String | 否 | 上一次查询返回的minId,返回ID小于minId的数据 |
pageSize | String | 否 | 查询条数(默认100) |
请求示例
curl "https://api.bitget.com/api/p2p/v1/merchant/merchantList?online=yes&pageSize=20" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1681195810516,
"data": {
"resultList": [
{
"registerTime": "1678674575000",
"nickName": "zed-test1",
"isOnline": "no",
"merchantId": "3784051421",
"averagePayment": "0",
"averageRealese": "0",
"totalTrades": "0",
"totalBuy": "0",
"totalSell": "0",
"totalCompletionRate": "0",
"thirtyTrades": "8",
"thirtySell": "4",
"thirtyBuy": "4",
"thirtyCompletionRate": "0.8"
}
],
"minId": "594"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
resultList | 查询响应array |
> registerTime | 注册时间 |
> nickName | 昵称 |
> isOnline | 是否在线: no/yes |
> merchantId | 商家ID |
> averagePayment | 平均支付时间,分钟 |
> averageRealese | 平均放币时间,分钟 |
> totalTrades | 总交易订单数 |
> totalBuy | 总买单数 |
> totalSell | 总卖单数 |
> totalCompletionRate | 总成交率 |
> thirtyTrades | 30日总成交数 |
> thirtySell | 30日卖单数 |
> thirtyBuy | 30日买单数 |
> thirtyCompletionRate | 30日成交率 |
minId | 返回结果中的最小merchantId |
商家查询自己信息
限速规则 10次/1s
HTTP请求
- GET /api/p2p/v1/merchant/merchantInfo
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|
请求示例
curl "https://api.bitget.com/api/p2p/v1/merchant/merchantInfo" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1681194805204,
"data": {
"registerTime": "1672039640000",
"nickName": "lz",
"realName": "M***K",
"merchantId": "2569373299",
"averagePayment": "172695",
"averageRealese": "33009",
"totalTrades": "2",
"totalBuy": "1",
"totalSell": "0",
"totalCompletionRate": "1",
"thirtyTrades": "12",
"thirtySell": "4",
"thirtyBuy": "8",
"thirtyCompletionRate": "0.71",
"kycFlag": true,
"emailBindFlag": true,
"mobileBindFlag": true,
"email": "****@gmail.com",
"mobile": "18*******34"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
registerTime | 注册时间 |
nickName | 昵称 |
realName | 姓名 |
merchantId | 商家ID |
kycFlag | 是否KYC: true/false |
emailBindFlag | 是否绑定email: true/false |
mobileBindFlag | 是否绑定手机号: true/false |
mobile | 手机号 |
averagePayment | 平均支付时间, 分钟 |
averageRealese | 平均放币时间, 分钟 |
totalTrades | 总交易订单数 |
totalBuy | 总买单数 |
totalSell | 总卖单数 |
totalCompletionRate | 总成交率 |
thirtyTrades | 30日总成交数 |
thirtySell | 30日卖单数 |
thirtyBuy | 30日买单数 |
thirtyCompletionRate | 30日成交率 |
商家获取广告单
限速规则: 10次/1s (uid)
HTTP请求
- GET /api/p2p/v1/merchant/advList
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
advNo | String | 否 | 广告单号 |
type | String | 否 | buy/sell |
status | String | 否 | 广告单状态 |
languageType | String | 否 | zh-CN/en-US |
coin | String | 否 | 数字货币 |
fiat | String | 否 | 法币 |
orderBy | String | 否 | 排序字段(desc):createTime/price 默认createTime |
payMethodId | String | 否 | 支付方式id |
lastMinId | String | 否 | 上一次查询返回的minId,返回advId小于指定lastMinId的数据 |
startTime | String | 是 | 开始时间,ms |
endTime | String | 否 | 结束时间,ms |
pageSize | String | 否 | 查询条数,默认100 |
请求示例
curl "https://api.bitget.com/api/p2p/v1/merchant/advList?startTime=1659403328000&endTime=1659410528000&pageSize=20" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1681198612226,
"data": {
"advList": [
{
"advId": "100",
"advNo": "1012099637487755264",
"type": "buy",
"amount": "100",
"dealAmount": "0",
"coin": "USDT",
"price": "1",
"coinPrecision": "4",
"fiatCode": "USD",
"fiatPrecision": "2",
"fiatSymbol": "$",
"status": "online",
"hide": "no",
"maxAmount": "100",
"minAmount": "10",
"payDuration": "5",
"turnoverNum": "1",
"turnoverRate": "1.00",
"remark": null,
"userLimit": {
"minCompleteNum": "0",
"maxCompleteNum": "0",
"placeOrderNum": "0",
"allowMerchantPlace": "no",
"thirtyCompleteRate": "0",
"country": ""
},
"paymentMethod": [
{
"paymentMethod": "",
"paymentId": "3",
"paymentInfo": [
{
"name": "",
"required": true,
"type": "number"
},
{
"name": "",
"required": true,
"type": "file"
}
]
}
],
"ctime": "1677029278156"
}
],
"minId": "100"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
advList | 查询响应array |
> advId | ID |
> advNo | 广告单号 |
> type | 买/卖类型:sell/buy |
> amount | 广告单总数量 |
> dealAmount | 已成交数量 |
> coin | 币(BGB,USDT,BTC,ETH) |
> price | 价格(USD, JPY, CNY) |
> coinPrecision | 币的小数位 |
> fiatCode | 法币名称 |
> fiatPrecision | 法币小数位 |
> fiatSymbol | 法币符号 |
> status | 状态 |
> hide | 广告单是否隐藏: yes/no |
> maxAmount | 最大下单数量 |
> minAmount | 最小下单数量 |
> payDuration | 下单后支付时间期限, min |
> turnoverNum | 商户 成单总数 |
> turnoverRate | 成交率 |
> remark | 备注 |
> ctime | 创建时间, ms |
> userLimit | 广告单限制Array:以下规则用户禁止下单 |
>> minCompleteNum | 用户完成下单最小数量 |
>> maxCompleteNum | 用户完成下单最大数量 |
>> placeOrderNum | 用户在此广告单下最多可以下多少单 |
>> allowMerchantPlace | 是否允许商家下单 |
>> thirtyCompleteRate | 30日成交率 |
> paymentMethod | 支付方式Array |
>> paymentMethod | 支付名称 |
>> paymentId | 支付ID |
>> paymentInfo | 支付方式详情信息 |
>>> required | 是否必须: true/false |
>>> name | 支付详细说明 |
>>> type | 支付方式详情信息类型 |
> merchantCertifiedResult | 商家认证 |
>> imageUrl | 金牌商家认证图片 |
>> desc | 金牌商家认证描述 |
minId | 返回结果的最小advId |
商家获取P2P订单
限速规则: 10次/1s (uid)
HTTP请求
- GET /api/p2p/v1/merchant/orderList
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
advNo | String | 是 | 广告单号 |
type | String | 否 | buy/sell |
orderNo | String | 否 | 订单号 |
status | String | 否 | p2p order status |
languageType | String | 是 | zh-CN/en-US |
coin | String | 否 | 数字货币 |
fiat | String | 否 | 法币 |
lastMinId | String | 否 | 上一次查询返回的minId,返回advNo小于minId的数据 |
startTime | String | 是 | 开始时间, ms |
endTime | String | 否 | 结束时间, ms |
pageSize | String | 否 | 查询条数, 默认100 |
请求示例
curl "https://api.bitget.com/api/p2p/v1/merchant/orderList?startTime=1659403328000&endTime=1659410528000&pageSize=20" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1681201761390,
"data": {
"orderList": [
{
"orderId": "557",
"orderNo": "1029222647482966017",
"advNo": "1027001359783845889",
"price": "1",
"count": "11",
"type": "buy",
"fiat": "USD",
"coin": "USDT",
"withdrawTime": "",
"representTime": "",
"paymentTime": "",
"releaseCoinTime": "",
"amount": "11",
"buyerRealName": "",
"sellerRealName": "兰州",
"status": "cancelled",
"paymentInfo": {
"paymethodName": "paypal",
"paymethodId": "3",
"paymethodInfo": [
{
"name": "繁体中文",
"required": true,
"type": "number",
"value": "11****"
},
{
"name": "繁体中文",
"required": true,
"type": "file",
"value": "http://qrc.bitgetapp.com/otc/images/20230116/498ab1b8-3ba6-44bd-9570-b3e5c118233f.jpg"
}
]
},
"ctime": "1681111722251"
}
],
"minId": "557"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderList | 查询响应array |
> orderId | ID |
> orderNo | 订单号 |
> advNo | 广告单号 |
> type | 买/卖类型:buy/sell |
> count | 下单数量 |
> coin | 币 |
> price | 价格 |
> fiat | 法币名称 |
> withdrawTime | 本条订单资金提现时间 |
> representTime | 申诉时间 |
> releaseCoinTime | 放币时间 |
> paymentTime | 付款时间 |
> amount | 下单金额 |
> status | p2p order status |
> buyerRealName | 买家姓名 |
> sellerRealName | 卖家姓名 |
> ctime | 创建时间 |
> paymentInfo | 支持的支付方式 |
>> paymethodName | 支付方式名称 |
>> paymethodId | 支付方式ID |
>> paymethodInfo | 支付方式详情 |
>>> name | 支付详情名称 |
>>> required | 是否必须: true/false |
>>> type | 类型, number/file, 请忽略本参数 |
>>> value | 支付信息值 |
minId | 返回记录的最小orderId |
子母账户
以下接口只限于母账户请求,并且只限于创建/修改虚拟子账户
母账户ApiKey 需要绑定ip 白名单
创建虚拟子账户
限速规则:5次/1s (uid)
HTTP请求 下单接口
- POST /api/user/v1/sub/virtual-create
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
subName | List |
是 | 虚拟昵称 长度为8位的英文字母 全局唯一 |
请求示例
curl -X POST "https://api.bitget.com/api/user/v1/sub/virtual-create" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"subName": ["bitgeton"]}'
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1682660169412,
"data": {
"failAccounts": [
"guningfh@virtual-bitget.com"
],
"successAccounts": [
{
"subUid": "9837924274",
"subName": "guningfk@virtual-bitget.com",
"status": "normal",
"auth": [
"contract_trade",
"spot_trade"
],
"remark": null,
"cTime": "1682660169573"
}
]
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
subUid | 子账户uid |
subName | 虚拟邮箱 |
status | 子账户状态 |
auth | 子账户权限 |
remark | 备注 |
cTime | 子账户创建时间 |
- status
- normal 正常
- freeze 冻结
- auth
- spot_trade 只能现货交易
- contract_trade 只能合约交易
- readonly
- failAccounts 创建失败的账户
- 账户昵称存在重复
- 创建子账户创建数量达到限制
修改虚拟子账户
限速规则:5次/1s (uid)
HTTP请求
- POST /api/user/v1/sub/virtual-modify
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
subUid | String | 是 | 子账号Uid |
perm | String | 是 | 权限 逗号分隔 |
status | String | 是 | 子账号状态 |
请求示例
curl -X POST "https://api.bitget.com/api/user/v1/sub/virtual-create" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"subUid": "","perm":"spot_trade,contract_trade", "status":"normal"}'
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1682660666458,
"data": "success"
}
- status
- normal 正常
- freeze 冻结
- auth
- spot_trade 只能现货交易
- contract_trade 只能合约交易
- readonly 只读权限
批量创建虚拟子账户和ApiKey
此接口可以把虚拟子账户和子账户apikey 一起进行创建,创建的虚拟子账户默认是合约和现货权限都有
限速规则:1次/1s (uid)
HTTP请求
- POST /api/user/v1/sub/virtual-api-batch-create
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
list | List | ||
-- subName | String | 是 | 虚拟昵称 长度为8位的英文字母 |
-- passphrase | String | 是 | 口令 长度为 8~32位的英文字母+数字 |
-- label | String | 是 | 子账户备注 长度20 |
-- ip | String | 否 | 虚拟子账户ApiKey ip 白名单,英文逗号分割,最大30 |
-- perm | String | 否 | 子账户apiKey 权限 |
请求示例
curl -X POST "https://api.bitget.com/api/user/v1/sub/virtual-api-batch-create" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"list":[{"subName":"armendon","passphrase":"1r1b6uX6PQ9tbKwa","perm":"spot_trade,contract_trade","remark":"1681808312065"}]}'
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1682662465346,
"data": {
"list": [
{
"subUid": "4236327146",
"subName": "armendon@virtual-bitget.com",
"label": "1681808312065",
"apiKey": "bg_d32ff9d9**********c3d2bc5e23",
"secretKey": "af22848395e3d97e08dbd9a876a1XXXXXXXXXXXXXXX",
"perm": "spot_trade,contract_trade",
"ip": ""
}
]
}
}
- perm
- spot_trade 只能现货交易
- contract_trade 只能合约交易
- readonly 只读权限
获取虚拟子账户列表
限速规则:10次/1s (uid)
HTTP请求
- GET /api/user/v1/sub/virtual-list
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
pageSize | String | 否 | 默认20 最大100 |
pageNo | String | 否 | 页码 默认 1 |
status | String | 否 | 子账户状态 |
请求示例
curl "https://api.bitget.com/api/user/v1/sub/virtual-list?pageSize=20&pageNo=1" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1656589586807,
"data": {
"hasNextPage": false,
"lastEndId": 51,
"list": [
{
"subUid": "7713789662",
"subName": "mySub01@bgbroker6314497154",
"status": "normal",
"auth": [
"readonly",
"spot_trade",
"contract_trade"
],
"remark": "mySub01",
"cTime": "1653287983475"
}
]
}
}
- status
- normal 正常
- freeze 冻结
- auth
- spot_trade 只能现货交易
- contract_trade 只能合约交易
- readonly 只读权限
创建虚拟子账户ApiKey
限速规则:5次/1s (uid)
HTTP请求
- POST /api/user/v1/sub/virtual-api-create
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
subUid | String | 是 | 子账户uid |
passphrase | String | 是 | 口令 长度为 8~32位的英文字母+数字 |
label | String | 是 | 备注 长度20 |
ip | String | 否 | ip,英文逗号分隔,最多30个 |
perm | String | 否 | 权限 |
请求示例
curl -X POST "https://api.bitget.com/api/user/v1/sub/virtual-api-create" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"subUid":"1111111","passphrase":"1r1b6uX6PQ9tbKwa","perm":"spot_trade,contract_trade","label":"1681808312065","ip":"127.0.0.1,182.168.0.1"}'
返回数据:
{
"code": "00000",
"msg": "success",
"data":
{
"subUid": "58281113",
"label": "sub api",
"apiKey": "bg_djwwwls98a1s0dLK3deq2",
"secretKey": "Sjwwwls98a1s0dLK3deq2",
"perm": "spot_trade,contract_trade",
"ip": "127.127.127.127"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
subUid | 子账户uid |
label | apikey备注 |
apikey | apikey |
secretKey | 私钥 |
perm | 权限 |
ip | 请求ip,引文逗号分割, 最大30 |
- perm
- readonly
- spot_trade
- contract_trade
修改虚拟子账户ApiKey
限速规则:5次/1s (uid)
HTTP请求
- POST /api/user/v1/sub/virtual-api-modify
请求参数(Request Body)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
subUid | String | 是 | 子账户uid |
subApiKey | String | 是 | 子账户apikey |
passphrase | String | 是 | 子账户apikey口令 用来验证apiKey |
label | String | 是 | 备注 |
ip | String | 否 | ip(覆盖),英文逗号分隔,最多30个,如果不传则ip白名单设置为空 |
perm | String | 否 | 权限 (覆盖) 英文逗号分隔 |
请求示例
curl -X POST "https://api.bitget.com/api/user/v1/sub/virtual-api-modify" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"subUid":"9837924274","subApiKey":"bg_19aab20aafdb177408faf3fba6580656", "passphrase":"1r1b6uX6PQ9tbKwa","perm":"spot_trade,contract_trade","label":"1681808312065","ip":"127.0.0.1,182.168.0.1"}'
返回数据:
{
"code": "00000",
"msg": "success",
"requestTime": 1682661350849,
"data": {
"subUid": "9837924274",
"label": "1682396356594",
"apiKey": "bg_19aab20aafdb177408faf3fba6580656",
"perm": "spot_trade",
"ip": ""
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
subUid | 子账户uid |
label | apikey备注 |
apikey | apikey |
perm | 权限 |
ip | 子账户apikey ip白名单 |
- perm
- readonly
- spot_trade
- contract_trade
查询子账户ApiKey 列表
限速规则:10次/1s (uid)
HTTP请求
- GET /api/user/v1/sub/virtual-api-list
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
subUid | String | 是 | 子账户uid |
请求示例
curl "https://api.bitget.com/api/user/v1/sub/virtual-api-list?subUid=9837924274" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
返回数据:
{
"code": "00000",
"msg": "success",
"requestTime": 1682661432874,
"data": [
{
"subUid": "9837924274",
"label": "1682396356594",
"apiKey": "bg_ab5735b8a90f2d4c02771b36e8dbebf4",
"perm": "spot_trade",
"ip": ""
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
subUid | 子账户uid |
label | apikey备注 |
apikey | apikey |
perm | 权限 |
ip | 子账户ApiKey ip 白名单 |
闪兑
查询闪兑币种列表
限速规则: 10次/1s (uid)
HTTP请求
- GET /api/spot/v1/convert/currencies
请求参数(Request Param)
请求示例
curl "https://api.bitget.com/api/spot/v1/convert/currencies" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
返回数据
{
"code": "00000",
"data": [
{
"coin": "ETH",
"available": "0.9994",
"maxCcy": "5",
"minCcy": "0.0005"
}
],
"msg": "success",
"requestTime": 1627293612502
}
返回值说明
字段 | 描述 |
---|---|
coin | 币种名称 |
available | 币种账户可用 |
maxCcy | 最大可兑换 作为fromCoin时 代表最大可消耗这数量, 作为toCoin时 代表最大可得到的数量 |
minCcy | 最小可兑换 作为fromCoin时 代表最小可消耗数量, 作为toCoin时 代表最小兑换的数量 |
获取询价
获取报价结果 8秒内去请求兑换接口,过期则无法兑换
获取消耗 fromCoin 数量时得到 toCoin 数量的报价
获取得到 toCoin 数量时消耗的 fromCoin 数量的报价
需要勾选交易/现货交易权限
限速规则: 5次/1s (uid)
HTTP请求
- POST /api/spot/v1/convert/quoted-price
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
fromCoin | String | 是 | 询价币种 |
fromCoinSz | String | 否 | 询价币种数量 fromCoinSz 和 toCoinSz 只允许同时传入一个 |
toCoin | String | 是 | 目标币种 |
toCoinSz | String | 否 | 目标币种数量 fromCoinSz 和 toCoinSz 只允许同时传入一个 |
请求参数(Request Param)
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/convert/quotedPrice" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"fromCoin": "USDT","fromCoinSz":"444","toCoin":"ETH"}'
返回数据
{
"code": "00000",
"data": {
"fee": "0",
"fromCoinSz": "444",
"fromCoin": "USDT",
"cnvtPx": "0.0005226794534969",
"toCoinSz": "0.23206967",
"toCoin": "ETH",
"traceId": "1060321041546502144"
},
"msg": "success",
"requestTime": 1627293612502
}
字段 | 描述 |
---|---|
fromCoin | 询价币种 |
fromCoinSz | 询价币种数量 |
cnvtPx | 闪兑价格 |
toCoin | 目标币种 |
toCoinSz | 目标币种数量 |
traceId | 询价单id |
fee | 手续费 |
闪兑
需要勾选 交易/现货交易 权限 限速规则: 5次/1s (uid)
HTTP请求
- POST /api/spot/v1/convert/trade
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
fromCoin | String | 是 | 询价币种 |
fromCoinSz | String | 是 | 询价币种数量 |
cnvtPx | String | 是 | 询价获取的结果 /quotedPrice cnvtPx |
toCoin | String | 是 | 目标币种 |
toCoinSz | String | 是 | 目标币种兑换数量 /quotedPrice toCoinSz |
traceId | String | 是 | 询价单id /quotedPrice traceId 有效期8秒 |
请求参数(Request Param)
请求示例
curl -X POST "https://api.bitget.com/api/spot/v1/convert/trade" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{"fromCoin": "USDT","fromCoinSz":"444","toCoin":"ETH","cnvtPx":"0.0005226794534969","toCoinSz":"0.23206967","traceId":"1060321041546502144"}'
返回数据
{
"code": "00000",
"data": {
"timestamp": "1688527221603",
"cnvtPx": "0.00052268",
"toCoinSz": "0.23206967",
"toCoin": "ETH"
},
"msg": "success",
"requestTime": 1627293612502
}
字段 | 描述 |
---|---|
toCoin | 兑换币种 |
toCoinSz | 得到兑换币种数量 |
cnvtPx | 兑换价格 |
timestamp | 兑换时间 |
兑换记录
限速规则: 10次/1s (uid)
HTTP请求
- GET /api/spot/v1/convert/convert-record
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
startTime | String | 是 | 开始时间 (时间戳毫秒) |
endTime | String | 是 | 结束时间 (时间戳毫秒) 最大间隔 90天 |
pageSize | String | 否 | 默认20 最大100 |
lastEndId | String | 否 | 上次endId |
请求参数(Request Param)
请求示例
curl "https://api.bitget.com/api/spot/v1/account/convert-record?startTime=1686128558000&endTime=1686214958000&pageSize=10" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
返回数据
{
"code": "00000",
"data": {
"dataList": [
{
"id": "1060326726652944385",
"timestamp": "1688527512229",
"cnvtPx": "0.00052268",
"fee": "0",
"fromCoinSz": "444",
"fromCoin": "USDT",
"toCoinSz": "0.23206967",
"toCoin": "ETH"
}
],
"endId": "1060325507679150080"
},
"msg": "success",
"requestTime": 1627293612502
}
字段 | 描述 |
---|---|
dataList | List |
-- id | 记录id |
-- timestamp | 记录生成时间 |
-- cnvtPx | 兑换时价格 |
-- fee | 手续费 |
-- fromCoinSz | 兑换币种数量 |
-- fromCoin | 兑换币种 |
-- toCoinSz | 得到目标币种数量 |
-- toCoin | 目标币种 |
endId | 分页使用 |
税务接口
现货财务记录
建议只勾选报税权限
限速规则: 1次/1s (uid)
HTTP请求
- GET /api/user/v1/tax/spot-record
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
coin | String | 否 | 币种默认全部 |
startTime | String | 是 | 开始时间(时间戳毫秒) |
endTime | String | 是 | 结束时间 (时间戳毫秒) 与 startTime 最大范围366天 |
pageSize | String | 否 | 默认500 最大500 |
lastEndId | String | 否 | 最后一条的id |
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1687257612262,
"data": [
{
"id": "1050266154437103616",
"coin": "AIBB",
"type": "Interest",
"amount": "6018333.33333333",
"fee": "0",
"total": "468575833.33333306",
"timestamp": "1686128884851"
}
]
}
返回值说明
字段 | 描述 |
---|---|
id | 记录id lastEndId |
coin | 币种 |
type | tax type spot |
amount | 数量 |
fee | 手续费 |
total | 账户总额 |
timestamp | 该记录产生时间 时间戳 |
合约财务记录
建议只勾选报税权限
限速规则: 1次/1s (uid)
HTTP请求
- GET /api/user/v1/tax/future-record
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
productType | String | 否 | 币种默认USDT合约 |
marginCoin | String | 否 | 默认全部保证金币种 |
startTime | String | 是 | 开始时间(时间戳毫秒) |
endTime | String | 是 | 结束时间 (时间戳毫秒) 与 startTime 最大范围366天 |
pageSize | String | 否 | 默认500 最大500 |
lastEndId | String | 否 | 最后一条的id |
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1687257612262,
"data": [
{
"id": "1024179365593391107",
"symbol": "TRXUSDT_UMCBL",
"marginCoin": "USDT",
"type": "close_long",
"amount": "0.10545",
"fee": "-0.02134863",
"timestamp": "1679909309766"
}
]
}
返回值说明
字段 | 描述 |
---|---|
id | 记录id lastEndId |
coin | 币种 |
type | tax type future and margin |
amount | 数量 |
fee | 手续费 |
timestamp | 该记录产生时间 时间戳 |
杠杆财务记录
建议只勾选报税权限
限速规则: 1次/1s (uid)
HTTP请求
- GET /api/user/v1/tax/margin-record
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
marginType | String | 否 | 杠杆类型 isolated/crossed |
coin | String | 否 | 默认全部币种 |
startTime | String | 是 | 开始时间(时间戳毫秒) |
endTime | String | 是 | 结束时间 (时间戳毫秒) 与 startTime 最大范围366天 |
pageSize | String | 否 | 默认500 最大500 |
lastEndId | String | 否 | 最后一条的id |
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1687259242290,
"data": [
{
"id": "1050267830387408896",
"symbol": null,
"coin": "USDT",
"type": "transfer_in",
"amount": "13333",
"fee": "0",
"total": "13333",
"timestamp": "1686129284474"
}
]
}
返回值说明
字段 | 描述 |
---|---|
id | 记录id lastEndId |
coin | 币种 |
type | tax type future and margin |
amount | 数量 |
fee | 手续费 |
total | 账户总额 |
timestamp | 该记录产生时间 时间戳 |
P2P财务记录
建议只勾选报税权限
限速规则: 1次/1s (uid)
HTTP请求
- GET /api/user/v1/tax/p2p-record
请求参数(Request Param)
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
coin | String | 否 | 币种默认全部币种 |
startTime | String | 是 | 开始时间 (时间戳毫秒) |
endTime | String | 是 | 结束时间 (时间戳毫秒) 与 startTime 最大范围366天 |
pageSize | String | 否 | 默认500 最大500 |
lastEndId | String | 否 | 最后一条的id |
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1687260620793,
"data": [
{
"id": "1752117",
"coin": "USDT",
"type": "BUY",
"total": "10",
"timestamp": "1680582050393"
}
]
}
返回值说明
字段 | 描述 |
---|---|
id | 记录id lastEndId |
coin | 币种 |
type | tax type p2p |
total | 账户总额 |
timestamp | 该记录产生时间 时间戳 |
质押借币接口
查询币种数据列表
限速规则 10次/1s (ip)
HTTP请求
- GET /api/spot/v1/public/loan/coinInfos
请求示例
curl "https://api.bitget.com/api/spot/v1/public/loan/coinInfos" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
coin | String | 否 | 币种 |
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1692433281223,
"data": {
"loanInfos": [
{
"coin": "USDT",
"hourRate7D": "0.00000617",
"rate7D": "0.054",
"hourRate30D": "0.00000879",
"rate30D": "0.077",
"minUsdt": "200",
"maxUsdt": "1000000",
"min": "200",
"max": "1000000"
}
],
"pledgeInfos": [
{
"coin": "MATIC",
"initRate": "0.6",
"supRate": "0.75",
"forceRate": "0.83",
"minUsdt": "0",
"maxUsdt": "200000"
}
]
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
loanInfos | 可借币种列表 |
>coin | 币种 |
>hourRate7D | 7天固定利率每小时百分比 |
>rate7D | 7天固定利率年化百分比 |
>hourRate30D | 30天固定利率每小时百分比 |
>rate30D | 30天固定利率年化百分比 |
>minUsdt | 最小可借限额 usdt |
>maxUsdt | 最大可借限额 usdt |
>min | 最小可借数量 |
>max | 最大可借数量 |
pledgeInfos | 可抵押币种列表 |
>coin | 抵押币种 |
>initRate | 初始质押率百分比 |
>supRate | 补保质押率百分比 |
>forceRate | 强平质押率百分比 |
>minUsdt | 最小质押限额 usdt |
>maxUsdt | 最大质押限额 usdt |
查询每小时预估利息及可借数量
限速规则 10次/1s (ip)
HTTP请求
- GET /api/spot/v1/public/loan/hour-interest
请求示例
curl "https://api.bitget.com/api/spot/v1/public/loan/hour-interest?loanCoin=USDT&pledgeCoin=ETH&pledgeAmount=0.2&daily=SEVEN" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
loanCoin | String | 是 | 需借币种 |
pledgeCoin | String | 是 | 质押币种 |
daily | String | 是 | 质押天数 |
pledgeAmount | String | 否 | 质押数量 loanAmount为空时必填 |
- daily
- SEVEN 7天
- THIRTY 30天
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1692433739845,
"data": {
"hourInterest": "0.00133436",
"loanAmount": "216.2654"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
hourInterest | 每小时预估利息数量 |
loanAmount | 可借数量 |
借币
限速规则 10次/1s (UID)
HTTP请求
- POST /api/spot/v1/loan/borrow
请求示例
curl "https://api.bitget.com/api/spot/v1/loan/borrow" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{
"loanCoin":"ETH",
"pledgeCoin":"USDT",
"daily":"SEVEN",
"loanAmount":"0.01"
}'
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
loanCoin | String | 是 | 需借币种 |
pledgeCoin | String | 是 | 质押币种 |
daily | String | 是 | 质押天数 |
loanAmount | String | 否 | 借币数量 pledgeAmount为空时必填 |
pledgeAmount | String | 否 | 质押数量 loanAmount为空时必填 |
- daily
- SEVEN 7天
- THIRTY 30天
返回数据
{
"code":"00000",
"msg":"success",
"requestTime":163123213132,
"data": {
"orderId": "1076713704374022144"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 订单ID |
查询借款中列表
限速规则 10次/1s (UID)
HTTP请求
- GET /api/spot/v1/loan/ongoing-orders
请求示例
curl "https://api.bitget.com/api/spot/v1/loan/ongoing-orders?orderId=1076713704374022144" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 否 | 借款订单ID |
loanCoin | String | 否 | 需借币种 |
pledgeCoin | String | 否 | 质押币种 |
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1692434611622,
"data": [
{
"orderId": "1076713704374022144",
"loanCoin": "ETH",
"loanAmount": "1",
"interestAmount": "0.00000229",
"hourInterestRate": "0.000229",
"pledgeCoin": "USDT",
"pledgeAmount": "2619.69231032",
"pledgeRate": "65",
"supRate": "75",
"forceRate": "83",
"borrowTime": "1692434472156",
"expireTime": "1693036799999"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 借款订单id |
loanCoin | 已借币种 |
loanAmount | 借币数量 |
interestAmount | 已产生利息数量 |
hourInterestRate | 小时利率百分比 |
pledgeCoin | 质押币种 |
pledgeAmount | 质押数量 |
pledgeRate | 质押率百分比 |
supRate | 补保质押率百分比 |
forceRate | 强平质押率百分比 |
borrowTime | 借币时间 毫秒时间戳 |
expireTime | 到期时间 毫秒时间戳 |
还款
限速规则 10次/1s (UID)
HTTP请求
- POST /api/spot/v1/loan/repay
请求示例
curl "https://api.bitget.com/api/spot/v1/loan/repay" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{
"orderId":"ETH",
"repayAll":"yes",
"repayUnlock":"yes"
}'
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 是 | 订单ID |
amount | String | 否 | 还款数量 |
repayUnlock | String | 否 | 是否赎回 默认yes |
repayAll | String | 是 | 是否全部还款 |
repayUnlock
- yes 是
- no 否
repayAll
- yes 是
- no 否
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1684747525424,
"data": {
"loanCoin": "TRX",
"pledgeCoin": "USDT",
"repayAmount": "1566.23820848",
"payInterest": "0.1185634",
"repayLoanAmount": "1566.22635214",
"repayUnlockAmount": "195"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
loanCoin | 借币币种 |
pledgeCoin | 质押币种 |
repayAmount | 借币币种还款总额 |
payInterest | 借币币种支付利息数量 |
repayLoanAmount | 借币币种归还本金数量 |
repayUnlockAmount | 质押币种释放质押品数量 |
查询还款历史列表
限速规则 10次/1s (UID)
HTTP请求
- GET /api/spot/v1/loan/repay-history
请求示例
curl "https://api.bitget.com/api/spot/v1/loan/repay-history?startTime=1685957902000&endTime=1691228302423" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 否 | 借款订单ID |
loanCoin | String | 否 | 已借币种 |
pledgeCoin | String | 否 | 质押币种 |
startTime | String | 是 | 开始时间,仅支持查询近三个月数据 |
endTime | String | 是 | 结束时间 |
pageNo | String | 否 | pageNo 默认值1 |
pageSize | String | 否 | pageSize 默认值10,最大值100 |
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1684747525424,
"data": [{
"orderId": "1278182632",
"loanCoin": "TRX",
"pledgeCoin": "USDT",
"repayAmount": "1566.23820848",
"payInterest": "0.1185634",
"repayLoanAmount": "1566.22635214",
"repayUnlockAmount": "195",
"repayTime": "1684747525424"
}, {
"orderId": "1278182633",
"loanCoin": "TRX",
"pledgeCoin": "USDT",
"repayAmount": "1566.23820848",
"payInterest": "0.1185634",
"repayLoanAmount": "1566.22635214",
"repayUnlockAmount": "195",
"repayTime": "1684747525424"
}]
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 借款订单id |
loanCoin | 已借币种 |
loanAmount | 借币数量 |
repayAmount | 借币币种还款总额 |
payInterest | 借币币种支付利息数量 |
repayLoanAmount | 借币币种归还本金数量 |
repayUnlockAmount | 质押币种释放质押品数量 |
repayTime | 还款时间 |
调整质押率
限速规则 10次/1s (UID)
HTTP请求
- POST /api/spot/v1/loan/revise-pledge
请求示例
curl "https://api.bitget.com/api/spot/v1/loan/revise-pledge" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json" \
-d \'{
"orderId":"1278182633",
"pledgeCoin":"USDT",
"reviseType":"OUT",
"amount":"1"
}'
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 是 | 订单ID |
amount | String | 是 | 调整数量 |
pledgeCoin | String | 是 | 质押币种 |
reviseType | String | 是 | 调整类型 |
- reviseType
- OUT 提取质押品
- IN 补充质押品
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1684747525424,
"data": {
"loanCoin": "TRX",
"pledgeCoin": "USDT",
"afterPledgeRate": "60.5"
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
loanCoin | 借币币种 |
pledgeCoin | 质押币种 |
afterPledgeRate | 调整后质押利率百分比 |
查询调整质押率历史列表
限速规则 10次/1s (UID)
HTTP请求
- GET /api/spot/v1/loan/revise-history
请求示例
curl "https://api.bitget.com/api/spot/v1/loan/revise-history?startTime=1691119224000&endTime=1692436119603" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 否 | 借款订单ID |
reviseSide | String | 否 | 调整方向。不传枚举值时展示全部 |
pledgeCoin | String | 否 | 质押币种 |
startTime | String | 是 | 开始时间,仅支持查询近三个月数据 |
endTime | String | 是 | 结束时间 |
pageNo | String | 否 | pageNo 默认值1 |
pageSize | String | 否 | pageSize 默认值10,最大值100 |
- reviseSide
- down 转入调低
- up 转出调高
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1692436125845,
"data": [
{
"loanCoin": "ETH",
"pledgeCoin": "USDT",
"orderId": "1076713704374022144",
"reviseTime": "1692436102448",
"reviseSide": "down",
"reviseAmount": "10",
"afterPledgeRate": "64.75",
"beforePledgeRate": "65"
}
]
}
返回值说明
返回字段 | 字段说明 |
---|---|
loanCoin | 已借币种 |
pledgeCoin | 质押币种 |
orderId | 借款订单id |
reviseTime | 调整时间 |
reviseSide | 调整方向 |
reviseAmount | 调整数量 |
afterPledgeRate | 调整后质押利率百分比 |
beforePledgeRate | 调整前质押利率百分比 |
查询借币历史列表
限速规则 10次/1s (UID)
HTTP请求
- GET /api/spot/v1/loan/borrow-history
请求示例
curl "https://api.bitget.com/api/spot/v1/loan/borrow-history?startTime=1691119224000&endTime=1692436119603" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 否 | 借款订单ID |
loanCoin | String | 否 | 借贷币种 |
pledgeCoin | String | 否 | 质押币种 |
status | String | 否 | 状态 |
startTime | String | 是 | 开始时间,仅支持查询近三个月数据 |
endTime | String | 是 | 结束时间 |
pageNo | String | 否 | pageNo 默认值1 |
pageSize | String | 否 | pageSize 默认值10,最大值100 |
- status
- rollback 失败
- force 强平
- repay 已还款
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1684747525424,
"data": [{
"orderId": "1278182632",
"loanCoin": "TRX",
"pledgeCoin": "USDT",
"initPledgeAmount": "0.757",
"initLoanAmount": "4321321.23820848",
"hourRate": "59.1",
"daily": "7",
"borrowTime": "1684747528424",
"status": "REPAY"
}, {
"orderId": "1278182633",
"loanCoin": "TRX",
"pledgeCoin": "USDT",
"initPledgeAmount": "0.757",
"initLoanAmount": "4321321.23820848",
"hourRate": "59.1",
"daily": "7",
"borrowTime": "1684747528424",
"status": "REPAY"
}]
}
返回值说明
返回字段 | 字段说明 |
---|---|
loanCoin | 已借币种 |
pledgeCoin | 质押币种 |
orderId | 借款订单id |
initPledgeAmount | 初始化质押数量 |
initLoanAmount | 初始化借币数量 |
hourRate | 每小时利率百分比 |
daily | 质押借币天数 |
borrowTime | 借币时间 |
status | status |
查询资产负债列表
限速规则 10次/1s (UID)
HTTP请求
- GET /api/spot/v1/loan/debts
请求示例
curl "https://api.bitget.com/api/spot/v1/loan/debts?startTime=1691119224000&endTime=1692436119603" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
请求参数
N/A
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1692436610750,
"data": {
"pledgeInfos": [
{
"coin": "USDT",
"amount": "28826.61539642",
"amountUsdt": "28826.61"
}
],
"loanInfos": [
{
"coin": "ETH",
"amount": "11.00002748",
"amountUsdt": "18730.85"
}
]
}
}
返回值说明
返回字段 | 字段说明 |
---|---|
loanInfos | 质押资产 |
>coin | 币种 |
>amount | 币种数量 |
>amountUsdt | 估值 usdt |
pledgeInfos | 负债资产 |
>coin | 币种 |
>amount | 币种数量 |
>amountUsdt | 估值 usdt |
查询强平记录列表
限速规则 10次/1s (UID)
HTTP请求
- GET /api/spot/v1/loan/reduces
请求示例
curl "https://api.bitget.com/api/spot/v1/loan/reduces?startTime=1691119224000&endTime=1692436119603" \
-H "ACCESS-KEY:you apiKey" \
-H "ACCESS-SIGN:*******" \
-H "ACCESS-PASSPHRASE:*****" \
-H "ACCESS-TIMESTAMP:1659076670000" \
-H "locale:en-US" \
-H "Content-Type: application/json"
请求参数
参数名 | 参数类型 | 是否必须 | 描述 |
---|---|---|---|
orderId | String | 否 | 借款订单ID |
loanCoin | String | 否 | 借贷币种 |
pledgeCoin | String | 否 | 质押币种 |
status | String | 否 | 状态 |
startTime | String | 是 | 开始时间,仅支持查询近三个月数据 |
endTime | String | 是 | 结束时间 |
pageNo | String | 否 | pageNo 默认值1 |
pageSize | String | 否 | pageSize 默认值10,最大值100 |
- status
- COMPLETE 已强平
- WAIT 强平中
返回数据
{
"code": "00000",
"msg": "success",
"requestTime": 1684747525424,
"data": [{
"orderId": "1278182632",
"loanCoin": "TRX",
"pledgeCoin": "USDT",
"reduceTime": "0.757",
"pledgeRate": "98.2",
"pledgePrice": "111.4",
"status": "COMPLETE",
"pledgeAmount": "1213.5",
"reduceFee": "REPAY",
"residueAmount": "3234.2",
"runlockAmount": "23",
"repayLoanAmount": "53.2"
}, {
"orderId": "1278182632",
"loanCoin": "TRX",
"pledgeCoin": "USDT",
"reduceTime": "0.757",
"pledgeRate": "98.2",
"pledgePrice": "111.4",
"status": "COMPLETE",
"pledgeAmount": "1213.5",
"reduceFee": "REPAY",
"residueAmount": "3234.2",
"runlockAmount": "23",
"repayLoanAmount": "53.2"
}]
}
返回值说明
返回字段 | 字段说明 |
---|---|
orderId | 借款订单id |
loanCoin | 已借币种 |
pledgeCoin | 质押币种 |
reduceTime | 强平时间 |
pledgeRate | 强平时质押率百分比 |
pledgePrice | 强平时质押价格 |
status | 强平状态 |
pledgeAmount | 强平质押币数量 |
reduceFee | 强平费用 |
residueAmount | 剩余质押币数量 |
runlockAmount | 释放质押币数量 |
repayLoanAmount | 偿还借币欠款 |
WebSocketAPI
概述
WebSocket是HTML5一种新的协议(Protocol)。它实现了客户端与服务器全双工通信, 使得数据可以快速地双向传播。通过一次简单的握手就 可以建立客户端和服务器连接, 服务器根据业务规则可以主动推送信息给客户端。其优点如下:
- 客户端和服务器进行数据传输时,请求头信息比较小,大概2个字节。
- 客户端和服务器皆可以主动地发送数据给对方。
- 不需要多次创建TCP请求和销毁,节约宽带和服务器的资源。
强烈建议开发者使用WebSocket API获取市场行情和买卖深度等信息。
域名 | WebSocket API | 建议使用 |
---|---|---|
域名1 | wss://ws.bitget.com/spot/v1/stream | 国际 |
连接说明:
连接上ws后30s内订阅或订阅后30s内用户未发送ping指令,系统会自动断开连接
连接
连接说明:
连接限制:100个/IP
订阅限制:240次/小时
如果出现网络问题,系统会自动断开连接
如果连接成功后30s未订阅或订阅后30s内服务器未向用户推送数据,系统会自动断开连接
为了保持连接有效且稳定,建议您进行以下操作:
- 每次接收到消息后,用户设置一个定时器,定时30秒。
- 如果定时器被触发(30秒内没有收到新消息),发送字符串 'ping'。
- 期待一个文字字符串'pong'作为回应。如果在30秒内未收到,请发出错误或重新连接。
- Websocket服务器每秒最多接受10个消息。消息包括:
- PING帧
- JSON格式的消息,比如订阅,断开订阅。
- 如果用户发送的消息超过限制,连接会被断开连接。反复被断开连接的IP有可能被服务器屏蔽;
- 单个连接最多可以订阅 1000 个Streams;
- 单个IP最多可以创建100个连接。
登录
api_key:用于调用API的用户身份唯一标示,需要用户申请
passphrase:API Key 的密码,如果没有口令的话传入空字符串("")即可
timestamp: 时间戳 是Unix Epoch时间,单位是秒, 时间戳30秒后会过期
sign:为签名字符串,签名规则参照如下:
Message即(待签名字符串)为: timestamp+method+requestPath
其中timestamp示例:const timestamp = '' + Date.now() / 1000
method一律默认为'GET'
requestPath 一律默认为'/user/verify'
请求在时间戳之后30秒会失效,如果您的服务器时间和API服务器时间有偏差,推荐使用 REST API查询API服务器的时间,然后设置时间戳
签名方式说明参考API概述里的验证部分
生成最终签名的步骤
第1步,将待签名字符串使用私钥secretkey进行hmac sha256加密
Signature = hmac_sha256(secretkey, Message)
第2步,对于Signature进行base64编码
Signature = base64.encode(Signature)
如果登录失败会自动断开链接
请求格式说明:
{
"op": "login",
"args": [{
"apiKey": "<api_key>",
"passphrase": "<passphrase>",
"timestamp": "<timestamp>",
"sign": "<sign>"
}]
}
请求示例:
{
"op": "login",
"args": [{
"apiKey": "bg_573af5eca856acd91c230da294ce2105",
"passphrase": "123456",
"timestamp": "1538054050",
"sign": "8RCOqCJAhhEh4PWcZB/96QojLDqMAg4qNynIixFzS3E="
}]
}
成功返回示例:
{
"event": "login",
"code": "0",
"msg": ""
}
失败返回示例:
{
"event": "error",
"code": "30005",
"msg": "error"
}
订阅
订阅说明
请求格式说明
{
"op": "subscribe",
"args": ["<SubscriptionTopic> "]
}
WebSocket 频道分成两类: 公共频道
和 私有频道
公共频道
无需登录,包括行情频道,K线频道,交易数据频道,深度数据频道等。
instId
来源 /products 的symbolName
私有频道
需登录,包括用户账户频道,用户交易频道等。
- 用户账户频道
instId
为default
获取全部币种资产
用户可以选择订阅一个或者多个频道,多个频道总长度不能超过4096个字节。
请求示例
{
"op": "subscribe",
"args": [{
"instType": "SP",
"channel": "ticker",
"instId": "BTCUSDT"
}, {
"instType": "SP",
"channel": "candle5m",
"instId": "BTCUSDT"
}]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe |
args | Array | 是 | 请求订阅的频道列表 |
> instType | String | 否 | 产品类型SP :币币公共频道SPBL :币币私有频道 |
> channel | String | 是 | 频道名 |
> instId | String | 否 | 产品ID |
返回示例
{
"event": "subscribe",
"args": {
"instType": "SP",
"channel": "ticker",
"instId": "BTCUSDT"
}
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe error |
arg | Object | 否 | 订阅的频道 |
> instType | String | 否 | 产品类型SP :币币公共频道SPBL :币币私有频道 |
> channel | String | 是 | 频道名 |
> instId | String | 否 | 产品ID |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
取消订阅
可以取消一个或者多个频道
请求格式说明
{
"op": "unsubscribe",
"args": ["< SubscriptionTopic > "]
}
请求示例
{
"op": "unsubscribe",
"args": [{
"instType": "SP",
"channel": "ticker",
"instId": "BTCUSDT"
}, {
"instType": "SP",
"channel": "candle1m",
"instId": "BTCUSDT"
}]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,unsubscribe |
args | Array | 是 | 取消订阅的频道列表 |
> instType | String | 是 | 产品类型SP :币币公共频道SPBL :币币私有频道 |
> channel | String | 是 | 频道名 |
> instId | String | 是 | 产品ID或者产品名称 |
返回示例
{
"event": "unsubscribe",
"args": {
"instType": "SP",
"channel": "ticker",
"instId": "BTCUSDT"
}
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,unsubscribe error |
arg | Object | 是 | 取消订阅的频道 |
> instType | String | 是 | 产品类型SP :币币公共频道SPBL :币币私有频道 |
> channel | String | 是 | 频道名 |
> instId | String | 是 | 产品ID或者产品名称 |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
Checksum机制
此机制可以帮助用户校验深度数据的准确性。
深度合并
用户订阅增量推送(如:books
400档)深度频道成功后,首先获取初始全量深度数据,当获取到增量推送数据后,更新本地全量深度数据。
- 如果有相同价格,则比较数量;数量为0删除此深度,数量有变化则替换此数据。
- 如果没有相同价格,则按照价格优劣排序(bids为价格降序,asks为价格升序),将深度信息插入到全量数据中
计算校验和
先用深度合并后前25档bids和asks组成一个字符串(其中ask和bid中的价格和数量以冒号连接),再计算其crc32值(32位有符号整型)。
1.bid和ask超过25档
合并后全量深度数据(在此仅展示2档数据,实际应截取前25档数据):
"bids": [
[ 3366.1, 7], //bid1
[ 3366 , 6]
]
"asks": [
[ 3366.8, 9 ], //ask1
[ 3368, 8]
]
校验字符串:
"3366.1:7:3366.8:9:3366:6:3368:8"
2.bid或ask不足25档
合并后全量深度数据:
"bids": [
[ 3366.1, 7]
]
"asks": [
[ 3366.8,9],
[ 3368,8],
[ 3372,8]
]
校验字符串:
"3366.1:7:3366.8:9:3368:8:3372:8"
- 当bid和ask深度数据超过25档时,截取各自25档数据,要校验的字符串按照bid、ask深度数据交替方式连接。如:bid1[价格:数量]:ask1[价格:数量]:bid2[价格:数量]:ask2[价格:数量]...
- bid或ask深度数据不足25档时,直接忽略缺失的深度。如:bid1[价格:数量]:ask1[价格:数量]:ask2[价格:数量]:ask3[价格:数量]...
- 如果返回的价格为0.5000, 请注意使用原始值计算checksum,不要使用trim掉0后的0.5
公共频道
行情频道
获取产品的最新成交价、买一价、卖一价和24小时交易量等信息,200ms推送一次数据
请求示例
{
"op": "subscribe",
"args": [{
"instType": "SP",
"channel": "ticker",
"instId": "BTCUSDT"
}]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe unsubscribe |
args | Array | 是 | 请求订阅的频道列表 |
> instType | String | 是 | 产品类型,SP |
> channel | String | 是 | 频道名,ticker |
> instId | String | 是 | 产品名称 BTCUSDT |
成功返回示例
{
"op": "subscribe",
"args": [{
"instType": "SP",
"channel": "ticker",
"instId": "BTCUSDT"
}]
}
失败返回示例
{
"event":"error",
"arg":
{
"instType":"SP",
"channel":"ticker",
"instId":"BTC-USDT"
},
"code":30001,
"msg":"instType:SP,channel:ticker,instId:BTC-USDT doesn't exist",
"op":"subscribe"
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe unsubscribe error |
arg | Object | 否 | 订阅的频道 |
> instType | String | 是 | 产品类型 |
> channel | String | 是 | 频道名 |
> instId | String | 是 | 产品名称 |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
推送示例
{
"action": "snapshot",
"arg": {
"instType": "sp",
"channel": "ticker",
"instId": "BTCUSDT"
},
"data": [
{
"instId": "BTCUSDT",
"last": "20193.17",
"open24h": "19112.64",
"high24h": "20374.29",
"low24h": "18973.16",
"bestBid": "20192.420000",
"bestAsk": "20196.440000",
"baseVolume": "13177.3815",
"quoteVolume": "261300702.3745",
"ts": 1664292040025,
"labeId": 0,
"openUtc": "19226.5300000000000000",
"chgUTC": "0.05028",
"bidSz": "0.06",
"askSz": "0.0119"
}
]
}
推送数据参数
参数名 | 类型 | 描述 |
---|---|---|
arg | Object | 订阅成功的频道 |
> instType | String | 产品类型 |
> channel | String | 频道名 |
> instId | String | 产品名称 |
action | String | 推送数据动作,增量推送数据还是全量推送数据snapshot :全量update :增量 |
data | Array | 订阅的数据 |
> instId | String | 产品名称 |
> last | String | 最新成交价 |
> bestAsk | String | 卖一价 |
> bestBid | String | 买一价 |
> open24h | String | 24小时开盘价 |
> high24h | String | 24小时最高价 |
> low24h | String | 24小时最低价 |
> baseVol | String | 24小时成交量,以左币 为单位 |
> quoteVol | String | 24小时成交量,以右币 为单位 |
> ts | String | 数据产生时间,Unix时间戳的毫秒数格式,如 1597026383085 |
>labeId | Long | Label ID |
>openUtc | String | UTC 时间开盘价 |
>chgUTC | String | 自openUtc以来的涨跌: (last - openUtc) / openUtc, 精度 e-5 |
>bidSz | String | 买一量 |
>askSz | String | 卖一量 |
K线频道
获取产品的K线数据
请求示例
{
"op": "subscribe",
"args": [{
"instType": "sp",
"channel": "candle1m",
"instId": "BTCUSDT"
}]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe unsubscribe |
args | Array | 是 | 请求订阅的频道列表 |
>instType | String | 是 | 产品类型 SP |
>channel | String | 是 | 频道名,candle1W candle1D candle12H candle4H candle1H candle30m candle15m candle5m candle1m |
> instId | String | 是 | 产品名称 例如:BTCUSDT |
成功返回示例
{
"event": "subscribe",
"arg": {
"instType": "sp",
"channel": "candle1D",
"instId": "BTCUSDT"
}
}
失败返回示例
{
"event":"error",
"arg":
{
"instType":"sp",
"channel":"candle1D",
"instId":"BTC-USDT"
},
"code":30001,
"msg":"instType:sp,channel:candle1D,instId:BTC-USDT doesn't exist",
"op":"subscribe"
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe unsubscribe error |
arg | Object | 否 | 订阅的频道 |
> instType | String | 是 | 产品类型 |
> channel | String | 是 | 频道名 |
> instId | String | 是 | 产品名称 |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
推送示例
{
"arg": {
"instType": "sp",
"channel": "candle1D",
"instId": "BTCUSDT"
},
"data": [
["1597026383085", "8533.02", "8553.74", "8527.17", "8548.26", "45247"]
]
}
推送数据参数
参数名 | 类型 | 描述 |
---|---|---|
arg | Object | 订阅成功的频道 |
> instType | String | 产品类型 |
> channel | String | 频道名 |
> instId | String | 产品名称 |
data | Array | 订阅的数据 |
> ts | String | 开始时间,Unix时间戳的毫秒数格式,如 1597026383085 |
> o | String | 开盘价格 |
> h | String | 最高价格 |
> l | String | 最低价格 |
> c | String | 收盘价格 |
> v | String | 数值为左币交易量 |
深度频道
获取深度数据
books
首次推全量快照数据,以后增量推送,以后增量推送,即有深度有变化推送一次变化的数据
books5
首次推5档快照数据,以后全量推送,有深度变化推送一次5档数据,即每次都推送5档数据
books15
首次推15档快照数据,以后全量推送,有深度变化推送一次15档数据,即每次都推送15档数据
请求示例
{
"op": "subscribe",
"args": [{
"instType": "sp",
"channel": "books5",
"instId": "BTCUSDT"
}]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe unsubscribe |
args | Array | 是 | 请求订阅的频道列表 |
> instType | String | 是 | 产品类型 SP |
> channel | String | 是 | 频道名,books books5 books15 |
> instId | String | 是 | 产品名称 例如:BTCUSDT |
返回示例
{
"event": "subscribe",
"arg": {
"instType": "sp",
"channel": "books5",
"instId": "BTCUSDT"
}
}
失败示例
{
"event":"error",
"arg":
{
"instType":"sp",
"channel":"books5",
"instId":"BTC-USDT"
},
"code":30001,
"msg":"instType:sp,channel:books5,instId:BTC-USDT doesn't exist",
"op":"subscribe"
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe unsubscribe error |
arg | Object | 否 | 订阅的频道 |
> instType | String | 是 | 产品类型 SP |
> channel | String | 是 | 频道名 |
> instId | String | 是 | 产品名称 |
msg | String | 否 | 错误消息 |
code | String | 否 | 错误码 |
推送数据参数
参数名 | 类型 | 描述 |
---|---|---|
arg | Object | 订阅成功的频道 |
> instType | String | 产品类型 |
> channel | String | 频道名 |
> instId | String | 产品名称 |
action | String | 推送数据动作,增量推送数据还是全量推送数据snapshot :全量 update :增量 |
data | Array | 订阅的数据 |
> asks | Array | 卖方深度 |
> bids | Array | 买方深度 |
> ts | String | 数据更新时间戳,Unix时间戳的毫秒数格式,如 1597026383085 |
> checksum | Integer | 检验和 |
asks和bids值数组举例说明: ["411.8", "10"] 411.8为深度价格,10为此价格的基础币量
交易频道
获取最近的成交数据,有成交数据就推送
请求示例
{
"op": "subscribe",
"args": [{
"instType": "sp",
"channel": "trade",
"instId": "BTCUSDT"
}]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe unsubscribe |
args | Array | 是 | 请求订阅的频道列表 |
> instType | String | 是 | 产品类型 SP |
> channel | String | 是 | 频道名,trade |
> instId | String | 是 | 产品名称 |
成功返回示例
{
"event": "subscribe",
"arg": [{
"instType": "sp",
"channel": "trade",
"instId": "BTCUSDT"
}]
}
失败返回示例
{
"event":"error",
"arg":
{
"instType":"spbl",
"channel":"trade",
"instId":"BTC-USDT"
},
"code":30001,
"msg":"instType:spbl,channel:trade,instId:BTC-USDT doesn't exist",
"op":"subscribe"
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe unsubscribe error |
arg | Object | 否 | 订阅的频道 |
> instType | String | 是 | 产品类型 |
> channel | String | 是 | 频道名 |
> instId | String | 是 | 产品名称 |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
推送数据参数
参数名 | 类型 | 描述 |
---|---|---|
arg | Object | 订阅成功的频道 |
> instType | String | 产品类型 |
> channel | String | 频道名 |
> instId | String | 产品名称 |
data | Array | 订阅的数据 |
> ts | String | 成交时间,Unix时间戳的毫秒数格式,如 1597026383085 |
> px | String | 成交价格 |
> sz | String | 成交数量 |
> side | String | 成交方向,buy 买 sell卖 |
私有频道
账户频道
获取账户信息,首次订阅按照订阅维度推送数据,此外,当下单、撤单等事件触发时,推送数据
请求示例
{
"op": "subscribe",
"args": [{
"instType": "spbl",
"channel": "account",
"instId": "default"
}]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
op | String | 是 | 操作,subscribe unsubscribe |
args | Array | 是 | 请求订阅的频道列表 |
> instType | String | 是 | 产品类型,spbl |
> channel | String | 是 | 频道名,account |
> instId | String | 是 | 币种, 全部传 default |
成功返回示例
{
"event": "subscribe",
"arg": {
"instType": "spbl",
"channel": "account",
"instId": "default"
}
}
失败返回示例
{
"event":"error",
"arg":
{
"instType":"spbl",
"channel":"account",
"instId":"BTC-USDT"
},
"code":30003,
"msg":"instType:spbl,channel:account,instId:BTC-USDT doesn't exist",
"op":"subscribe"
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 操作,subscribe unsubscribe error |
arg | Object | 否 | 订阅的频道 |
> instType | String | 是 | 产品类型 |
> channel | String | 是 | 频道名 |
> instId | String | 否 | 币种 |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
推送示例
{
"action": "snapshot",
"arg": {
"instType": "spbl",
"channel": "account",
"instId": "default"
},
"data": [{
"coinId": "2",
"coinName": "USDT",
"available": "1000.0000"
}, {
"coinId": "1",
"coinName": "BTC",
"available": "1.35000"
}]
}
推送数据参数
参数名 | 类型 | 描述 |
---|---|---|
arg | Object | 请求订阅的频道 |
> instType | String | 产品类型 |
> channel | String | 频道名 |
> instId | String | 币种 |
data | Array | 订阅的数据 |
> coinId | String | 币种id |
> coinName | String | 币种名称 |
> available | String | 币种余额 |
首次推送:全量推送。
增量推送:推送交易变化
订单频道
获取订单信息,首次订阅不推送,只有当下单、撤单、成交等事件触发时,推送数据
请求示例
{
"op": "subscribe",
"args": [{
"channel": "orders",
"instType": "spbl",
"instId": "BTCUSDT_SPBL"
}]
}
请求参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
> instId | String | 是 | 产品ID |
op | String | 是 | 操作,subscribe unsubscribe |
args | Array | 是 | 请求订阅的频道列表 |
> channel | String | 是 | 频道名, orders |
> instType | String | 是 | 产品类型,spbl |
> instId | String | 是 | BTCUSDT_SPBL |
成功返回示例
{
"event": "subscribe",
"arg": {
"channel": "orders",
"instType": "spbl",
"instId": "BTCUSDT_SPBL"
}
}
失败返回示例
{
"event":"error",
"arg":
{
"instType":"spbl",
"channel":"account",
"instId":"BTC-USDT"
},
"code":30003,
"msg":"instType:spbl,channel:orders,instId:BTC-USDT doesn't exist",
"op":"subscribe"
}
返回参数
参数 | 类型 | 是否必须 | 描述 |
---|---|---|---|
event | String | 是 | 事件,subscribe unsubscribe errror |
arg | Object | 否 | 订阅的频道 |
> channel | String | 是 | 频道名 |
> instType | String | 是 | 产品类型 |
> instId | String | 否 | 产品ID |
code | String | 否 | 错误码 |
msg | String | 否 | 错误消息 |
推送数据示例
{
"data":[
{
"notional":"6.290480",
"side":"buy",
"sz":"0.0040",
"px":"1572.62",
"orderFee":[
],
"eps":"WEB",
"cTime":1678789919603,
"ordId":"10194123402951243161",
"instId":"ETHUSDT_SPBL",
"clOrdId":"b712d4e8-bec1-4124-ae83-e7aa44cfcdd2",
"accFillSz":"0.0000",
"avgPx":"0.00",
"force":"normal",
"uTime":1678789919603,
"ordType":"limit",
"status":"new"
}
],
"arg":{
"instType":"spbl",
"instId":"default",
"channel":"orders"
},
"action":"snapshot"
}
推送数据参数
arg | Object | 订阅成功的频道 |
---|---|---|
> channel | String | 频道名 |
> instType | String | 产品类型 |
> instId | String | 产品ID |
data | Array | 订阅的数据 |
> instId | String | 产品ID |
> ordId | String | 订单ID |
> clOrdId | String | 用户设置的订单ID来识别您的订单 |
> px | String | 委托价格 |
> sz | String | 委托数量(交易货币数量) |
> notional | String | 买入金额,市价买入时返回 |
> ordType | String | 订单类型 market:市价单 limit:限价单 |
> force | String | 订单有效期normal:普通委托post_only : 只做maker单fok :全部成交或立即取消单ioc :立即成交并取消剩余单 |
> side | String | 订单方向,buy sell |
> fillPx | String | 最新成交价格 |
> tradeId | String | 最新成交ID |
> fillSz | String | 最新成交数量 |
> fillTime | String | 最新成交时间 |
> fillFee | String | 最新一笔成交的手续费, 负数 |
> fillFeeCcy | String | 最新一笔成交的手续费币种 |
> execType | String | 最新一笔成交的流动性方向 T :taker M : maker |
> accFillSz | String | 累计已成交数量 |
> avgPx | String | 累计成交均价,如果成交数量为0,该字段也为0 |
> status | String | 订单状态 new :新建订单; partial-fill 部分成交; full-fill :完全成交; cancelled :已撤单 |
> eps | String | enterPointSource |
> cTime | String | 订单创建时间,Unix时间戳的毫秒数格式,如 1630410492847 |
> uTime | String | 订单更新时间,Unix时间戳的毫秒数格式,如 1630410493060 |
>orderFee | Array | 手续费list |
>> feeCcy | String | 交易手续费币种 |
>> fee | String | 订单交易手续费,平台向用户收取的交易手续费 |
RestAPI错误
错误提示 | 错误码 | http状态码 |
---|---|---|
00000 | 成功! | 400 |
40001 | ACCESS_KEY不能为空 | 400 |
40002 | ACCESS_SIGN不能为空 | 400 |
40003 | 签名不能为空 | 400 |
40004 | 请求时间戳过期 | 400 |
40005 | 无效的ACCESS_TIMESTAMP | 400 |
40006 | 无效的ACCESS_KEY | 400 |
40007 | 无效的Content_Type | 400 |
40008 | 请求时间戳过期 | 400 |
40009 | sign签名错误 | 400 |
40010 | 请求超时 | 400 |
40011 | ACCESS_PASSPHRASE不能为空 | 400 |
40012 | apikey/口令不正确 | 400 |
40013 | 用户状态异常 | 400 |
40014 | 权限不正确, 需要 {0} 权限 | 400 |
40015 | 系统异常,请稍后重试 | 400 |
40016 | 用户必须绑定手机或者谷歌 | 400 |
40017 | 参数校验失败 {0} | 400 |
00171 | 参数校验失败 {0}{1} | 400 |
00172 | 参数校验失败 | 400 |
40018 | 无效的IP | 400 |
40019 | 参数 {0} 不能为空 | 400 |
40020 | 参数 {0} 异常 | 400 |
40021 | 用户禁止提币 | 400 |
40022 | 此账号该业务已被限制 | 400 |
40023 | 此账号该业务已被限制 | 400 |
40024 | 账号已被冻结 | 400 |
40025 | 此账号该业务已被限制 | 400 |
40026 | 用户已被禁用 | 400 |
40027 | 此账户地区提币必须kyc | 400 |
40028 | 此subUid不属于该账号 | 400 |
40029 | 此账号不是Broker,请先申请成为Broker | 400 |
40030 | 子账号无此权限 | 400 |
40031 | 该账号已注销,不可再次使用 | 400 |
40032 | 创建账号数量已达限制 | 400 |
40033 | 该邮箱已被使用 | 400 |
40034 | 参数 {0} 不存在 | 400 |
50001 | coin {0} 不支持全仓 | 400 |
50002 | symbol {0} 不支持逐仓 | 400 |
50003 | coin {0} 不支持逐仓 | 400 |
50004 | symbol {0} 不支持全仓 | 400 |
50005 | symbol {0} 无效或者不支持杠杆交易 | 400 |
40035 | 遵循相关法律法规,根据您的当前登录信息,为方便您的使用,请先进行KYC | 400 |
40036 | passphrase 错误 | 400 |
40037 | Apikey 不存在 | 400 |
40038 | 当前请求ip 没有在ip白名单列表 | 400 |
40039 | userSignature签名错误 | 400 |
40040 | user api key权限设置错误 | 400 |
40041 | 用户的ApiKey不存在 | 400 |
40043 | FD Broker不存在 | 400 |
40045 | 被绑定的user不能是FD broker | 400 |
40047 | FD Broker绑定相关接口调用频率限制 | 400 |
40048 | 用户的ApiKey必须是母账号 | 400 |
40049 | 用户账号字段解密失败 | 400 |
40051 | 此账号不是FD Broker,请先申请成为FD Broker | 400 |
40052 | 此账号已修改了安全设置。为了您账号的安全,24小时内禁止提币 | 400 |
40053 | 取值范围校验失败: {0}取值应在{1}之间 | 400 |
40054 | 根据{0}获取数据为空 | 400 |
40055 | subName 长度控制在8位 | 400 |
40056 | remark 长度需要满足1~20 | 400 |
40057 | 参数 {0} {1} 不符合规范 | 400 |
40058 | 参数 {0} 限制个数在 {1} 以内 | 400 |
40059 | 参数 {0} 应该小于 {1} | 400 |
40060 | subNames 存在重复的 | 400 |
40061 | sub-account 不允许访问 | 400 |
40062 | 由于监管要求,您被限制下订单 | 400 |
40063 | API超过添加的最大限制 | 400 |
40064 | 子账户创建失败,请检查是否有重复的 | 400 |
40065 | 此subApikey不存在 | 400 |
40066 | 该subUid不属于该账号或不是虚拟子账号 | 400 |
40067 | 子账户创建失败,请检查是否有重复的 | 400 |
40068 | 禁止子账户访问 | 400 |
40069 | 已达到创建子账号的最大数量 | 400 |
40070 | passphrase 8-32个字母和数字字符 | 400 |
40071 | subName 存在重复的 | 400 |
40072 | symbol {0} 无效或者不支持合约交易 | 400 |
40102 | 合约配置不存在,请检查参数 | 400 |
40109 | 查不到该订单的数据,请确认订单号 | 400 |
40200 | 服务器升级,请稍后再试 | 400 |
40301 | 暂未获得使用权限,如需使用,请联系客服 | 400 |
40303 | 最多只能查询20000条数据 | 400 |
40304 | clientOid或clientOrderId的长度不能大于50个字符 | 400 |
40305 | clientOid或clientOrderId的长度不能大于64个字符,且不能是火星字符 | 400 |
40306 | 批量处理订单最多只能处理50条 | 400 |
40308 | 该合约正在临时维护 | 400 |
40309 | 该合约已下架 | 400 |
40400 | 状态校验异常 | 400 |
40401 | 该操作无法执行 | 400 |
40402 | orderId或clientOId格式错误 | 400 |
40407 | 查询方向不是计划委托的方向 | 400 |
40408 | 范围错误 | 400 |
40409 | 格式错误 | 400 |
40704 | 只能查最近三个月的数据 | 400 |
40705 | 起止时间不能超过90天 | 400 |
40707 | 开始时间大于结束时间 | 400 |
40708 | 参数校验异常 | 400 |
40709 | 该仓位暂无持仓,不能设置自动追加保证金 | 400 |
40710 | 账户非正常状态 | 400 |
40711 | 合约账户余额不足 | 400 |
40712 | 保证金数量不足 | 400 |
40713 | 不能超过最大可转出保证金数量 | 400 |
40714 | 不允许直接追加保证金 | 400 |
40715 | 委托数量大于最大可开张数 | 400 |
40716 | 该交易对不支持全仓模式 | 400 |
40724 | 参数为空 | 400 |
40725 | 返回无映射信息 | 400 |
40726 | 全仓模式不支持自动追加保证金 | 400 |
40727 | 全仓模式不支持调整保证金 | 400 |
40728 | 您当前为交易员身份,请在当前带单下进行平仓 | 400 |
40729 | 调整仓位失败,当前持有仓位或委托或者计划委托 | 400 |
40730 | 当前有委托,或者计划委托,无法调整杠杆 | 400 |
40199 | 非交易员调用接口 | 400 |
40731 | 该产品不支持跟单交易 | 400 |
40732 | 当前不是交易员身份 | 400 |
40733 | 跟单平仓已经处理完成 | 400 |
40734 | 下单失败,交易员最少开仓张数{0}张 | 400 |
40735 | 多头仓位止盈价格请大于开仓均价 | 400 |
40736 | 多头仓位止盈价格请大于当前价格 | 400 |
40737 | 空头仓位止盈价格请小于开仓均价 | 400 |
40738 | 空头仓位止盈价格请小于当前价格 | 400 |
40739 | 多头仓位止损价格请小于开仓均价 | 400 |
40740 | 多头仓位止损价格请小于当前价格 | 400 |
40741 | 空头仓位止损价格请大于开仓均价 | 400 |
40742 | 空头仓位止损价格请大于当前价格 | 400 |
40743 | 该订单正在平仓中,不能再次平仓 | 400 |
40744 | 该追踪订单状态错误 | 400 |
40745 | 此带单正在委托中,暂不支持平仓 | 400 |
40746 | 当前最多可平仓张数为{0}张,超过的张数请到当前带单下平仓 | 400 |
40747 | 赠金不允许双向持仓 | 400 |
40748 | 委托价格高于最高买价 | 400 |
40749 | 委托价格低于于最低卖价 | 400 |
40750 | 该合约的计划委托已达到上限 | 400 |
40751 | 该合约的止盈止损委托已达到上限 | 400 |
40752 | 您被禁用当前业务,如有疑问请联系客服 | 400 |
40753 | api权限已禁用,如有疑问请联系客服 | 400 |
40754 | balance的可用不足. | 400 |
40755 | 开仓可用不足. | 400 |
40756 | balance的锁定不足. | 400 |
40757 | position的可用不足. | 400 |
40758 | position的锁定不足. | 400 |
40759 | 没有任何资产 | 400 |
40760 | 账户非正常状态 | 400 |
40761 | 未成交委托单总数过高 | 400 |
40762 | 委托数量大于最大可开数量 | 400 |
40763 | 委托数量不能超过对应档位的最大量 | 400 |
40764 | 订单剩余量小于本次成交量 | 400 |
40765 | 仓位剩余量小于本次成交量 | 400 |
40766 | 开仓委托数量小于本次成交量 | 400 |
40767 | 开仓处理时仓位不存在 | 400 |
40768 | 订单不存在 | 400 |
40769 | 拒绝订单已有成交 | 400 |
40770 | 结算或者手续费币种配置未找到. | 400 |
40771 | 扎差时,不能拥有平仓委托. | 400 |
40772 | 帐户不存在 | 400 |
40773 | 平仓只能发生在双向持仓下. | 400 |
40774 | 单边持仓时委托类型也必须是单边持仓类型. | 400 |
40775 | 做市帐户只能是单边持仓类型. | 400 |
40776 | 创建订单错误. | 400 |
40777 | 取消订单错误. | 400 |
40778 | 币对{0}不支持{1}币种作为保证金 | 400 |
40779 | 请检查使用了正确的delegateType | 400 |
40780 | 同一symbolId同一时刻有多条风险处理记录 | 400 |
40781 | 未找到转帐订单 | 400 |
40782 | 内部划转错误 | 400 |
40783 | 档位未找到 | 400 |
40784 | 需要配置modify depth帐户 | 400 |
40785 | 需要配置draw line帐户 | 400 |
40786 | 重复的clientOid | 400 |
40787 | 价格步长不匹配 | 400 |
40788 | 批量内部划转错误 | 400 |
40789 | 配置项中tokenId重复 | 400 |
40790 | 配置项中symbolCode重复 | 400 |
40791 | symbolCode的baseToken或者quoteToken不存在 | 400 |
40792 | 配置项中symbol重复 | 400 |
40793 | BusinessSymbol的symbolCode不存在 | 400 |
40794 | BusinessSymbol的supportMarginToken未配置 | 400 |
40795 | 因为结算或维护原因, 交易暂停 | 400 |
40796 | 调整后杠杆不在合适的范围内 | 400 |
40797 | 超过最大可设置杠杆倍数 | 400 |
40798 | 合约账户余额不足 | 400 |
40799 | 不能小于最小转入数量 | 400 |
40800 | 保证金数量不足 | 400 |
40801 | 不能超过最大可转出保证金数量 | 400 |
40802 | 仓位为零,不允许直接追加保证金 | 400 |
40803 | 调小杠杆,追加保证金数量不正确 | 400 |
40804 | 平仓数量不能超过持有仓位数量 | 400 |
40805 | 不支持的操作 | 400 |
40806 | 不支持的币种 | 400 |
40807 | 账户不存在 | 400 |
40808 | 参数校验异常 {0} | 400 |
40809 | 执行价格参数校验异常 | 400 |
40810 | 触发价格参数校验异常 | 400 |
40811 | 参数 {0} 不应该为null | 400 |
40812 | 条件 {0} 未满足 | 400 |
40813 | 参数 {0} 必须有值,不能为空 | 400 |
40814 | 杠杆倍数无变化 | 400 |
40815 | 委托价格高于最高买价 | 400 |
40816 | 委托价格低于于最低卖价 | 400 |
40817 | 当前订单状态不能撤销 | 400 |
40818 | 当前订单类型不能撤销 | 400 |
40819 | 订单不存在! | 400 |
40820 | 平多委托价格不允许低于爆仓价 | 400 |
40821 | 平空委托价格不允许高于爆仓价 | 400 |
40822 | 合约配置不存在 | 400 |
40823 | 成交或合理标记价格不存在 | 400 |
40824 | 当前不允许挂市价单 | 400 |
40825 | 合约对手深度不存在 | 400 |
40826 | 因价格波动过大,市价委托成本不足,开仓委托失败。 | 400 |
40827 | 赠金不允许双向持仓 | 400 |
40828 | 特殊做市账户不能手动挂单 | 400 |
40829 | 多头仓位止盈价格请大于开仓均价 | 400 |
40830 | 多头仓位止盈价格请大于当前价格 | 400 |
40831 | 空头仓位止盈价格请小于开仓均价 | 400 |
40832 | 空头仓位止盈价格请小于当前价格 | 400 |
40833 | 多头仓位止损价格请小于开仓均价 | 400 |
40834 | 多头仓位止损价格请小于当前价格 | 400 |
40835 | 空头仓位止损价格请大于开仓均价 | 400 |
40836 | 空头仓位止损价格请大于当前价格 | 400 |
40837 | 该仓位暂无持仓,不能进行止盈止损委托 | 400 |
40838 | 该仓位暂无持仓,不能设置自动追加保证金 | 400 |
40839 | 该合约自动追加保证金功能已暂停使用 | 400 |
40840 | 分片做市账户重复 | 400 |
40841 | 线上环境不允许执行 | 400 |
40842 | 目前配置不允许调整,请稍后重试 | 400 |
40843 | no_datasource_key_exists | 400 |
40844 | 该合约正在临时维护 | 400 |
40845 | 该合约已下架 | 400 |
40846 | 状态校验异常 | 400 |
40847 | 该操作无法执行 | 400 |
40848 | 有仓位不能开启跟单交易 | 400 |
40849 | 该用户已存在进行中的跟单 | 400 |
40850 | 跟单进行中,不能转出余额 | 400 |
40851 | 账户状态错误,不能结束跟单 | 400 |
40852 | 有未成交的委托订单,不能结束跟单 | 400 |
40853 | 有未执行的计划委托,不能结束跟单 | 400 |
40854 | 该产品不支持跟单交易 | 400 |
40855 | 用户已结束跟单,不能再次结束跟单 | 400 |
40856 | 数据异常 | 400 |
40857 | 跟单号错误 | 400 |
40858 | 追踪订单状态错误 | 400 |
40859 | 该订单正在平仓中,不能再次平仓 | 400 |
40860 | 交易员不存在,不能设置跟随 | 400 |
40861 | 交易员已停用,不能设置跟随 | 400 |
40862 | 请撤销当前委托 | 400 |
40863 | 请撤销当前计划 | 400 |
40864 | 请将当前带单平仓 | 400 |
40865 | 此带单正在委托中,暂不支持平仓 | 400 |
40866 | 您当前为交易员身份,请在当前带单下进行平仓 | 400 |
40867 | 当前最多可平仓数量为{0},超过的数量请到当前带单下平仓 | 400 |
40868 | 您当前为交易员身份,暂不支持通过计划委托进行平仓 | 400 |
40869 | 您当前为交易员身份,暂不支持修改杠杆 | 400 |
40870 | 您当前正在进行跟单,暂不支持修改杠杆 | 400 |
40871 | 杠杆不满足配置,不能成为交易员 | 400 |
40872 | 调整仓位失败,当前持有仓位或委托或者计划委托 | 400 |
40873 | 帐户拥有保证金,需要转出 | 400 |
40874 | 全仓模式不支持自动追加保证金 | 400 |
40875 | 全仓模式不支持调整保证金 | 400 |
40876 | 追踪订单数量过多 | 400 |
40877 | 跟随追踪订单数量过多 | 400 |
40878 | 合约指数数据异常,为了避免造成您的损失,请稍后再试。 | 400 |
40879 | 风险处理中,不能调整资金. | 400 |
40880 | 风险处理中,不能调整杠杆. | 400 |
40881 | 当前有委托,或者计划委托,无法调整杠杆. | 400 |
40882 | 您当前为交易员身份,不能切换为全仓模式 | 400 |
40883 | 币种混合时,不能调整为逐仓模式 | 400 |
40884 | 单向持仓时,不能调整为逐仓模式 | 400 |
40885 | 逐仓模式时,不能调整为单向持仓 | 400 |
40886 | 全仓模式时,不能调整自动追加保证金 | 400 |
40887 | 下单失败,单笔闪电开仓数量最多{0} | 400 |
40888 | 下单失败,单笔闪电平仓数量最多{0} | 400 |
40889 | 该合约的计划委托已达到上限 | 400 |
40890 | 该合约的止盈止损委托已达到上限 | 400 |
40891 | 仓位不足,不能设置止盈或者止损 | 400 |
40892 | 下单失败,交易员最少开仓数量{0} | 400 |
40893 | 无法更新此仓位的杠杆系数,没有足够的保证金! | 400 |
40894 | 跟单平仓已经处理完成 | 400 |
40895 | 预设价格与委托/执行价格不匹配 | 400 |
40896 | 预设止盈止损已经部分兑现,不允许修改 | 400 |
40897 | 系统体验金账户不存在 | 400 |
40898 | 系统体验金账户余额不足 | 400 |
40899 | 存储的用户数量超出限制 | 400 |
40900 | 系统体验金账户不一致 | 400 |
40901 | 合约体验金余额不足 | 400 |
40902 | 不允许使用未来时间 | 400 |
40903 | 获取杠杆信息失败 | 400 |
40904 | 归集资金费用失败 | 400 |
40905 | 收取用户资金费用失败 | 400 |
40906 | 支付用户资金费用失败 | 400 |
40907 | 结算处理中,不能进行划转 | 400 |
40908 | 并发操作失败 | 400 |
40909 | 划转处理中 | 400 |
40910 | 操作超时 | 400 |
40911 | 请求时间戳过期 | 400 |
40912 | 单次撤单不能超过50 | 400 |
40913 | {0}必须传一个 | 400 |
40914 | 您当前为交易员身份,可使用的最大杠杆为{0} | 400 |
40915 | 多头仓位止盈价格请>标记价格 | 400 |
40916 | 此账号该业务已被限制 | 400 |
40917 | 多头仓位止损价格请 < 标记价格 {0} | 400 |
40918 | 交易员带单开仓过于频繁 | 400 |
40919 | 该功能暂未开放 | 400 |
40920 | 当前持有仓位或订单,仓位模式无法更换 | 400 |
40921 | 委托数量不能超过对应档位的最大量 | 400 |
40922 | 只允许修改 未成交的限价单 | 400 |
40923 | 订单数量和订单价格 没有变化 | 400 |
40924 | orderId 和 clientOid 必须传入一个 | 400 |
40925 | price or size 必须同时传入 | 400 |
43001 | 订单不存在 | 400 |
43002 | 挂单失败 | 400 |
43003 | 挂单失败 | 400 |
43004 | 没有可撤消的委单 | 400 |
43005 | 超过交易对最大委托数量限制 | 400 |
43006 | 下单数量小于最小交易数量 | 400 |
43007 | 下单数量大于最大交易数量 | 400 |
43008 | 当前委托价格不能小于{0}{1} | 400 |
43009 | 当前委托价格超过限制{0}{1} | 400 |
43010 | 交易额不能小于{0}{1} | 400 |
43011 | 参数不合符规范 {0} | 400 |
42013 | 划转失败 | 400 |
42014 | 当前币种不支持充币 | 400 |
42015 | 当前币种不支持提币 | 400 |
42016 | symbol {0} 无效或者不支持现货交易 | 400 |
43013 | 止盈价格需要>当前价格 | 400 |
43014 | 止盈价格需要<当前价格 | 400 |
43015 | 止损价格需要<当前价格 | 400 |
43016 | 止损价格需要>当前价格 | 400 |
43017 | 您当前为交易员身份,暂不支持通过计划委托进行平仓 | 400 |
43020 | 止盈止损单不存在 | 400 |
43021 | 止盈止损单已经处于结束状态 | 400 |
43022 | 预设止盈止损触发失败 | 400 |
43023 | 仓位不足,不能设置止盈或者止损 | 400 |
43024 | 已有委托中的止盈/止损,请在全部撤销后更改 | 400 |
43025 | 计划委托单不存在 | 400 |
43026 | 计划委托单已经处于结束状态 | 400 |
43027 | 不满足最小下单价值{0} | 400 |
43028 | 价格请输入{0}的整倍数 | 400 |
43029 | 当前委托的数量 > 最大可平仓数量 | 400 |
43032 | rangeRate is smaller than {0} | 400 |
43033 | Trailing order does not exist | 400 |
43034 | The trigger price should be ≤ the current market price | 400 |
43035 | The trigger price should be ≥ the current market price | 400 |
43036 | 交易员修改止盈止损300ms内只允许操作一次 | 400 |
43037 | 不能小于交易最小委托量{0} | 400 |
43038 | 不能大于交易最大委托量{0} | 400 |
43039 | 超过最大价格限制{0} | 400 |
43040 | 价格最小变动为{0} | 400 |
43041 | 超过最大交易额{0} | 400 |
43042 | 低于最小交易额{0} | 400 |
43043 | 该仓位暂无持仓,不能进行止盈止损委托 | 400 |
43044 | 追踪订单状态错误 | 400 |
43045 | 此交易员已达跟单上限,请选择其他交易员 | 400 |
43046 | 用户不存在 | 400 |
43047 | 跟随者被移除后的几分钟内不允许再次跟随,请稍后再试 | 400 |
43048 | 交易对为空 | 400 |
43049 | 不支持该保证金 | 400 |
43050 | 杠杆超过有效范围 | 400 |
43051 | 超过最大限制 | 400 |
43052 | 跟单数量不能低于{0} | 400 |
43053 | 跟单比例不能超过{0} | 400 |
43054 | 跟单比例不能低于{0} | 400 |
43055 | 止损比例需介于{0}-{1} | 400 |
43056 | 止盈比例需介于{0}-{1} | 400 |
43057 | 子母账户之间不可带单或跟单 | 400 |
43058 | 参数校验失败 | 400 |
43059 | 操作失败,请重试 | 400 |
43060 | 排序规则必传 | 400 |
43061 | 排序字段必传 | 400 |
43062 | 该交易员不存在或不可跟单该交易员 | 400 |
43063 | 自己不能跟单自己 | 400 |
43064 | 当前带单订单状态错误 | 400 |
43065 | 跟踪单号 不存在 | 400 |
43066 | 操作失败 | 400 |
43067 | 加载数据已达上限,单次最大支持加载{0}条 | 400 |
43068 | 当前跟随者状态异常,暂不允许移除 | 400 |
43069 | 当跟随者账户权益低于{0}USDT时才可被移除 | 400 |
45001 | 未知错误 | 400 |
45002 | 资产可用不足 | 400 |
45003 | 开仓可用不足 | 400 |
45004 | 资产的锁定不足 | 400 |
45005 | 仓位的可用不足 | 400 |
45006 | position的仓位不足 | 400 |
45007 | position的锁定不足 | 400 |
45008 | 没有任何资产 | 400 |
45009 | 账户有风险,暂时不能交易 | 400 |
45010 | 委托数量不能超过对应档位的最大量 | 400 |
45011 | 订单剩余量<本次成交量 | 400 |
45012 | 仓位剩余量<本次成交量 | 400 |
45013 | 开仓委托数量<本次成交量 | 400 |
45014 | 开仓处理时仓位不存在 | 400 |
45015 | 订单不存在 | 400 |
45016 | 拒绝订单已有成交 | 400 |
45017 | 结算或者手续费币种配置未找到. | 400 |
45018 | 扎差时,不能拥有平仓委托. | 400 |
45019 | 帐户不存在 | 400 |
45020 | 平仓只能发生在双向持仓下. | 400 |
45021 | 单边持仓时委托类型也必须是单边持仓类型. | 400 |
45023 | 创建订单错误. | 400 |
45024 | 取消订单错误. | 400 |
45025 | 币对不支持该币种作为保证金 | 400 |
45026 | 请检查使用了正确的delegateType | 400 |
45031 | 订单已经是终态 | 400 |
45034 | 重复的clientOid | 400 |
45035 | 价格步长不匹配 | 400 |
45043 | 因为结算或维护原因, 交易暂停 | 400 |
45044 | 调整后杠杆不在合适的范围内 | 400 |
45045 | 超过最大可设置杠杆倍数 | 400 |
45047 | 调小杠杆,追加保证金数量不正确 | 400 |
45051 | 执行价格参数校验异常 | 400 |
45052 | 触发价格参数校验异常 | 400 |
45055 | 当前订单状态不能撤销 | 400 |
45056 | 当前订单类型不能撤销 | 400 |
45057 | 订单不存在! | 400 |
45060 | 多头仓位止盈价格请>当前价格{0} | 400 |
45061 | 空头仓位止盈价格请<当前价格{0} | 400 |
45062 | 多头仓位止损价格请<当前价格{0} | 400 |
45063 | 空头仓位止损价格请>当前价格{0} | 400 |
45064 | 多头仓位止盈价格请>委托价格{0} | 400 |
45065 | 空头仓位止盈价格请<委托价格{0} | 400 |
45066 | 多头仓位止损价格请<委托价格{0} | 400 |
45067 | 空头仓位止损价格请>委托价格{0} | 400 |
45068 | 多头仓位止盈价格请>执行价格{0} | 400 |
45075 | 该用户已存在进行中的跟单 | 400 |
45081 | 跟单号错误 | 400 |
45089 | 您当前正在进行跟单,暂不支持修改杠杆 | 400 |
45091 | 追踪订单数量过多 | 400 |
45097 | 当前有委托,或者计划委托,无法调整杠杆. | 400 |
45098 | 您当前为交易员身份,不能切换为全仓模式 | 400 |
45099 | 币种混合时,不能调整为逐仓模式 | 400 |
45100 | 单向持仓时,不能调整为逐仓模式 | 400 |
45101 | 逐仓模式时,不能调整为单向持仓 | 400 |
45102 | 全仓模式时,不能调整自动追加保证金 | 400 |
45103 | 下单失败,单笔闪电开仓数量最多%s | 400 |
45104 | 下单失败,单笔闪电平仓数量最多%s | 400 |
45106 | 跟单平仓已经处理完成 | 400 |
45107 | API限制开仓,如有问题请联系客服 | 400 |
45108 | API限制平仓,如有问题请联系客服 | 400 |
45110 | 触发最小下单价值限制 {0} USDT | 400 |
45111 | 触发最小下单数量 | 400 |
45112 | 触发最最大下单数量 | 400 |
45113 | 触发最大下单价值限制 | 400 |
45114 | 不满足最小下单要求 | 400 |
45115 | price 应该满足 {0} 倍数 | 400 |
45116 | 当前账号持仓条数超过最大数量 {0} | 400 |
45117 | 当前持有仓位或委托,无法调整保证金模式 | 400 |
45118 | 达到总笔数上限(当前委托笔数+当前带单笔数) {0} | 400 |
45119 | 此合约暂不支持开仓操作 | 400 |
45120 | 委托数量 > 最大可开数量 | 400 |
45121 | 合理标记价格偏离盘口过大,您当前杠杆开仓风险较高 | 400 |
45122 | 空头仓位止损价格请>标记价格 {0} | 400 |
45123 | 可用不足, 当前只可市价下单 | 400 |
45124 | Please edit and submit again. | 400 |
45125 | Order cancellation is unavailable for inactive orders. Please cancel parent order and place a new order. | 400 |
45126 | Order cancellation is unavailable for inactive orders. Please cancel parent order and place a new order. | 400 |
45127 | Position brackets disabled TP SL | 400 |
45128 | Position brackets disabled modify qty | 400 |
45129 | 撤单过于频繁, 同一个订单号一秒内只允许取消一次 | 400 |
41103 | 参数{0}错误 | 400 |
41101 | 参数{0}错误 | 400 |
41113 | 该交易对已下线 | 400 |
41114 | 当前交易对停盘中,具体开放时间请留意官方公告 | 400 |
43012 | 账户余额不足 | 400 |
41100 | {0} | 400 |
43111 | 参数错误 {0} | 400 |
43112 | 提币金额小于手续费 {0} | 400 |
43113 | 单笔超过了每日限额 {0} | 400 |
43114 | 提币小于最小提币数 {0} | 400 |
43115 | 此交易对未到开盘交易时间 | 400 |
43116 | 该chain提币需要tag | 400 |
43117 | 超过可转出的最大金额 | 400 |
43118 | clientOrderId重复 | 400 |
43119 | Trading is not open | 400 |
43120 | symbol is not open trade | 400 |
43121 | Withdrawal address cannot be your own | 400 |
43122 | 该币种限制买入额度{0},还剩{1} | 400 |
43123 | param error {0} | 400 |
43124 | withdraw step is error | 400 |
43125 | No more than 8 decimal places | 400 |
43126 | This currency does not support withdrawals | 400 |
43127 | 非母账户发起划转,或母子账户关系错误 | 400 |
43128 | 超过总交易对最大委托数量限制 {0} | 400 |
47001 | Currency recharge is not enabled | 400 |
47002 | 提币地址校验失败 | 400 |
47003 | 白名单已开启,您的账户只能提现到地址簿地址 | 400 |
49000 | apiKey与用户userId不匹配 | 400 |
49001 | 非外部资金托管账户,不允许操作 | 400 |
49002 | 缺少http header: ACCESS-BROKER-KEY or ACCESS-BROKER-SIGN | 400 |
49003 | 非法的IP,拒绝访问 | 400 |
49004 | 非法的ACCESS-BROKER-KEY值 | 400 |
49005 | 子账户拒绝访问 | 400 |
49006 | ACCESS-BROKER-SIGN校验失败 | 400 |
49007 | 账户未绑定 | 400 |
49008 | 账户已绑定 | 400 |
49009 | 指定clientUserId和已绑定用户ID不一致 | 400 |
49010 | 账户 {0} 存在资产: {1} | 400 |
49011 | 用户绑定前必须完成KYC | 400 |
49020 | 不支持的币种 | 400 |
49021 | 资金操作进行中 | 400 |
49022 | 禁止访问 | 400 |
49023 | 余额不足 | 400 |
49024 | {0} 数量精度错误 | 400 |
49025 | 请求内容和初次请求该requestId的内容不一致,具体参数 {0} | 400 |
49026 | {0} 最大 {1} 位 | 400 |
49030 | 外部资金托管账户, 拒绝访问 | 400 |
49040 | 未知异常 | 400 |
60001 | startTime不能为空 | 400 |
60002 | merchantId不能为空 | 400 |
60003 | 未找到订单 | 400 |
60004 | 未找到广告 | 400 |
60005 | 未找到商家 | 400 |
70001 | 活动ID错误,未找到该活动 | 400 |
70002 | rankType错误不支持 | 400 |
45109 | 当前铺单账户为双向持仓 | 400 |
40000 | Bitget正在为全球多个国家和地区提供服务,并严格遵守各个国家和地区的法规与监管要求。依据相关法规,Bitget当前无法对您所在的地区(中国大陆地区)提供服务,您没有开仓权限,给您带来不便,敬请谅解! | 400 |
48001 | 参数验证失败 {0} | 400 |
48002 | 缺少请求参数 | 400 |
46013 | 该币种限制卖出额度{0},还剩{0} | 400 |
40404 | 请求的URL不存在 | 400 |
50010 | 未知错误 | 400 |
50012 | 账户已冻结或者已注销,请联系客服。 | 400 |
50013 | 账户已冻结、注销,请联系客服。 | 400 |
50019 | 该用户禁止交易 | 400 |
50059 | 不支持划转该币种 | 400 |
50052 | 资产划转时金额小于0 | 400 |
50048 | 超过交易对最大委托数量限制 | 400 |
50046 | 价格太低 | 400 |
50047 | 价格太高 | 400 |
50026 | 交易对未开放交易 | 400 |
50025 | 交易对未开放交易 | 400 |
50016 | 挂单数量低于交易对最小挂单数量 | 400 |
50017 | 挂单数量高于交易对最大挂单数量 | 400 |
50023 | 账号异常被冻结,如有疑问请联系客服 | 400 |
50031 | 系统异常 | 400 |
50044 | 未配置系统账户 | 400 |
50049 | 系统用户操作请求体为空 | 400 |
50050 | 系统借贷归集已经被执行过了 | 400 |
50027 | 交易对停止交易维护 | 400 |
50030 | 交易对即将开放 | 400 |
50029 | 交易对无下单价格 | 400 |
50028 | 交易对下线 | 400 |
50040 | 还款金额必须大于0 | 400 |
50042 | 还款金额必须大于利息 | 400 |
50041 | 还款金额必须小于可用资产 | 400 |
50051 | 对账时收到不在系统(缓存)中的用户 | 400 |
50024 | 交易对不存在 | 400 |
50011 | 参数校验异常 | 400 |
50053 | 借贷归还时金额小于0 | 400 |
50056 | 强平手续费缴纳时金额小于0 | 400 |
50054 | 利息归还时金额小于0 | 400 |
50055 | 手续费缴纳时金额小于0 | 400 |
50033 | websocket查询的topic不存在 | 400 |
50057 | 穿仓补偿时金额小于0 | 400 |
50032 | 币种不存在 | 400 |
50036 | 借贷配置不存在 | 400 |
50037 | 该币种不可借贷 | 400 |
50038 | 超出系统限制额度 | 400 |
50034 | 借款金额必须大于0.00000001 | 400 |
50035 | 超出最大可借金额 | 400 |
50020 | 余额不足 | 400 |
50045 | 锁定资产不足 | 400 |
50015 | 子账号暂时不支持开通杠杆交易 | 400 |
50021 | 杠杆帐户不存在 | 400 |
50022 | 账户处于强平状态 | 400 |
50014 | 账户已存在 | 400 |
50060 | 重复的clientOid | 400 |
50058 | 穿仓没收盈余金额小于0 | 400 |
50039 | 币对币种不匹配 | 400 |
50018 | 价格不能小于0 | 400 |
50043 | 未知的资产流水类型 | 400 |
50061 | 请修改后提交 | 400 |
50062 | 该订单已成交或者已撤单 | 400 |
50063 | 币种精度必须小于等于8位 | 400 |
50064 | 当前业务已冻结,如有疑问请联系客服 | 400 |
50065 | 币对已下架 | 400 |
50066 | 仓位平仓中,请稍后操作 | 400 |
31001 | 该用户不是交易员 | 400 |
31002 | 条件 {0} 未满足 | 400 |
31003 | 参数 {0} 必须有值,不能为空 | 400 |
31004 | 止盈价格需要>当前价格 | 400 |
31005 | 止损价格需要<当前价格 | 400 |
31006 | 此带单正在委托中,暂不支持平仓 | 400 |
31007 | 订单不存在 | 400 |
31008 | 该仓位暂无持仓,不能进行止盈止损委托 | 400 |
31009 | 追踪订单状态错误 | 400 |
31010 | 清退用户提示 | 400 |
31011 | 未完全成交订单平仓提示取消委托 | 400 |
31012 | 回调幅度大于{0} | 400 |
31013 | 回调幅度小于{0} | 400 |
31014 | 止盈收益率大于{0} | 400 |
31015 | 止损收益率小于{0} | 400 |
31016 | 批量执行异常 | 400 |
31017 | 超过最大价格限制{0} | 400 |
31018 | 价格最小变动为 {0} | 400 |
31019 | 支持交易币对不存在 | 400 |
31020 | 业务被限制 | 400 |
31021 | 该币对不可交易,请选择其他币对 | 400 |
31022 | 不满足该交易区最小下单量,请选择其他交易区 | 400 |
31023 | 结束跟单处理中 | 400 |
31024 | 该笔订单未完全成交,请到"现货交易"-"当前委托"下撤销该笔委托后,再进行卖出或结束操作! | 400 |
31025 | 您的交易员身份已被停用或撤销,暂不支持此操作,如有疑问请联系客服! | 400 |
31026 | 用户不存在 | 400 |
31027 | 操作失败,请重试 | 400 |
31028 | 参数验证失败 | 400 |
31029 | 用户不存在 | 400 |
31030 | 所选交易对为空 | 400 |
31031 | 您当前身份为交易员,暂不可进行跟单操作 | 400 |
31032 | 不能自己跟自己 | 400 |
31033 | 移除失败 | 400 |
31034 | 此交易员跟随人数达上限,请选择其他交易员 | 400 |
31035 | 跟单比例不能低于{0} | 400 |
31036 | 跟单比例不能超过{0} | 400 |
31037 | 跟单张数不能低于{0} | 400 |
31038 | 超过最大限制 | 400 |
31039 | 交易员身份已被取消,无法设置提醒 | 400 |
31040 | 止盈比例需介于{0}%%-{1}%% | 400 |
31041 | 止损比例需介于{0}%%-{1}%% | 400 |
31042 | 您的交易员身份已暂停,若需设置带单合约请联系在线客服 | 400 |
31043 | 您的带单人数已经过平台增员,如需打开此功能请联系客服减员! | 400 |
31044 | 您当前正在申请交易员,暂不允许跟单 | 400 |
31045 | 当前最多可止盈/止损数量为{0},超过的数量请到当前带单下操作。 | 400 |
31046 | 子母账户之间不可带单或跟单 | 400 |
31047 | 跟随者被移除后的{0}分钟内不允许再次跟随,请稍后再试! | 400 |
31048 | 该交易员仅支持邀请用户跟随,请选择其他交易员! | 400 |
31049 | 该交易员身份异常或已被撤销,暂不支持查看! | 400 |
31050 | 交易员UID重复 | 400 |
31051 | traderUserId 异常 | 400 |
31052 | 不能设置交易员未开启的带单对。 | 400 |
31053 | executePrice 不能超过 triggerPrice 的{0} | 400 |
31054 | 没有可撤销的订单 | 400 |
20001 | startTime 必须小于 endTime | 400 |
22001 | 暂无委托可撤销 | 400 |
22002 | 暂无仓位可平 | 400 |
22003 | 修改price 和 size 时 请务必 传入 newClientOid | 400 |
22004 | 此 {0} 合约暂未支持API交易 | 400 |
22005 | 此合约暂不支持使用全仓模式 | 400 |
22006 | 委托价格 > 风控最高买价 | 400 |
22007 | 委托价格 < 风控最低卖价 | 400 |
22008 | 市场价格 > 风控最高买价 | 400 |
22009 | 市场价格 < 风控最低卖价 | 400 |
22010 | 请设置ip白名单地址 | 400 |
40100 | 由于监管要求,香港IP需要先完成身份验证 | 400 |
40101 | 请先完成KYC | 400 |
00001 | startTime 和 endTime 间隔不能大于366天 | 400 |
12001 | 当前最多可使用{0},剩余部分处于跟单或带单的冻结资产,暂不可使用 | 400 |
12002 | 当前币种{0},限制净卖出价值{1} USD | 400 |
12003 | 当前币种{0},限制净买出价值{1} USD | 400 |
13001 | 提币操作太频繁 | 400 |
13002 | 币种不存在 | 400 |
13003 | 提币超过每月限额 | 400 |
13004 | 您实际可提数量为{0} | 400 |
13005 | 生成地址失败 | 400 |
60006 | 参数异常 | 400 |
60007 | 上传文件不能超过5M | 400 |
60008 | 文件格式必须是[".jpg", ".jpeg", ".png"] | 400 |
60009 | 文件格式不正确 | 400 |
60010 | 上传异常 | 400 |
60011 | 普通用户无法发布广告 | 400 |
60012 | 您当前为离线状态,请切换为在线状态后再发布广告! | 400 |
60013 | 可用余额不足 | 400 |
60014 | 法币信息未查到 | 400 |
60015 | 数字币信息未查到 | 400 |
60016 | 仅支持发布CNY广告 | 400 |
60017 | 不支持发布CNY广告 | 400 |
60018 | 您的 KYC 认证仅支持发布{0} | 400 |
60019 | 发布失败,无法获取汇率价格 | 400 |
60020 | 广告类型错误 | 400 |
60021 | 支付方式为空 | 400 |
60022 | 交易数量不正确 | 400 |
60023 | 不满足法币限额({0}-{1}) | 400 |
60024 | 对账资金异常 | 400 |
60025 | 备注长度不能大于配置长度 | 400 |
60026 | 专属国家错误 | 400 |
60027 | 付款期限错误 | 400 |
60028 | 付款方式错误 | 400 |
60029 | 发布广告失败 | 400 |
60030 | 状态错误 | 400 |
60031 | 广告编号太长 | 400 |
60032 | 广告不存在 | 400 |
60033 | 发布的广告金额错误 | 400 |
60034 | 备注图片数量不能大于配置数量 | 400 |
60035 | 编辑广告失败 | 400 |
60036 | payTimeLimit不能为空 | 400 |
60037 | 发布失败,定价与参考价差距大 | 400 |
60038 | 发布失败,浮动比率错误。 | 400 |
60039 | 用户不存在 | 400 |
60040 | 未授权不支持访问 | 400 |
60041 | 修改广告价格失败 | 400 |
60042 | limitPrice 不能为空 | 400 |
60043 | 广告状态更新失败 | 400 |
60044 | 只有编辑中的广告,才能编辑 | 400 |
60045 | 超过可发布的广告数量 | 400 |
60046 | priceValue 不能是空 | 400 |
60047 | userPayMethodId 不能是空 | 400 |
13007 | 当前币种{0},24小时限制净买入价值{1} USD,还可以净购买价值{2} USD的{3} | 400 |
11000 | 白名单已开启,您的账户只能提现到地址簿地址 | 400 |
40103 | 非常抱歉,根据您的IP地址和留存信息,您似乎位于我们目前无法提供服务的国家或地区 | 400 |
40104 | 无法转账到该账户 请确保这是个有效并完成认证的账户 | 400 |
30001 | 价格最小变动为 {0} % | 400 |
40928 | 风控比例限制,您当前最大可开为{0} {1}。单个用户风控比例限额是所有母子账户一起计算 | 400 |
47003 | 白名单已开启,您的账户只能提现到地址簿地址 | 400 |
13008 | 单笔提币超过最大限额 | 400 |
13009 | 超过每日总额额度 | 400 |
32038 | 卖出价不能低于触发价的{0} | 400 |
WebSocket错误代码
错误提示 | 错误码 |
---|---|
频道不存在 | 30001 |
不合法的请求 | 30002 |
无效op | 30003 |
用户需要登录 | 30004 |
登录失败 | 30005 |
无效的ACCESS_KEY | 30011 |
无效的ACCESS_PASSPHRASE | 30012 |
无效的ACCESS_TIMESTAMP | 30013 |
请求时间戳过期 | 30014 |
无效的签名 | 30015 |
参数错误 | 30016 |