OKX 的 API 和其他交易所有幾個不一樣的地方:金鑰除了 API Key、Secret Key,還多一組自己設定、忘了就找不回來的 Passphrase;沒綁 IP 又有交易權限的金鑰,閒置 14 天會被系統刪掉;下單限速是「每個交易對各自計算」,而不是整個帳戶共用一個額度。這篇依 OKX 官方 API 文件(v5)與說明中心整理,數字截至 2026-09-28,以官方頁面為準。返佣對量化策略損益的影響,已經寫在量化交易手續費返佣,這裡只講怎麼把程式接上 OKX。用 NOVA888 註冊 OKX,享 20% 自動返佣;另有我們獨家的 OKX 獎勵和優惠活動,請洽客服。
先搞懂三組憑證:API Key、Secret Key、Passphrase
建立金鑰後,系統會給你隨機產生的 API Key 與 Secret Key;Passphrase 則是你在建立時自己輸入的密碼。官方文件寫明,OKX 只保存 Passphrase 的加鹽雜湊值,忘記就無法找回,只能刪掉舊金鑰重新建一組。三組都要存在安全的地方,建立後也看不到 Passphrase 了。
每個私有請求都要帶四個標頭:OK-ACCESS-KEY、OK-ACCESS-SIGN(簽名)、OK-ACCESS-TIMESTAMP、OK-ACCESS-PASSPHRASE。時間戳要用 UTC 的 ISO 8601 格式、精確到毫秒,和伺服器時間差超過 30 秒就會被拒(錯誤碼 50102)。官方 FAQ 提醒最常見的原因是用了本地時區,建議下單前先用 GET /api/v5/public/time 對時。
建立金鑰:網頁、App 與子帳戶
官方〈API 常見問答〉列的路徑:
- 網頁:登入 → 個人資料 →「API 與連接」→ 建立 API Key → 填名稱 → 選擇帳戶與用途 → 填 IP 白名單 → 選權限 → 設定 Passphrase。
- App:登入 → 選單(⋮⋮⋮)→ 往下找到 API → 建立 API Key,後面步驟相同。
幾個容易卡關的地方:
- 資產門檻:官方寫明,部分地區的主帳戶或子帳戶,資產(AUM)要超過 100 USD 才能建立 API Key。
- 子帳戶要用自己的金鑰:在要交易的子帳戶底下建立金鑰,使用該子帳戶的權限與 Passphrase;主帳戶和子帳戶的 Key、Secret、Passphrase 不要混用。
- API 網域依註冊站點而定:官方文件寫明,在 app.okx.com 註冊的美國與澳洲用戶要用 us.okx.com,在 my.okx.com 註冊的歐洲用戶要用 eea.okx.com;網域不對會出現「50119 API key doesn't exist」。
- 帳戶模式要先在網頁或 App 設定:現貨、合約、跨幣種保證金、組合保證金四種模式,第一次都要在介面上設定;在現貨模式下用 API 下合約單會回 51010。
權限怎麼選:讀取、交易、提幣
| 權限 | 官方定義 | 量化策略需要嗎 |
|---|---|---|
| 讀取(Read) | 查詢帳單、訂單歷史等需要讀取權限的資訊 | 需要 |
| 交易(Trade) | 下單、撤單、資金劃轉、需要寫入權限的設定 | 需要 |
| 提幣(Withdraw) | 發起提幣 | 不需要,不要開 |
交易權限底下另外有三個細項:劃轉(帳戶之間轉資金,所有帳戶都有)、借貸與賺幣(帳戶符合資格才看得到)。官方說明,原本已開交易權限的金鑰,這三項會自動一起開啟;建立或編輯金鑰時,順手確認策略是否真的需要借貸與賺幣。
另外,就算開了提幣權限,要用 API 提幣,提幣地址還必須先在網頁加入地址簿並勾選免驗證,否則會回 58207。這是 OKX 刻意加的一道關卡,量化程式根本不需要走到這一步,提幣一律回到網頁或 App 手動處理。
14 天規則:沒綁 IP 的金鑰會自動失效
這是 OKX 和其他交易所最不一樣的一條。官方 API 文件寫明:
- 每把金鑰最多綁 20 個 IP,支援 IPv4、IPv6 與網段格式。
- 沒綁 IP、且有交易或提幣權限的金鑰,閒置 14 天後會失效(官方 FAQ 的寫法是自動刪除)。模擬交易的金鑰不會失效。
- 「使用」的定義很嚴格:只有呼叫需要金鑰驗證的私有介面才算;呼叫公開介面時就算帶了金鑰資訊,也不算使用。
- WebSocket 只有「登入」那一下算使用金鑰;登入後在同一條連線上訂閱、下單都不算。
- 沒綁 IP 但有交易/提幣權限的金鑰,使用紀錄可以在安全中心查到。
最後兩點對量化策略影響最大:如果你的機器人一直掛在同一條 WebSocket 連線上下單、很少重新登入,又沒有綁 IP,就可能在策略還在跑的時候碰到金鑰失效。
最省事的做法就是把策略伺服器的固定 IP 綁上去。綁了 IP 的金鑰不受 14 天閒置規則影響,外流時也只能從你的伺服器使用,一次解決穩定性和安全性兩個問題。
模擬交易:先用虛擬資金跑一遍
OKX 的模擬交易可以直接用 API 串接,官方文件寫的流程是:登入 OKX →〔交易〕→〔模擬交易〕→ 個人中心 → 模擬交易 API → 建立模擬交易 API Key。和正式環境的差別:
| 項目 | 正式環境 | 模擬交易 |
|---|---|---|
| 金鑰 | 正式帳戶建立的金鑰 | 必須用模擬環境另外建立的金鑰 |
| REST 請求 | — | 標頭加上 x-simulated-trading: 1 |
| WebSocket | wss://ws.okx.com:8443 | wss://wspap.okx.com:8443(public/private/business 三個路徑) |
| 不支援的功能 | — | 提幣、充值、申購/贖回等 |
| 金鑰失效 | 適用 14 天規則 | 不會失效 |
金鑰和環境對不上會回「50101 APIKey does not match the current environment」:正式金鑰要配 x-simulated-trading: 0(或不帶),模擬金鑰要配 1。官方另外提供網頁版的 Demo Trading Explorer,登入後可以直接在瀏覽器試打模擬環境的介面,適合先確認參數格式。
限速:每個交易對各自計算
OKX 的限速邏輯和「整個帳戶一個額度」不同。官方文件寫明:公開介面依 IP 限速;私有 REST 介面依 User ID 限速(每個子帳戶各自有 User ID);下單、改單、撤單的額度彼此獨立;REST 與 WebSocket 共用同一份額度;而下單類的限速是以「交易對(Instrument ID)」為單位。超過時回錯誤碼 50011。常用端點(截至 2026-09-28):
| 端點 | 限速 | 計算單位 |
|---|---|---|
下單 POST /api/v5/trade/order | 每 2 秒 60 次 | User ID + 交易對 |
| 批量下單(每次最多 20 筆) | 每 2 秒 300 筆訂單 | User ID + 交易對 |
| 撤單 | 每 2 秒 60 次 | User ID + 交易對 |
查餘額 GET /api/v5/account/balance | 每 2 秒 10 次 | User ID |
查手續費率 GET /api/v5/account/trade-fee | 每 2 秒 5 次 | User ID |
| 帶單員的帶單交易對 | 每 2 秒 4 次 | — |
在交易對的限速之外,還有一層子帳戶總量限制:每 2 秒最多 1,000 個新單與改單請求(批量單逐筆計算),超過回 50061。兩層限制同時運作。官方文件的最佳實務直接建議:需要更多額度時,把策略拆到不同子帳戶,讓每個帳戶各自用滿額度。
手續費等級 VIP5 以上的帳戶,另外適用「成交率」分級:系統每天依過去 7 天的成交量與下單/改單次數計算比率,最高一級每 2 秒可達 10,000 個請求;比率下降時有一天緩衝期。現貨與槓桿訂單不受子帳戶總量限制。可以用 GET /api/v5/trade/account-rate-limit 查自己目前的額度。
WebSocket:連線、訂閱與心跳
- 建立連線:每個 IP 每秒最多 3 次連線請求。公開頻道連 public 位址,私有頻道連 private 位址。
- 訂閱次數:每條連線每小時的 subscribe/unsubscribe/login 請求合計最多 480 次。
- 心跳:訂閱沒建立、或超過 30 秒沒有資料推送,連線會自動斷開。官方建議每收到一則訊息就重設一個小於 30 秒的計時器,逾時就送字串
ping,收不到pong就重連。 - 私有頻道連線數:訂單、帳戶、持倉等頻道,每個子帳戶每個頻道最多 30 條連線,超過時通常是最新的那條被拒。透過 WebSocket 下單、改單、撤單不受這條影響。
官方 FAQ 還提到一個實務細節:每天 8 點、16 點、24 點是收取資金費的時間點,伺服器壓力較大(官方原文未註明時區),這時可能出現「50004 API endpoint request timeout」;50004 不代表下單失敗或成功,要再查詢實際結果,不要直接重送同一張單。
如果擔心程式當機或斷線後單子還掛在簿上,可以用 POST /api/v5/trade/cancel-all-after 設倒數計時:時間到還沒重設,就自動撤掉所有掛單(限速每秒 1 次)。
程式碼範例:簽名並查詢手續費率
OKX 的簽名方式是把「時間戳 + 請求方法(大寫)+ 請求路徑 + 請求內容」串成一個字串,用 Secret Key 做 HMAC SHA256,再做 Base64 編碼。GET 請求的參數算在路徑裡。下面示範在模擬環境查詢 BTC-USDT 現貨的手續費率,只需要讀取權限;三組憑證都從環境變數讀取。
import base64, hashlib, hmac, os
from datetime import datetime, timezone
import requests
key = os.environ["OKX_API_KEY"]
secret = os.environ["OKX_SECRET_KEY"]
passphrase = os.environ["OKX_PASSPHRASE"]
path = "/api/v5/account/trade-fee?instType=SPOT&instId=BTC-USDT"
ts = datetime.now(timezone.utc).isoformat(timespec="milliseconds").replace("+00:00", "Z")
prehash = ts + "GET" + path
sign = base64.b64encode(hmac.new(secret.encode(), prehash.encode(), hashlib.sha256).digest()).decode()
headers = {
"OK-ACCESS-KEY": key,
"OK-ACCESS-SIGN": sign,
"OK-ACCESS-TIMESTAMP": ts,
"OK-ACCESS-PASSPHRASE": passphrase,
"x-simulated-trading": "1",
}
r = requests.get("https://openapi.okx.com" + path, headers=headers, timeout=10)
print(r.status_code, r.json())
換到正式環境時,改用正式帳戶的金鑰、拿掉 x-simulated-trading 標頭;美國、澳洲與歐洲用戶記得換成各自的 API 網域。
API 下單的手續費與 maker 單
與其套公開費率表,不如直接用上面範例的 GET /api/v5/account/trade-fee 查自己帳戶目前的實際費率。官方文件寫明,現貨/槓桿查詢時帶上 instId,回傳的才是正確適用的費率(例如參加激勵計畫用戶的做市商費率)。各等級的公開費率見 OKX VIP 手續費等級。
要確保只當 maker,下單時把 ordType 設成 post_only。官方定義是:這種單只能提供流動性、成為 maker,如果下單當下會直接成交,就會被取消。maker/taker 的差別與省下的金額,見 Maker/Taker 手續費說明。
API 交易和返佣:OKX 條款怎麼寫
我們讀了 OKX 聯盟計畫規則(2026-09-07 更新)與經紀商規則(2026-08-05 更新)。聯盟規則的寫法是:邀請人就受邀用戶支付的每一筆交易手續費取得分成,涵蓋現貨、合約、期權。規則裡沒有針對「自己用 API 下單」另外寫計入或不計入,因此這部分以 Quant Nova 每日結算明細為準。官方有明寫、和程式交易者直接相關的是:
- 透過經紀商下單:經紀商規則寫明,經由聯盟邀請註冊、再透過經紀商(API 經紀商或 OAuth 經紀商)交易的用戶,分成會分別給聯盟與經紀商。
- 不產生分成的情況:交易的幣種不收手續費;用返佣卡、合約體驗金、抵用券抵扣手續費;享有特殊費率;交易者本身是做市商或經紀商;使用託管子帳戶;手續費等級 VIP7 以上。
換句話說,參加 OKX 做市商計畫、或用託管子帳戶跑策略的帳戶,官方寫明不在分成範圍內,開始之前要先確認。
透過 Quant Nova 用 NOVA888 註冊 OKX,享 20% 自動返佣;另有我們獨家的 OKX 獎勵和優惠活動,請洽客服。綁定只需要 UID,不需要把 API 金鑰交給任何人。邀請碼與註冊連結見 OKX 邀請碼 NOVA888,返佣怎麼計算見 OKX 手續費返佣攻略;已經有帳號的話,先看 OKX 換綁教學。在其他交易所已經是 VIP、或交易量大的量化團隊,歡迎聯繫 Quant Nova 客服,我們會直接對接交易所官方窗口,幫你爭取 VIP 等級試用等福利(實際以交易所核定為準)。
安全與防詐:金鑰不交給任何人
OKX 的 API 協議(2026-07-28 更新)把責任寫得很清楚:金鑰的產生、保管、輪換與撤銷都由用戶自己負責,不得把金鑰分享給未經授權的人,懷疑外流就要立刻撤銷。協議也把「把 API 存取權或憑證交給未經授權的第三方」列為禁止行為,並寫明未經 OKX 事先書面同意,不得用 API 替第三方操作帳戶或下單。
要接第三方機器人或交易平台時:
- 優先用 OAuth 授權:OKX 經紀商規則說明,OAuth 經紀商是透過 OKX App 或網頁授權,用戶不需要把自己的 API 金鑰交出去。
- 一定要貼金鑰時,只給讀取+交易,綁上對方公布的伺服器 IP,並確認借貸、賺幣等細項是否真的需要。
- 向客服回報問題時,官方 FAQ 提醒:絕對不要提供 Secret、Passphrase、驗證碼或未遮蔽的簽名。
「代操」是最常見的騙局:對方自稱量化團隊或操盤手,要你建一把金鑰給他、保證固定月報酬。有提幣權限的金鑰,不論對方是誰、怎麼保證,都不要交出去;就算只有交易權限,對方也能用高槓桿把保證金賠光。
金管會 2025-09-22 公告完成洗錢防制登記的 VASP 名單時再次提醒:詐騙集團多以「穩賺不賠」、「高獲利低風險」等話術,誘導民眾購買虛擬資產,嗣後再藉口需支付解凍金、保證金或稅款等,要求民眾繳納額外款項後方得領回投資報酬。(金管會新聞稿)
台灣用戶另外要知道:截至 2026-09-28,OKX 不在金管會「已完成洗錢防制登記之提供虛擬資產服務之事業或人員」名單上,名單怎麼查與各家狀態見金管會 VASP 登記名單。
常見問題
OKX 的 Passphrase 忘記了怎麼辦?
無法找回。OKX 只保存 Passphrase 的雜湊值,只能刪掉這把金鑰、重新建立一組。
OKX API 金鑰為什麼突然失效?
最常見的原因是沒綁 IP、又有交易或提幣權限,閒置 14 天後被系統刪除。WebSocket 只有登入算使用,連線上的下單不算;綁上固定 IP 就不受這條規則影響。
一把金鑰可以綁幾個 IP?
最多 20 個,支援 IPv4、IPv6 與網段格式。
OKX 下單限速是多少?
單筆下單每 2 秒 60 次、批量下單每 2 秒 300 筆,都是以 User ID + 交易對計算;另外每個子帳戶每 2 秒最多 1,000 個新單與改單請求。REST 與 WebSocket 共用額度。
模擬交易的 API 怎麼用?
在模擬交易的個人中心另外建立金鑰,REST 請求標頭加 x-simulated-trading: 1,WebSocket 改連 wspap.okx.com。模擬金鑰不會因閒置失效。
用 API 交易能拿返佣嗎?
OKX 聯盟規則是就受邀用戶支付的每筆交易手續費分成,沒有針對自己用 API 下單另外寫,以結算明細為準;經紀商規則則寫明,聯盟邀請的用戶透過經紀商交易,分成會分別給聯盟與經紀商。做市商、託管子帳戶與 VIP7 以上不產生分成。