English
NAV
console python

中文社區和參考資料

歡迎使用 Bybit APIs 和 Websocket官方文檔!

如果您在使用API的過程中遇到問題需要幫助,請加入我們的 官方Telegram API討論群

中文社區和參考資料

更新日誌

2021-08-26

REST API

鑒權/認證

所有private接口都需要認證,public 接口不需要認證。

公共參數

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

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

構建請求

拼接參數示例(以修改槓桿率為例):

param_str = "api_key=B2Rou0PLPpGqcU0Vu2&leverage=100&symbol=BTCUSDH21&timestamp=1542434791747"

# api_key=B2Rou0PLPpGqcU0Vu2&
# leverage=100&
# symbol=BTCUSDH21&
# timestamp=1542434791747

參數按照 字母順序 排列,然後計算sign

1. 所有參數按照字母順序排序,然後按照query string格式拼接。

2. 使用HMAC_SHA256算法對第1步中拼接的query string簽名,並轉換為16進製字符串,得出sign參數。

GET請求格式(查詢賬號余額):

GET /asset/v1/private/transfer/list?api_key=q1ksyOX2T0G2SkK8nu&recvWindow=5000&timestamp=1623208423972&sign=b452640c21a2c9eaec30d24a9bce1a9660d1fb9d07ccc0d623a2a4fca0940095 HTTP/1.1
Host: api-testnet.bybit.com

POST請求格式(創建訂單):

POST /asset/v1/private/transfer HTTP/1.1
Host: api-testnet.bybit.com
Content-Type: application/json

{
    "from_account_type": "SPOT",
    "to_account_type": "CONTRACT",
    "amount": "0.01",
    "coin": "USDT",
    "transfer_id": "11ff9b44-2d5d-4293-913d-4597c9ad2170",
    "sign": "{{signature}}",
    "timestamp": "{{timestamp}}",
    "api_key": "{{bybit-api-key}}",
    "recv_window": "50000"
}

現貨劃轉相關接口

以下現貨劃轉相關接口都需要鑒權.

劃轉

請求示例

curl --location --request POST 'https://api-testnet.bybit.com/asset/v1/private/transfer' \
--header 'Content-Type: application/json' \
--data-raw '{
    "from_account_type": "SPOT",
    "to_account_type": "CONTRACT",
    "amount": "0.1",
    "coin": "BTC",
    "transfer_id": "b668ce35-db92-4db4-9f81-0b5da57d4df6",
    "api_key": "YtcjswsO9WjAmQVUx7",
    "sign": "{{sign}}",
    "timestamp": "{{timestamp}}",
    "recv_window": "{{recvWindow}}"
}'

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "result": {
        "transfer_id": "b668ce35-db92-4db4-9f81-0b5da57d4df6"
    },
    "ext_info": null,
    "time_now": 1629951080227,
    "rate_limit_status": 17,
    "rate_limit_reset_ms": 1629951080227,
    "rate_limit": 3
}

觸發劃轉動作

HTTP 請求

POST /asset/v1/private/transfer

請求參數

參數 是否必須 類型 說明
transfer_id true string UUID,全局唯一
coin true string 幣種類型
amount true string 兌入數量
from_account_type true string 賬戶類型
to_account_type true string 賬戶類型

返回參數

參數 類型 說明
transfer_id string UUID,全局唯一

子母劃轉

請求示例

curl --location --request POST 'https://api-testnet.bybit.com/asset/v1/private/sub-member/transfer' \
--header 'Content-Type: application/json' \
--data-raw '{
    "transfer_id": "5f95de18-b10f-43be-9746-7b95c4a37d97",
    "amount": "0.1",
    "coin": "BTC",
    "sub_user_id":"251711",
    "type": "IN",
    "api_key": "YtcjswsO9WjAmQVUx7",
    "sign": "{{sign}}",
    "timestamp": "{{timestamp}}",
    "recv_window": "{{recvWindow}}"
}'

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "result": {
        "transfer_id": "5f95de18-b10f-43be-9746-7b95c4a37d97"
    },
    "ext_info": null,
    "time_now": 1629966770894,
    "rate_limit_status": 18,
    "rate_limit_reset_ms": 1629966770894,
    "rate_limit": 2
}

觸發子母劃轉動作

HTTP 請求

POST /asset/v1/private/sub-member/transfer

請求參數

參數 是否必須 類型 說明
transfer_id true string UUID,全局唯一
coin true string 幣種類型
amount true string 兌入數量
sub_user_id true string 子賬戶
type true string 轉入轉出類型

返回參數

參數 類型 說明
transfer_id string UUID,全局唯一

查詢劃轉記錄列表

請求示例

curl --location --request GET 'https://api-testnet.bybit.com/asset/v1/private/transfer/list'

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "result": {
        "list": [
            {
                "transfer_id": "selfTransfer_c5ae452d-43e8-47e6-aa7c-d2bab57c0958",
                "coin": "BTC",
                "amount": "1",
                "from_account_type": "CONTRACT",
                "to_account_type": "SPOT",
                "timestamp": "1629965054",
                "status": "SUCCESS"
            },
            {
                "transfer_id": "selfTransfer_9a183347-152d-4bdc-990d-8b20284385f9",
                "coin": "BTC",
                "amount": "1",
                "from_account_type": "SPOT",
                "to_account_type": "CONTRACT",
                "timestamp": "1629963043",
                "status": "SUCCESS"
            },
            {
                "transfer_id": "selfTransfer_5f9bfd6e-1718-4a16-814e-1d1bff4b01eb",
                "coin": "BTC",
                "amount": "20",
                "from_account_type": "SPOT",
                "to_account_type": "CONTRACT",
                "timestamp": "1629874294",
                "status": "SUCCESS"
            }
        ],
        "cursor": "eyJtaW5JRCI6Nzg5NTcsIm1heElEIjo3OTM2NH0="
    },
    "ext_info": null,
    "time_now": 1629971474462,
    "rate_limit_status": 59,
    "rate_limit_reset_ms": 1629971474462,
    "rate_limit": 1
}

HTTP 請求

GET /asset/v1/private/transfer/list

請求參數

參數 是否必須 類型 說明
transfer_id false string UUID,全局唯一
coin false string 幣種類型
status false string 劃轉狀態
start_time false integer 開始時間戳(毫秒)
end_time false integer 結束時間戳(毫秒
direction false string 翻頁
limit false integer 記錄條數
cursor false string 翻頁標記,請使用返回的cursor,簽名時使用返回的原始數據,發送request時請進行urlencode

返回參數

參數 類型 說明
transfer_id string UUID,全局唯一
coin string 幣種類型
amount string 兌入數量
from_account_type string 賬戶類型
to_account_type string 賬戶類型
timestamp integer 時間戳
status string 劃轉狀態
cursor string 翻頁標記,請使用返回的cursor,簽名時使用返回的原始數據,發送request時請進行urlencode

查詢子母劃轉記錄列表

請求示例

curl --location --request GET 'https://api-testnet.bybit.com/asset/v1/private/sub-member/transfer/list'

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "result": {
        "list": [
            {
                "transfer_id": "5f95de18-b10f-43ba-9756-0b95c4a37d07",
                "coin": "BTC",
                "amount": "0.1",
                "user_id": 229988,
                "sub_user_id": 251711,
                "timestamp": "1629968375",
                "status": "SUCCESS",
                "type": "IN"
            },
            {
                "transfer_id": "5f95de18-b10f-43be-9756-0b95c4a37d07",
                "coin": "BTC",
                "amount": "0.1",
                "user_id": 229988,
                "sub_user_id": 251711,
                "timestamp": "1629968351",
                "status": "SUCCESS",
                "type": "IN"
            },
            {
                "transfer_id": "5f95de18-b10f-43be-9746-0b95c4a37d07",
                "coin": "BTC",
                "amount": "0.1",
                "user_id": 229988,
                "sub_user_id": 251711,
                "timestamp": "1629967817",
                "status": "SUCCESS",
                "type": "IN"
            },
            {
                "transfer_id": "5f95de18-b10f-43be-9746-7b95c4a37d97",
                "coin": "BTC",
                "amount": "0.1",
                "user_id": 229988,
                "sub_user_id": 251711,
                "timestamp": "1629966772",
                "status": "SUCCESS",
                "type": "IN"
            }
        ],
        "cursor": "eyJtaW5JRCI6NzkzNzgsIm1heElEIjo3OTQwMH0="
    },
    "ext_info": null,
    "time_now": 1629978073116,
    "rate_limit_status": 59,
    "rate_limit_reset_ms": 1629978073116,
    "rate_limit": 1
}

HTTP 請求

GET /asset/v1/private/sub-member/transfer/list

請求參數

參數 是否必須 類型 說明
transfer_id false string UUID,全局唯一
coin false string 幣種類型
status false string 劃轉狀態
start_time false integer 開始時間戳(毫秒)
end_time false integer 結束時間戳(毫秒
direction false string 翻頁
limit false integer 記錄條數
cursor false string 翻頁標記,請使用返回的cursor,簽名時使用返回的原始數據,發送request時請進行urlencode

返回參數

參數 類型 說明
transfer_id string UUID,全局唯一
coin string 幣種類型
amount string 兌入數量
user_id integer 子賬戶
sub_user_id integer 子賬戶
timestamp integer 時間戳
status string 劃轉狀態
type string 轉入轉出類型
cursor string 翻頁標記,請使用返回的cursor,簽名時使用返回的原始數據,發送request時請進行urlencode

查詢子賬號列表

請求示例

curl --location --request GET 'https://api-testnet.bybit.com/asset/v1/private/sub-member/member-ids'

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "result": {
        "sub_user_id": [
            251711
        ]
    },
    "ext_info": null,
    "time_now": 1629979703311,
    "rate_limit_status": 59,
    "rate_limit_reset_ms": 1629979703311,
    "rate_limit": 1
}

HTTP 請求

GET /asset/v1/private/sub-member/member-ids

請求參數

參數 是否必須 類型 說明

返回參數

參數 類型 說明
sub_user_id integer 子賬戶

通用數據接口

通用數據接口不需要鑒權。

服務器時間

請求示例

curl https://api-testnet.bybit.com/v2/public/time
import bybit
client = bybit.bybit(test=True, api_key="api_key", api_secret="api_secret")
print(client.Common.Common_getTime().result())

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": {},
    "time_now": "1577444332.192859"
}

獲取Bybit服務器時間

HTTP 請求

GET /v2/public/time

請求參數

參數 是否必須 類型 說明

公告

請求示例

curl https://api.bybit.com/v2/public/announcement

響應示例

{
    "ret_code": 0,
    "ret_msg": "OK",
    "ext_code": "",
    "ext_info": "",
    "result": [
        {
            "id": 2,
            "title": "2019-12-02 RELEASE",
            "link": "https://github.com/bybit-exchange/bybit-official-api-docs/blob/master/en/CHANGELOG.md",
            "summary": "<p>New `cancel all` endpoint is here now!</p><p>Additionally, we strongly recommend that you use the new released place and cancel active V2 endpoints, which are more stable and efficient.The old ones are deprecated (although still working for the time be",
            "created_at": "2019-12-02T11:33:42Z"
        }
    ],
    "time_now": "1577444818.227082"
}

獲取Bybit最近30天OpenAPI公告(時間倒敘排列)

HTTP 請求

GET /v2/public/announcement

請求參數

參數 是否必須 類型 說明

頻率限製

IP頻率限製

Bybit會基於請求IP做頻率限製,針對不同的請求方法有以下規則(現貨的IP用量是獨立計算的):

現貨劃轉接口的頻率限製

頻率限製 請求路徑 消耗
20/min /asset/v1/private/transfer 1 / request
/asset/v1/private/sub-member/transfer 1 / request
60/min /asset/v1/private/sub-member/member-ids 1 / request
/asset/v1/private/transfer/list 1 / request
/asset/v1/private/sub-member/transfer/list 1 / request

枚舉定義

以下是各個接口請求參數或返回結果中定義的枚舉。

Account type (from_account_type/to_account_type)

Currency (currency/coin)

Operator type

Transfer type (type)

Transfer status (status)

Page direction (direction)

錯誤碼

Bybit使用以下HTTP Code和錯誤碼:

HTTP Code 含義
200 請求有效
403 拒絕訪問
404 訪問路徑不存在
Error Code 含義
0 成功
10001 參數錯誤
10016 服務不可用
38000 處理中
38001 可用余額不足
38002 無法劃轉
90001 劃轉金額少於0
90002 劃轉金額精度大於8
90003 轉賬錯誤,請聯系客服
90004 賬戶沒發現
90005 查詢余額錯誤
90006 查詢劃轉錯誤
90007 查詢子賬戶劃轉錯誤
90008 查詢劃轉ID錯誤
90009 劃轉ID已存在
90010 轉入賬戶類型不能作為轉出賬戶類型
90011 獲取子賬戶列表失敗