跳至主要内容

概覽

Bybit V3 Open API 能給讓用戶基於不同的產品構建API模型。

  • 衍生品 - 合約: 您可以通過contract/v3接口交易USDT永續, 反向永續, 反向交割
  • 現貨: 您可以通過spot/v3交易現貨。
  • 帳戶資產: 涉及了劃轉、提現、密鑰相關等接口。
  • 稅務: 您可以通過這部分接口生成稅務相關的報告。

鑒權/認證

信息

請先生成測試網主網API KEY。

REST接口根URL:

選擇用於鑒權的API密鑰類型

  • 系統生產的API密鑰: Bybit 系統生成的 API 密鑰基於 HMAC 對稱加密算法運作。您將獲得一對公鑰和私鑰。請將這對密鑰視為密碼一樣妥善保管。

    跟隨HMAC簽名示例來完成加密過程。

  • 自動生成的API密鑰: 自動生成的 API 密鑰基於 RSA 非對稱加密算法運作。您必須通過軟件自行創建公鑰和私鑰,然後僅向 Bybit 提供公鑰。Bybit 不會替您保管私鑰。

    1.使用開源的RSA密鑰對創建器來創建出一組RSA密鑰對
    2.跟隨RSA簽名示例來完成加密過程。

公共參數

需要簽名的接口必須包含以下http頭參數:

  • X-BAPI-API-KEY - api密鑰
  • X-BAPI-TIMESTAMP - UTC毫秒時間戳
  • X-BAPI-SIGN - 請求參數簽名
  • X-Referer or Referer - 經紀商用戶專用的頭參數

另外我們提供可選的X-BAPI-RECV-WINDOW參數(單位是毫秒,默認值為5000),來指定請求在多長時間內有效,同時用來防止重放攻擊。

警告

註意,timestamp參數必須符合如下規則:
server_time - recv_window <= timestamp < server_time + 1000
其中server_time是Bybit服務器時間,您可以通過Bybit服務器時間接口獲取.

構建請求

提示

為了幫助診斷高級網絡問題,您可以考慮將cdn-request-id添加到您的請求頭中。對於每個請求,它的值應該是唯一的。.

基本步驟:

  1. 時間戳 + api-key + [recv_window]+ [queryString(無需排序) | jsonBodyString]
  2. 使用HMAC_SHA256或者RSA_SHA256算法對第1步中拼接的string簽名,並轉換為16進製字符串(HMAC_SHA256) / Base64編碼 (RSA_SHA256),得出sign參數。
  3. 添加生成的簽名到HTTP頭當中 注意: GETPOST請求的加密明文是不相同,請參考以下示例.

對明文加密的示例

# 拼接規則:
timestamp+api_key+recv_window+queryString

# 明文
"1658384314791XXXXXXXXXX5000category=option&symbol=BTC-29JUL22-25000-C"

# 解析
timestamp = "1658384314791"
api_key = "XXXXXXXXXX"
recv_window = "5000"
queryString = "category=option&symbol=BTC-29JUL22-25000-C"

http請求示例

GET /unified/v3/private/order/list?category=option&symbol=BTC-29JUL22-25000-C HTTP/1.1
Host: api-testnet.bybit.com
-H 'X-BAPI-SIGN: XXXXXXXXXX' \
-H 'X-BAPI-API-KEY: XXXXXXXXXX' \
-H 'X-BAPI-TIMESTAMP: 1658384431891' \
-H 'X-BAPI-RECV-WINDOW: 5000'

外層通用數據結構

衍生品

參數類型說明
retCodenumber成功/錯誤碼
retMsgstring成功/錯誤消息. 成功消息可以是OK,success,SUCCESS
resultObject業務數據體
retExtInfoObject額外信息. 大部分場景下都是{}
timenumber當前時間戳 (毫秒)
{
"retCode": 0,
"retMsg": "OK",
"result": {
},
"retExtInfo": {},
"time": 1671017382656
}

{
"retCode": 0,
"retMsg": "success",
"result": {
},
"retExtInfo": {},
"time": 1671017473888
}

{
"retCode": 0,
"retMsg": "Success",
"result": {
},
"retExtInfo": {},
"time": 1671017572923
}

現貨

參數類型說明
retCodenumber成功/錯誤碼
retMsgstring成功/錯誤消息. 成功消息可以是OK,success,SUCCESS
resultObject業務數據體
retExtInfoObject額外信息. 大部分場景下都是{}
timenumber當前時間戳 (毫秒)
{
"retCode": 0,
"retMsg": "OK",
"result": {
},
"retExtInfo": {},
"time": 1671017382656
}

{
"retCode": 0,
"retMsg": "success",
"result": {
},
"retExtInfo": {},
"time": 1671017473888
}

{
"retCode": 0,
"retMsg": "Success",
"result": {
},
"retExtInfo": {},
"time": 1671017572923
}

帳戶資產

參數類型說明
retCodenumber成功/錯誤碼
retMsgstring成功/錯誤消息. 成功消息可以是OK,success,SUCCESS
resultObject業務數據體
retExtInfoObject額外信息. 大部分場景下都是{}
timenumber當前時間戳 (毫秒)
{
"retCode": 0,
"retMsg": "OK",
"result": {
},
"retExtInfo": {},
"time": 1671017382656
}

{
"retCode": 0,
"retMsg": "success",
"result": {
},
"retExtInfo": {},
"time": 1671017473888
}

{
"retCode": 0,
"retMsg": "Success",
"result": {
},
"retExtInfo": {},
"time": 1671017572923
}