跳到主要內容

限頻規則

訪問頻率限制主要分為兩個維度。

IP維度是基於使用者的IP出口進行限制的,目前頻率設定較高,使用者一般不會觸發此類限頻規則。

使用者維度的限頻規則是基於使用者的交易帳戶進行限制的,包括短週期限頻長週期限頻,他們的區別如下:

  • 短週期限頻:主帳號和其創建的子帳號都獨立地受到的短週期限頻的約束。這意味著每個帳號都有自己的限制和配額,與其他帳號無關;
  • 長週期限頻:主帳號及其所建立的子帳號共用一個限頻額度。這意味著所有帳號的請求都會影響到這個共享額度,並且所有帳號的請求都會從同一個額度中扣除。

IP維度限頻規則

限頻:400/s

用戶維度限頻規則

使用者維度的限頻分為短週期限頻長週期限頻 兩種模式。

  • 短週期限頻 偏向於控制短期的請求量,防止API 被惡意使用。
  • 長週期限頻 偏向於控制較長時期內請求質量,防止API 資源濫用。

短週期限頻規則

目前的限頻規則是基於分組的,分組的對應關係可見以下章節。

這個限頻策略是基於請求路徑分組,旨在控制特定路徑上的請求頻率。具體描述如下:

分組:請求路徑被分成多個群組,每個群組包含一組相關的路徑。具有相似功能或特徵的路徑會被分到同一個組別。

請求餘裕:每個分組都有一個共享的請求餘裕,表示在特定時間內該分組允許的請求數量。餘裕是根據限頻頻率動態恢復。

限頻頻率:每個分組會有一個限頻頻率,即每秒最大的請求餘裕恢復量。例如假設請求頻率為20r/s,則表示請求餘裕每秒恢復20 req。

限頻策略:當收到一個請求時,系統首先決定該請求所屬的分組。然後,系統將檢查該分組的請求餘裕是否允許處理該請求。

a. 如果請求餘裕大於零,則允許處理該請求,並將餘裕減少。請求被處理後,系統可以傳回對應的結果。

b. 如果請求餘裕為零,則拒絕處理該請求。系統將傳回一個錯誤碼,表示請求已經超過使用限制。

1.帳戶維度短週期限頻規則(現貨)

  • 主帳號及子帳號分別限頻,互不影響
接口類型限頻包含的接口路徑
現貨下單&改單30r/1sPOST /spot/order *下委托單
POST /spot/stop-order *下計劃委托單
POST /spot/modify-order *修改委托單
POST /spot/modify-stop-order *修改計劃委托單
現貨撤單60r/1sPOST /spot/cancel-order *取消委托單
POST /spot/cancel-stop-order *取消計劃委托單
現貨批量下單10r/1sPOST /spot/batch-order *下批量委托單
現貨批量撤單40r/1sPOST /spot/cancel-batch-order *批量取消委托單
現貨查詢訂單50r/1sGET /spot/order-status *查詢訂單狀態
GET /spot/batch-order-status *批量查詢訂單狀態
GET /spot/pending-order *獲取未完成委托單
GET /spot/pending-stop-order *獲取未完成計劃委托單
現貨查詢訂單曆史10r/1sGET /spot/order-deals *獲取用戶訂單成交
GET /spot/user-deals *獲取用戶成交
GET /spot/finished-order *獲取已完成委托單
GET /spot/finished-stop-order *獲取已完成計劃委托單
現貨賬戶改動10r/1sPOST /account/settings *修改賬戶設置
POST /assets/margin-borrow *杠杆借幣
POST /assets/margin-repay *杠杆還幣
POST /assets/transfer *資産劃轉
POST /account/subs *創建子賬號
POST /account/subs/frozen *禁用子賬號
POST /account/subs/unfrozen *取消禁用子賬號
POST /account/subs/api *創建子賬號 APIKEY
POST /account/subs/edit-api *編輯子賬號 APIKEY
POST /account/subs/delete-api *刪除子賬號 APIKEY
POST /account/subs/transfer *子賬號間資産劃轉
POST /assets/renewal-deposit-address *更新充值地址
POST /assets/withdraw *申請提現
POST /assets/cancel-withdraw *取消申請提現
現貨賬戶查詢10r/1sGET /assets/spot/balance *獲取現貨賬戶余額
GET /account/trade-fee-rate *獲取賬戶交易費率
GET /assets/amm/liquidity *獲取 AMM 賬戶流動性
GET /assets/financial/balance *獲取理財賬戶余額
GET /assets/credit/info *獲取授信賬戶信息
GET /account/subs/api *獲取子賬號 APIKEY 列表
GET /account/subs/api-detail *獲取子賬號 APIKEY 詳情
GET /assets/deposit-address *獲取充值地址
現貨賬戶曆史數據查詢10r/1sGET /assets/withdraw *獲取提現記錄
GET /assets/deposit-history *獲取充值記錄
GET /assets/statement *獲取用戶流水
GET /assets/transfer-history *獲取資産劃轉記錄
GET /assets/margin/borrow-history *獲取杠杆賬戶借幣記錄
GET /account/subs/transfer-history *獲取子賬號間劃轉記錄

2.帳戶維度短週期限頻規則(合約)

  • 主帳號及子帳號分別限頻,互不影響
接口類型限頻包含的接口路徑
合約下單&改單&調整倉位20r/1sPOST /futures/order *下委托單
POST /futures/stop-order *下計劃委托單
POST /futures/close-position *市價全部平倉
POST /futures/adjust-position-margin *調整倉位保證金
POST /futures/adjust-position-leverage *調整倉位杠杆
POST /futures/set-position-stop-loss *設置倉位止損
POST /futures/set-position-take-profit *設置倉位止盈
POST /futures/modify-order *修改委托單
POST /futures/modify-stop-order *修改計劃委托單
合約撤單40r/1sPOST /futures/cancel-order *取消委托單
POST /futures/cancel-stop-order *取消計劃委托單
合約批量撤單20r/1sPOST /futures/cancel-batch-order *批量取消委托單
POST /futures/cancel-batch-stop-order *批量取消計劃委托單
合約查詢訂單50r/1sGET /futures/pending-order *獲取未完成委托單
GET /futures/pending-stop-order *獲取未完成計劃委托單
GET /futures/order-status *查詢訂單狀態
合約查詢訂單曆史10r/1sGET /futures/finished-order *獲取已完成委托單
GET /futures/finished-stop-order *獲取已完成計劃委托單
合約賬戶查詢10r/1sGET /assets/futures/balance *獲取合約賬戶余額
GET /futures/position-funding-history *獲取倉位資金費率曆史記錄
GET /futures/pending-position *獲取當前持倉
資訊

存取會觸發限頻的介面時,會在HTTP回應頭裡回傳如下兩個Header

  • X-RateLimit-Limit。該值表示該介面所屬的群組每秒最多允許的存取次數。
  • X-RateLimit-Remaining。該值表示該介面所屬的群組目前剩餘的存取次數。
  • X-RateLimit-LongPeriod-{period}-Remaining。該值表示接口所屬的組當前配置長周期剩余的訪問次數,period 表示限制周期,例如 1H、4H、8H 或 24H。

長週期限頻規則

長週期限頻主要會評估使用者的請求量請求品質來個維度,來決定是否限制使用者在較長的週期內的請求總量。其中請求品質主要包含有效成交率訂單平均存活時間等其他一些參考指標。

其中,以上提到的概念分別解釋如下:

  • 週期。不同於短週期限頻,這裡的週期是較長的統計週期,例如1h、4h、8h 或24h 等
  • 請求量。在一個週期內,某一個分組中的所有請求量總和
  • 請求品質。主要包含有效成交率訂單存活時間等其他一些參考指標
  • 有效成交率。在一個週期內的有效成交率=有效訂單數(有成交的已完成訂單)/總訂單數
  • 訂單平均存活時間。在一個週期內,訂單的平均存活時間(從創建時間到完成時間的差值即為存活時間)

只有同時在請求量請求品質兩類指標都超過了限制,才會被長週期限頻所影響。

長週期限頻會在一個週期結束後重置,週期的統計是按照整點來進行的,也就是假設長週期限頻的周期為8h,那麼一天會有三個統計週期,分別是0~8h , 8~16h, 16~24h

在觸發了長週期限頻後,api 請求會被至於低速模式 下,在這個模式中,每個分組的允許速率將會被大量的降低,但並不會限制使用者進行撤單。

資訊

訪問會觸發長周期限頻限頻的接口時,會在HTTP響應頭裏返回如下一個Header

  • X-RateLimit-LongPeriod-{period}-Remaining。該值表示接口所屬的組當前配置長周期剩余的訪問次數,period 表示限制周期,例如 1H、4H、8H 或 24H。例如:X-RateLimit-LongPeriod-24H-Remaining。另外,有可能同時存在多條生效的長周期限頻規則,即會同時返回多個不同周期的 Header。

3.觸發限頻後常見錯誤碼及處理方式

常見錯誤碼建議處理方式
3008服務間歇繁忙,請稍後重試
4001服務暫時無法使用,請稍後重試
4213觸發限頻,建議調整策略,降低請求頻率

4.其他錯誤處理

如果遇到其他錯誤,可以參考錯誤處理來解決。