WEEX API 速率限制:機器人為何會觸發 429 錯誤
大多數在生產環境中失敗的 WEEX API 集成並非因為簽名問題,而是因為機器人將「速率限制」視為單一數值,而 WEEX 實際上運行著兩個獨立的預算——IP 權重預算和帳戶訂單預算。它們在不同的週期內重置,並反映在不同的響應頭中。如果處理不當,您將面臨 HTTP 429 錯誤及 10 秒封禁,這通常發生在市場波動最需要成交的關鍵時刻。
這是一份截至 2026 年 7 月的 WEEX API 速率限制規則匯總圖,提取自現貨和合約文檔,並與實時的合約 exchangeInfo 端點進行了交叉核對。它還涵蓋了文檔中未明確說明的部份:這些數字實際支持的輪詢頻率。
WEEX API 速率限制概覽
下表整合了目前分散在四個不同 WEEX 文檔頁面中的規則——現貨訪問限制、合約端點權重、WebSocket 概述以及幫助中心的錯誤列表。
| 限制 | 範圍 | 適用對象 | 響應頭 | 違規結果 |
|---|---|---|---|---|
| REQUEST_WEIGHT | 每個 IP 地址 | 除下單外的所有端點 | X-USED-WEIGHT-1M / X-REMAINING-WEIGHT-1M | HTTP 429 + 10秒封禁 |
| ORDERS | 每個帳戶 (userId) | 僅限單筆和批量下單 | X-ORDER-COUNT-10S, X-ORDER-COUNT-1M / X-ORDER-REMAINING-* | HTTP 429 + 10秒封禁 |
| WS 連接 | 每個 IP | 新的 WebSocket 握手 | — | 連接被拒絕 |
| WS 訂閱 | 每個連接 | SUBSCRIBE / UNSUBSCRIBE 操作 | — | 操作被拒絕 |
表中的兩個細節比其他任何因素都更容易導致事故。
首先,下單操作完全不消耗 IP 權重——對於這些調用,WEEX 在 IP 權重計數中返回 0。其次,這是一個陷阱,撤單和查詢訂單仍然受 IP 限制。因此,一個進行撤單和重新報價的做市循環會同時消耗兩個預算,而撤單正是悄悄耗盡 IP 池的一方。

權威數據並未出現在任何文檔正文中。WEEX 將其發佈在 exchangeInfo 返回的 rateLimits 數組中——合約端點為 https://api-contract.weex.com 上的 /capi/v3/market/exchangeInfo,現貨端點為 /api/v3/exchangeInfo。請在啟動時讀取該數組,而不是硬編碼常量。
實時數值及其與文檔不符的原因
以下是 2026 年 7 月 27 日獲取的實時合約 rateLimits 響應,以及 WEEX 自身 exchangeInfo 文檔頁面中打印的示例值:
| 字段 | 實時端點 (2026年7月27日) | 文檔頁面示例 |
|---|---|---|
| REQUEST_WEIGHT | 500 / 10 分鐘 | 2,000 / 10 秒 |
| ORDERS | 300 / 1 分鐘 | 5 / 10 秒 |
這些差異不容小覷——示例暗示每秒約 200 權重,而實時響應僅允許約 0.83。文檔中的值僅為佔位符示例,而非發佈的配額。任何抓取文檔頁面來設定請求預算的人,其構建的數值偏差超過了兩個數量級。這是在運行時讀取 exchangeInfo 的最強有力理由:WEEX 可以且確實會更改這些值,只有端點能告訴您真相。
根據實時合約數值計算,實際的上限令人不安:
- 500 權重 ÷ 600 秒 = 每 1.2 秒一個權重為 1 的請求(持續,每個 IP)。
- 以每秒一次的頻率輪詢權重為 1 的端點(大多數教程機器人的默認設置)每 10 分鐘會消耗 600 權重,在第 11 分鐘前就會觸及上限。
- 每分鐘 300 訂單 = 每秒 5 個訂單(持續,每個帳戶)。
訂單預算很寬裕,但 IP 權重預算並不寬裕。如果您的架構假設使用 REST 輪詢獲取市場數據,那麼這個假設就是導致系統崩潰的原因。
如何讀取 WEEX 速率限制響應頭
WEEX 使用 S、M、H、D(秒、分、時、天)來構建響應頭名稱。因此,X-USED-WEIGHT-1M 是您的 IP 在當前一分鐘窗口內消耗的權重,而 X-ORDER-COUNT-10S 是您的帳戶在當前十秒窗口內下的訂單數。
| 響應頭 | 含義 |
|---|---|
X-USED-WEIGHT-(n)(letter) | 您的 IP 在該窗口內已消耗的權重 |
X-REMAINING-WEIGHT-(n)(letter) | 您的 IP 在該窗口內剩餘的權重 |
X-ORDER-COUNT-(n)(letter) | 您的帳戶在该窗口內已下的訂單數 |
X-ORDER-REMAINING-(n)(letter) | 您的帳戶在该窗口內剩餘的訂單額度 |
請在每次響應中解析 X-REMAINING-* 並據此進行限流。等待 429 錯誤來告訴您請求過快,這種設計註定會導致請求過快——且 WEEX 明確表示在收到 429 後,您有責任停止請求,而不是重試。另請注意,合約訂單路徑同時報告 10 秒和 1 分鐘的訂單計數器,因此一次爆發性下單可能會同時觸及兩個窗口的上限。
在調試錯誤前值得了解的是:一些錯誤看起來像限流,但並非如此。WEEX 的 API 錯誤代碼列表將 429(請求頻率超限)與 40008(請求時間戳過期——簽名有效期為 30 秒)和 40018(非法 IP 請求,即調用 IP 不在 API Key 的白名單內)區分開來。時鐘漂移超過 30 秒會產生源源不斷的拒絕響應,這常被誤認為是速率限制問題。
-- 價格
在 WEEX API 上觸發 429 錯誤會發生什麼
請求將失敗並返回 HTTP 狀態碼 429,持續請求將導致 10秒 封禁。WEEX 的 訪問限制頁面明確指出:收到 429 後,您必須停止請求,不得濫用 API。
十秒聽起來似乎可以承受。但在實踐中,這是最糟糕的十秒,因為速率限制通常在市場波動時觸發——這正是需要對沖或移動止損的關鍵時刻。正確的做法是使用從實時 exchangeInfo 數值計算出的客戶端令牌桶(預留約 20% 的餘量),並對任何漏網的 429 錯誤實施指數退避。立即重試會將 10 秒的封禁變成滾動封禁。
構建符合 WEEX API 限制的機器人
解決 IP 權重預算緊張的方法是架構性的,而非戰術性的:停止輪詢任何可以通過流式傳輸獲取的數據。
WEEX 的現貨 WebSocket 運行在 wss://ws-spot.weex.com/v3/ws/public 和 wss://ws-spot.weex.com/v3/ws/private,擁有獨立的限制——每個 IP 每 5 分鐘 300 次連接請求,每個 IP 最多 100 個併發連接,每個連接 100 個頻道,每個連接每小時 240 次訂閱操作。這相當於每個 IP 擁有 10,000 個頻道槽位,這比幾乎任何策略所需的市場數據都要多,且完全不佔用您的 REST 權重。
心跳規則在此至關重要。服務器發送 ping 並期望 PONG;未能響應超過 10 次的連接將被終止。如果客戶端僅在 socket 關閉時重連,而不處理心跳丟失,它將停留在死連接上,導致邏輯基於陳舊價格進行交易。
在 WEEX 上的實用配置如下:
- 創建 API Key,在「帳戶 -> API 管理」下,並綁定 IP 白名單。未綁定的 Key 是導致帳戶被盜並造成損失的最常見原因。
- 在啟動時調用
exchangeInfo,讀取rateLimits,並根據響應設定令牌桶大小——永遠不要使用配置文件中的常量。 - 將所有市場數據遷移至 WebSocket。 將 REST 保留用於帳戶狀態、下單和對帳。
- 在代碼中分離兩個預算。 一個用於 IP 權重(包括撤單和查詢),另一個用於訂單計數。單一的共享限制器要麼會導致不必要的訂單流限流,要麼會耗盡您的權重。
- 在策略允許的情況下使用批量下單端點。 它們仍然計入
ORDERS限制,但能減少往返次數並降低延遲。 - 按定時器對帳,而非每筆成交後對帳。 持倉和餘額查詢是權重為 1 的端點,如果按事件觸發,消耗會非常快。
如果您仍在考慮 API 驅動的方法是否合適,WEEX 關於 API 交易支持的概述涵蓋了在確定架構前的 REST 與 WebSocket 的決策。
最關鍵的事項
在上述所有內容中,一個數字決定了設計:實時合約 IP 權重配額為每 10 分鐘 500。它非常嚴格,以至於任何 REST 輪詢市場數據的循環都會被淘汰,這意味著 WEEX API 速率限制規則並非需要調整的限流問題,而是一個平台期望客戶端使用流式傳輸的信號。從一開始就按此構建,429 錯誤將不再是問題。
在上線前,請對照 exchangeInfo 驗證此處的所有數據。限制是操作參數,交易所可能會在不另行通知的情況下更改它們。
常見問題解答
1. 什麼是 WEEX API 速率限制?
WEEX 執行兩個限制:每個 IP 地址的 REQUEST_WEIGHT 預算(涵蓋除下單外的所有端點),以及每個帳戶的 ORDERS 預算(涵蓋單筆和批量下單)。截至 2026 年 7 月 27 日,實時合約 exchangeInfo 端點返回的限制為每 10 分鐘 500 權重和每分鐘 300 訂單。請讀取端點,而不是信任任何已發佈的數字,包括本文中的數字。
2. WEEX API 速率限制是按 IP 還是按 API Key?
加權端點按 IP 計算——WEEX 聲明這些限制基於 IP,而非 API Key 或 UID。下單是例外:它按帳戶 (userId) 限制。從一台服務器運行多個 Key 不會增加您的權重配額。
3. WEEX 上的 HTTP 429 是什麼意思,封禁多久?
429 意味著您的請求頻率超過了限制。WEEX 會實施 10 秒封禁,並要求您停止發送請求,而不是立即重試。
4. 撤單請求計入訂單速率限制嗎?
不計入。只有單筆和批量下單屬於 ORDERS 限制。撤單和查詢訂單受 IP 權重限制,這就是為什麼撤單頻繁的策略會先耗盡 IP 預算。
5. 如何查看剩餘的 WEEX API 配額?
讀取響應頭。X-REMAINING-WEIGHT-1M 顯示當前分鐘內剩餘的 IP 權重,X-ORDER-REMAINING-10S 和 X-ORDER-REMAINING-1M 顯示帳戶剩餘的訂單額度。
6. WEEX WebSocket 有什麼限制?
每個 IP 每 5 分鐘 300 次連接請求,每個 IP 最多 100 個併發連接,每個連接最多 100 個頻道,每個連接每小時 240 次訂閱操作。錯過超過 10 次服務器 ping,連接即會關閉。
7. 為什麼我的 WEEX API 請求即使在低交易量下也會失敗?
在假設限流之前,請檢查 40008 錯誤。簽名請求有效期為 30 秒,因此服務器時鐘與交易所時間偏差超過 30 秒會產生持續的拒絕響應,這看起來很像速率限制問題。40018 錯誤則指向 IP 白名單不匹配。
風險提示
加密資產波動劇烈,API 驅動的交易可能導致部份或全部資金損失。自動化系統會加劇這種風險:受限或斷開連接的客戶端可能無法下單止損、撤銷陳舊報價或平掉槓桿倉位,而市場正向不利方向移動。波動期間的 10 秒封禁足以將可控的回撤變成爆倉。合約倉位帶有槓桿風險,可能被完全清算。API Key 存在託管和操作風險——未加入白名單或權限過大的 Key 可能被用於耗盡或濫用帳戶,因此請限制權限、綁定 IP 白名單,且絕不要授予交易機器人提現權限。速率限制、端點權重和合約參數可能會在不另行通知的情況下更改;在投入資金前,請務必對照實時端點進行驗證。本文內容不構成投資建議。
本內容僅供參考,不構成任何金融、投資、法律或稅務建議。文中提及的任何活動、獎勵、線上活動或相關資訊,不應被視為對購買、出售或交易任何加密資產的推薦、招攬或邀請。加密資產具有高波動性,存在價值損失風險。WEEX服務、產品及相關活動的可用性可能因地區而異。用戶在參與前有責任確保符合當地適用法律法規。
猜你喜歡

什麼是加密貨幣機構交易?專業交易員和基金經理如何以不同方式進入市場
如何利用交易所 API 建構加密貨幣交易機器人:新手指南

如何建立 WEEX API Key 並避免被鎖定

什麼是加密貨幣經紀商 API?平台如何在不構建交易所的情況下嵌入交易功能

什麼是經紀商交易?新手透過經紀商進行交易的入門指南

加密貨幣交易所 API Key 外洩?攻擊者實際上能做什麼

WEEX 跟單交易 API:端點、限制與 5 個錯誤代碼

WEEX API 速率限制詳解:新手易忽略的關鍵數字

如何呼叫交易所 API:金鑰、簽章與錯誤代碼

加密貨幣交易所 API:功能解析與 API Key 權限指南

什麼是 USDCoin OTC 以及如何在 WEEX 交易所使用 PKR 購買 USDC OTC?
什麼是以太坊 OTC?如何在 WEEX 交易所使用 TWD 購買 ETH?

什麼是比特幣 OTC?如何在 WEEX 交易所使用 VND 購買 BTC?

在 WEEX 進行波動率與訂單簿深度技術分析

什麼是 ZKML 幣?隱私與 AI 加密貨幣指南

MetaMask 助記詞與私鑰安全指南

如何安裝及設定 MetaMask(2026 更新指南)












