加密貨幣交易所 API:權限、簽名與速率限制

By: WEEX|2026-08-20 03:15:00

你交給 加密貨幣交易所 API 的第一樣東西不是程式碼,而是一把金鑰。幾乎所有的指南都告訴你如何妥善保管它,但幾乎沒有指南會向你展示這把金鑰在特定交易所中究竟能做什麼,而這正是風險所在。本指南以 WEEX 公布的 API 文件為工作樣本,依序回答四個問題:什麼是 API、它能做什麼、如何建構簽名呼叫,以及如果金鑰洩漏會發生什麼。

下文中的每一個參數、速率限制和錯誤代碼均來自 WEEX 官方 API 文件(現貨和合約 FAQ 最後更新於 2026 年 4 月 14 日),並於 2026 年 8 月核實。文件版本之間會有變動 —— 在部署前請務必核對即時頁面。

加密貨幣交易所 API 的實際作用

加密貨幣交易所 API 暴露了兩類端點,區別在於請求是否攜帶你的身分資訊。

  • 公共端點 返回市場和配置數據:K 線、訂單簿深度、近期成交、可交易幣種列表。無需身分驗證,對所有人開放,按 IP 進行速率限制。
  • 私有端點 涉及你的帳戶:餘額、持倉、訂單下單、撤單。每個請求都必須攜帶一個簽名,伺服器在執行任何操作前會先驗證該簽名。

這種劃分應指導你的架構設計。市場數據可以在任何地方運行 —— 洩漏公共端點不會造成損失。私有呼叫應放在你控制出站 IP 的主機上。許多團隊為了方便將兩者運行在同一個進程中,結果市場數據端的依賴漏洞導致交易金鑰被竊取。

加密貨幣交易所 API:權限、簽名與速率限制

WEEX 的現貨 REST 服務位址為 https://api-spot.weex.com,現貨路徑位於 /api/v3/ 下,合約路徑位於 /capi/v3/ 下。這些前綴不可互換,混用是導致 404 錯誤最常見的原因。

API 金鑰權限:大多數指南都搞錯了這一點

Google 搜尋首頁上幾乎每一篇關於「API 金鑰安全」的文章都假設有三個權限層級 —— 唯讀、交易、提現 —— 並告訴你不要開啟提現權限。這個建議沒問題,但它掩蓋了一個更有用的問題:交易所是否真的提供了提現權限?

在 WEEX 上,答案是否定的。建立金鑰時可用的權限如下,它們彼此獨立:

權限允許的操作禁止的操作典型用途
唯讀 (預設)查詢餘額、持倉、交易歷史、帳單任何下單或撤單操作資產監控、帳單同步、市場分析
現貨下單/撤單現貨訂單、查詢現貨資產合約開倉/平倉現貨機器人、自動再平衡
合約開倉/平倉、設定止盈止損、查詢持倉現貨交易合約對沖、高頻策略
提現、轉帳至外部位址API 不提供此功能

這一點比任何加密細節都重要。當你讀到「API 金鑰洩漏導致帳戶被掏空」時,資金通常不是被提現了 —— 攻擊者利用交易權限在流動性差的交易對上進行拉高出貨,以虛高的價格買入受害者的帳戶資產,並將自己的籌碼賣給受害者。沒有提現權限並不意味著資產絕對安全,這意味著攻擊方式從竊盜轉變為誘導性虧損。

金鑰預設為 唯讀。你必須刻意勾選交易權限,這是正確的預設設定,也是為什麼第一次下單經常返回 -1052 (權限不足) 的原因。每個帳戶最多可持有 10 個金鑰組;按用途拆分它們,而不是共享一個。用於監控的唯讀金鑰和用於策略的獨立交易金鑰意味著當出現問題時,你可以準確識別並撤銷其中一個。

建立金鑰會為你提供三個具有不同職責的憑證:

憑證角色如果遺失
APIKey身分識別,在請求頭中發送可從儀表板找回
SecretKey簽名金鑰,本地使用,從不傳輸洩漏等同於交出交易權限
Passphrase使用者設定,僅限字母數字,無特殊字元無法恢復 —— 你必須重建整個金鑰組

Passphrase 無法更改或恢復。請將其與 SecretKey 一起儲存在金鑰管理器中,而不是儲存在程式碼庫的設定檔中。欄位級詳細資訊請參考 WEEX API 整合準備文件

如何簽署請求:建構 ACCESS-SIGN 請求頭

私有端點依賴於 ACCESS-SIGN 請求頭。規則很簡短;失敗模式在於拼接中的一個錯誤字元就會導致一切失效,且錯誤提示往往指向別處。

WEEX 按此順序拼接,使用你的 SecretKey 運行 HMAC SHA256,然後對結果進行 Base64 編碼:

timestamp + method.toUpperCase() + requestPath + "?" + queryString + body

queryString 為空時,去掉問號: timestamp + method + requestPath + body

查詢 BTCUSDT 深度:

String to sign: 1591089508404GET/api/v3/market/depth?symbol=BTCUSDT&limit=20
Signature = base64.encode(hmac_sha256(secretKey, message))

三個細節導致了大多數整合失敗:

  1. 時間戳以毫秒為單位,且必須在伺服器時間的 30 秒內。 WEEX 會將 ACCESS-TIMESTAMP 與其自身時鐘進行對比,拒絕超出範圍的請求。雲端執行個體存在時間漂移;請在啟動時查詢伺服器時間端點並進行校準,而不是信任本地的 Date.now()
  2. 方法必須大寫。 發送 get 而不是 GET 會破壞簽名,但回應會顯示為身分驗證失敗 —— 這會讓使用者去排查金鑰錯誤。
  3. 交易對區分大小寫且必須大寫。 btcusdt 未經標準化。對於訂單端點,請從 /products 回應中獲取交易對值,而不是手動建構。

包含 POST 訂單主體拼接的完整範例位於 WEEX 請求簽名文件中。在嘗試 POST 之前,請先確保 GET 請求能正常工作。

-- 價格

--
--
--

速率限制:什麼會觸發 429 以及如何退避

超過限制會返回 HTTP 429 並導致約 10秒 的封禁。WEEX 不運行全域計數器 —— 限制按維度劃分:

維度現貨合約
下單100 / 分鐘300 / 分鐘
撤單80 / 10秒,或 200 / 分鐘按端點,詳見文件
REST/WS 連接300 / 5分鐘 / 每個 IP500 權重 / 10秒 / 每個 IP
WebSocket240 頻道訂閱 / 小時 / 連接20 連接 / 每個 IP

來源:WEEX 現貨和合約 API FAQ,最後更新於 2026 年 4 月 14 日。

有兩個機制值得內化。下單操作按帳戶 (userId) 計量,不消耗 IP 權重 —— 這些回應頭中的 IP 計數器顯示為 0。其他所有操作均按 IP 權重計量,更重的端點權重更高。因此,多台機器共享一個出口 IP 將競爭市場數據預算,但不會競爭訂單預算。

不要使用本地計數器來估算剩餘預算。每個回應都攜帶 X-USED-WEIGHT-1MX-REMAINING-WEIGHT-1M;訂單請求額外攜帶 X-ORDER-COUNT-*X-ORDER-REMAINING-*。請根據回應頭進行退避,而不是硬編碼「每秒 5 個請求」 —— 另外請注意,WEEX 的英文和中文文件目前對現貨訂單限制的描述不一致(英文版為 100/分鐘,中文版為 100/10秒)。回應頭是唯一的真相來源。

加密貨幣交易所 API 安全嗎?鏈條上的三個環節

這裡的安全性是你配置的屬性,而非交易所單方面的屬性。交易所擁有三個環節中的一個。

環節一:金鑰儲存。 SecretKey 只顯示一次,因此洩漏源於你這邊 —— 提交到 Git、嵌入前端包、寫入日誌、貼到工作聊天工具中。請使用環境變數或金鑰管理器,並遵循一條無例外的規則:金鑰絕不通過即時通訊工具傳輸。

環節二:IP 白名單 WEEX 允許你在建立金鑰時綁定 IP 位址,並明確建議啟用它。未綁定的金鑰一旦洩漏,在地球上任何地方都能使用;綁定後,攻擊者必須先攻破你的伺服器。不要在生產環境中設定 0.0.0.0/0 —— 這等同於沒有設定。

環節三:最小權限原則。 回到權限表:監控進程永遠只擁有唯讀權限。現貨策略沒有理由持有合約權限。這不是吹毛求疵,而是為了控制爆炸半徑。

有兩個操作陷阱已有記錄但很容易被忽略:

  • 新建立或修改的金鑰大約需要 15 分鐘才能在全球範圍內生效。 設定後立即出現的權限錯誤通常是生效延遲,而非配置錯誤。
  • 觸發平台風控(如可疑登入、大量無效請求)可能會自動禁用 API 權限,恢復需要通過客服處理。不要使用生產環境的金鑰進行壓力測試。

通用指南中不會提到的一點是:對於大多數散戶和小基金使用者,金鑰被盜的機率遠低於因速率限制壓力下自身錯誤處理而虧損的機率。請正確配置安全性,然後將同樣的精力投入到重試機制和冪等下單邏輯上。預期回報更高。

先在模擬交易中測試:困擾新整合的五個錯誤

WEEX 在合約端運行模擬交易端點,使用模擬 SUSDT,路徑為 /capi/v3/sim/ —— 包括 sim/balancesim/position/allPositionsim/ordersim/order/history,並支援對沖模式雙向持倉。在那裡端到端運行新策略是你所能做的成本最低的除錯。

在投入真實資金之前,請隨身攜帶此表:

症狀根本原因修復方法
訂單返回 -1052未勾選交易權限;交易對未啟用 API;或呼叫了已棄用的 V1/V2在 API 管理中啟用現貨/合約,遷移至 V3
撤單返回 -1054訂單不存在,通常是訂單 ID 錯誤撤單前先查詢;不要信任本地快取的 ID
WebSocket 返回 403缺少 User-Agent 請求頭,被防火牆攔截在連接頭中添加任意 User-Agent
請求返回 404路徑前綴錯誤 —— 現貨 /api/v3/ vs 合約 /capi/v3/對照文件檢查 requestPath
HTTP 429達到速率限制,隨後約 10 秒封禁由回應頭驅動的指數退避,不要盲目重試

還有兩件事需要提前明確:WEEX 目前不支援 TradingView 訊號交易或 FIX API,因此依賴這兩者的策略需要尋找其他路徑;V1/V2 端點正在被棄用,因此新工作應直接針對 V3。完整的權限和速率限制問答位於 WEEX 現貨 API FAQ 中,合約開發者應從 合約 API 文件開始。

整合加密貨幣交易所 API 的正確順序

回到四個問題。加密貨幣交易所 API 是交易所的程式化入口,分為讀取數據的公共端點和執行操作的私有端點。如何使用它取決於你勾選的權限 —— 唯讀、現貨和合約是獨立的,且 WEEX 不通過 API 提供提現功能。如何呼叫它取決於簽名:HMAC SHA256 加 Base64,並有 30 秒的時間戳容差。它是否安全取決於你自己;交易所提供 IP 綁定和權限分級,其餘的則取決於你的操作紀律。

如果你只能記住一件事,請記住這個順序:先使用唯讀金鑰驗證市場數據和查詢,接著通過模擬交易驗證策略,最後才開啟交易權限、IP 綁定並投入真實資金。 顛倒這個順序往往代價高昂。

準備好建構了嗎?從 WEEX 開發者中心開始,建立金鑰,配置權限,並逐個測試 V3 端點。

FAQ

1. 加密貨幣交易所 API 是否收費或需要申請?

在 WEEX 上,無需資格審查 —— 登入網頁平台即可自助開通,每個帳戶最多 10 個 API 金鑰組。這與股票經紀商 API 不同,後者通常將存取權限限制在資本、交易量或專業背景要求之後。

2. 如果我的 API 金鑰洩漏,別人可以提現我的資金嗎?

不能通過 WEEX API —— 權限集僅限於唯讀、現貨和合約,沒有提現範圍。擁有交易權限的金鑰仍可能被濫用,在流動性差的交易對上進行惡意交易,以實現虧損的方式轉移價值。如果懷疑洩漏,請立即刪除金鑰組。

3. 我只需要市場數據,需要 API 金鑰嗎?

不需要。K 線、深度、行情和幣種列表是公共端點,無需身分驗證,按 IP 進行速率限制。只有帳戶和訂單端點需要簽名。

4. 為什麼全新的 API 金鑰返回權限不足錯誤?

新建立或修改的金鑰大約需要 15 分鐘才能在系統中生效。如果在此視窗後 -1052 仍然存在,請檢查是否確實勾選了現貨或合約權限。

5. 如果我忘記了 API Passphrase 怎麼辦?

它無法恢復或更改。請刪除該金鑰組,建立一個新的,並更新所有使用該憑證的程式。

6. WEEX 是否支援 TradingView 或 FIX API?

截至 2026 年 8 月,兩者均不支援。需要機構級低延遲存取的團隊應在投入前評估 REST 和 WebSocket 是否滿足其需求。

風險提示

加密資產波動劇烈,通過 加密貨幣交易所 API 進行程式化交易可能導致部分或全部資本損失。API 特有風險包括金鑰洩漏後的未經授權帳戶活動、策略漏洞或弱錯誤處理導致的級聯錯誤訂單、速率限制封禁後無人管理的訂單,以及槓桿合約交易中放大的清算風險。請實施徹底的異常處理和重試邏輯,為每個金鑰綁定 IP 白名單,應用最小權限原則,並僅投入你輸得起的資金。此處描述的端點參數和速率限制在 2026 年 8 月經過核實,可能會隨平台更新而變化 —— 請始終參考最新的 WEEX 官方 API 文件。本文不構成投資建議。

本內容僅供參考,不構成任何金融、投資、法律或稅務建議。文中提及的任何活動、獎勵、線上活動或相關資訊,不應被視為對購買、出售或交易任何加密資產的推薦、招攬或邀請。加密資產具有高波動性,存在價值損失風險。WEEX服務、產品及相關活動的可用性可能因地區而異。用戶在參與前有責任確保符合當地適用法律法規。

猜你喜歡

iconiconiconiconiconiconiconiconicon
客戶服務:@weikecs
商務合作:@weikecs
量化做市商合作:bd@weex.com