安全 · API 金鑰

Bitget API Key 安全設定完整教學
sub-account 隔離、IP 白名單、Passphrase 三個關鍵

2026-07-31·11 分鐘閱讀

你要把 TradingView 訊號、或某個交易機器人接到 Bitget 自動下單,第一件事就是建一把 API key——這也是 Bitget API key security 這件事真正被決定的一步。90% 的人在這一步權限給太寬——照著網路上 Binance 版教學隨手勾一勾,忘了 Bitget 多了一個 Passphrase、少了一個「Read」獨立勾選項,還有一整套 sub-account 可以自己管 API 的機制沒有用到。這篇把 Bitget 官方 API 文件、加上我們自己 跨 10 家交易所的權限檢查清單已經查證過的部分,整理成 Bitget 專用版,只講會影響你風險大小的三件事:權限最小化、IP 白名單、以及那個很多人沒開的 sub-account 隔離。

這篇不比較 Bitget 跟其他家的資安誰做得好——那需要跨交易所實測與內部制度審計,我們沒做過,這篇也不會做。這篇不教你怎麼在 Bitget 上做交易策略,只講 API key 這一層。範圍縮在這裡,是因為只要這一層設對了,就算某個下游工具將來被駭,你的資金也搬不走;設錯了,後面所有防護都變成裝飾。

先講結論
三件事、依重要性排序:建 key 時不要勾 Withdraw 這個權限把跑機器人的 key 放在 sub-account,不要用主帳號建(Bitget 的 sub-account 可以自己管 API,這是 Binance 沒有的做法,用了就多一層隔離);順手把工具給你的 IP 填進IP 白名單——Bitget 官方對 IP 白名單的規則是「strongly recommended」,只有開 Withdraw 才強制,但你自己就應該當它是強制的。這一條 Binance 跟 BingX 都對「沒綁 IP 的 key」加了自動到期規則,Bitget 官方文件目前沒寫這種到期機制——反過來說,Bitget 的 key 不會自己提醒你該定期輪替,這件事你得自己排程做。

Bitget 的 API key 權限模型:兩套 API、兩種介面

Bitget 目前並存兩套 API:Classic API(現貨與合約各自獨立的舊介面)與 UTA(Unified Trading Account,統一交易帳戶)——後者是 Bitget 官方文件標「🔥 Recommended」的新一代介面。權限模型在兩套裡稍有不同,UI 上實際能勾的選項也隨帳戶模式而變。這一點跟 Binance/BingX 只有一組固定權限清單不同,是Bitget 特有的複雜度。

權限層級允許做什麼自動交易機器人需要嗎
Read-Only(唯讀)查帳戶餘額、部位、訂單狀態、行情資料自動下單至少要能讀,但這是被包含在 Trade 權限裡的隱含能力,不是獨立勾選
Trade(下單/撤單)現貨與/或合約下單、撤單、改倉位、設槓桿自動交易的核心權限——依你的策略跑現貨就勾 Spot,跑合約就勾 Futures/UTA trade
Transfer(帳戶間轉帳)在錢包、現貨、合約帳戶之間搬錢多數機器人不需要——除非你要它自動調度保證金
Withdraw(提幣)把資金從 Bitget 提到外部錢包或地址絕對不要勾

來源:Bitget 官方 UTA API 快速入門(bitget.com/api-doc/uta/guide,查證 2026 年 7 月)、跨 10 家交易所檢查清單(tvsbot.com/blog/crypto-api-key-permissions-checklist,查證 2026-07-22)。實際 UI 的勾選字樣會隨帳戶模式(Classic vs Isolated / Basic / Advanced UTA)改變,請以你建 key 當下 Bitget 帳戶頁面顯示為準。

UTA 帳戶模式下的權限分類更細
Bitget 官方 UTA 快速入門文件把 UTA 的權限描述成兩個軸——Trade(交易,可讀寫)Management(帳戶管理,可讀寫),各自都可以獨立設「Read-only」或「Read and write」。「Management, read and write」允許改設定,例如調整槓桿、切換 holding mode。對機器人來說,多數只需要「Trade, read and write」;「Management, read and write」除非你的策略會自動改槓桿或切模式,否則不用勾。這是 UTA 特有的細分,Classic API 沒有這個切法。

還有一個 Bitget 跟 Binance/BingX 不一樣的地方——Bitget 的 API 認證要三把 key,不是兩把ACCESS-KEYSecret Key、加上一個 Passphrase。這個 Passphrase 是你建 key 當下自己設的密碼,官方文件寫得很直白:「if the Passphrase is forgotten, it cannot be retrieved and the APIKey needs to be re-created」——忘了就得重建一把 key。這一點跟 OKX 的做法一樣,跟 Binance/BingX 只有 API Key + Secret 兩把不同。實務意義是:你的三把 key 任何一把外洩,都可能造成資產損失——Bitget 官方風險提示的原文是「The leakage of any one of these three keys may cause the loss of your assets」——所以 Passphrase 也要當祕密看待,跟 API Key/Secret 一起存進密碼管理工具。

三個必做設定:關 Withdraw、綁 IP、用 sub-account

設定一:不要勾 Withdraw 權限

這一條的重要性在於它決定了 key 外洩時的損失規模,其他兩條決定的是外洩機率。就算你把 IP 白名單設得再嚴、Passphrase 藏得再深,只要哪天 key 從別的地方漏出去——電腦中毒、SaaS 平台被駭、自己手滑 push 到公開 repo——Withdraw 有沒有勾,決定的是駭客能不能直接把錢搬走

Bitget 在 key 層級可以把交易跟提幣完全分開——這一點我們的跨交易所檢查清單裡逐條對照過,Bitget 屬於「可以分開」的 9 家之一(Gate.io 是唯一例外)。所以這件事的難度不是技術限制,是你有沒有記得不勾而已。Bitget 對 Withdraw 權限有一個額外要求——只要你勾了 Withdraw,就會被要求綁 IP 白名單,這是強制的。其他家(Binance、BingX)也一樣有這個規則,是這個小圈子裡的業界共識。

沒關 Withdraw 的實際後果
假設你的 key 有 Trade 加 Withdraw 兩個權限、又不小心外洩:駭客拿到 key 的第一步不是虧你的錢——多數人以為的「他頂多亂下單」不是最壞情況。真正發生過的模式是:他會先把你的資產全數 market sell 換成 USDT,然後透過 withdraw API 提到他的地址——整個過程在你發現以前可能只需要幾分鐘。IP 白名單能不能擋,取決於他有沒有辦法從你設定的 IP 打 API;很多外洩情境(例如你 push 了 repo)是連 IP 資訊都一起漏出去的。

設定二:綁 IP 白名單

Bitget 官方 UTA 快速入門文件的原文是「For security reasons, it is strongly recommended that you bind an IP address when creating the API Key」——「強烈建議」,不是強制(除非你勾了 Withdraw)。這是 Bitget 跟其他家不同的地方:Binance、BingX 對「沒綁 IP 的 key」都加了強制的自動刪除規則(30 天/14 天),Bitget 官方文件目前沒有寫這種到期機制。這個差別對你的實務意義是:Bitget不會幫你把懶得綁 IP 的 key 定期清掉,你自己得主動綁,不然它就會一直放著。

你自己架的 VPS 通常就 1 個固定 IP,用 SaaS 平台的話對方會給你一組固定出口 IP(TVSBot 給的是一組,其他工具數量不一,接工具之前先問清楚)。IP 白名單的欄位在 Bitget 建 key 的介面裡是明確存在的一個輸入框,填了之後只有來自這些 IP 的請求會被接受。

設定三:把跑機器人的 key 放在 sub-account——這是 Bitget 的差異化做法

這一條是這篇跟 Binance 版最大的不同,也是 Bitget 官方文件裡真的做得比較細的地方——Bitget 的 sub-account 可以自己建、自己管 API key,不需要主帳號幫忙操作。這一節值得單獨拆一個 H2 講清楚。

sub-account 隔離:Bitget 官方支援、但預設是關的

Bitget 官方 UTA 文件把這件事寫得很清楚——「Sub-accounts (virtual sub-accounts and standard sub-accounts) can create and manage their own API Keys independently, without requiring the main account to operate on their behalf」。翻成白話:你可以在主帳號底下建一個 sub-account,把資金分過去,讓那個 sub-account 自己建 API key 跑機器人——主帳號完全不需要建任何 key。這帶來的好處是隔離,如果那把 sub-account 的 key 出問題(外洩、策略失控、單子亂下),影響範圍限縮在該 sub-account 的資金,主帳號其他資產不會被波及。

50
Bitget 一個 UID 最多可建的 API key 組數(官方 UTA 文件)
預設關閉
sub-account 的 API Key Management 權限——主帳號要另外開啟才能用
3 把 key
Bitget API 認證需要的 credentials 數(Key + Secret + Passphrase)
0 天
官方文件未寫明的自動到期規則——Bitget 的 key 不會自己過期

但這件事有個關鍵前提是很多人漏掉的——這個功能預設是關閉的。Bitget 官方 UTA 文件用一整段警告:「Prerequisite: The main account must enable the API Key Management permission for the sub-account. This setting is disabled by default. The main account can configure it under sub-account permission settings」。所以你不是「建了 sub-account 就能用」,而是要主動去主帳號的 sub-account 權限設定裡,把 API Key Management 這個權限打開,之後 sub-account 才能自己建 key。開啟之後 sub-account 可以做的事,官方列了四件:

  • Create API Key(建 key)
  • View API Key(查看 key 資訊)
  • Edit API Key permissions(改權限)
  • Delete API Key(刪除 key)

同一節官方另外補了一句:「The main account retains full control and can view, edit, or delete any sub-account's API Keys at any time」——主帳號隨時可以看、改、刪 sub-account 的所有 key。這件事的實務意義是:你把跑機器人的權限下放給 sub-account,並沒有失去對它的控制權——sub-account 是操作單位,主帳號永遠是 root。

什麼時候值得開 sub-account
簡單的判斷基準是——如果你機器人管理的資金超過你可以承受一次歸零的金額,就值得開 sub-account 隔離。舉例來說,你主帳號有 10 萬 USDT,機器人只跑 5,000 USDT 的策略——那把這 5,000 分到獨立 sub-account,出事的話只損失 5%,比全部混在主帳號安全很多。這個原則不是 Bitget 專屬,是所有多資產帳戶的通用做法,但 Bitget 把「sub-account 可以自己管 API」做成正式功能這件事,比 Binance 之類需要主帳號代管 sub-account 所有 key 的做法,管理上更乾淨。
Binance 的 sub-accountBitget 的 sub-account
sub-account 能自己建 API key主帳號代建,sub-account 使用sub-account 自己建、自己管(需主帳號開權限)
API Key Management 預設狀態主帳號一律持有sub-account 預設關閉,需主動開
主帳號能不能覆寫 sub-account 的 key能——本來就是它建的能——官方文件明講「retains full control」
適用情境主帳號想集中管理多個機器人各個機器人「自治」,減少主帳號負擔

這張比較表不是要判 Bitget 的做法比較好——兩家的思路不一樣,各有適合的情境。Bitget 的「sub-account 自己管 API」對不同人跑不同機器人的團隊比較友善(例如你跟合作夥伴各管一個策略),主帳號不用當中轉站。Binance 那種主帳號一手代管的做法,對單人單機器人的散戶反而是簡單的——反正一切都在你手上。挑哪個,看你實際場景。

Bitget 沒有明文到期機制,意味著什麼

對比其他家的做法你就能看出這個差異的分量——Binance 對沒綁 IP 的 key 是 30 天閒置刪除,BingX 是 14 天,OKX 是 14 天。Bitget 官方 UTA 快速入門、以及 Classic API 文件裡,都查不到針對「沒綁 IP 的 key」或「閒置多久」的自動到期規則。這件事在我們的跨 10 家交易所檢查清單裡也是同樣的結論。

官方文件講到哪裡為止
這裡要講精確一點——「查不到」不等於「絕對沒有」。可能只是官方沒有把這個規則寫成公開文件,或者這個規則存在但埋在某個帳戶通知裡我們沒能爬到。查證日期是 2026 年 7 月,如果 Bitget 之後補上到期機制,這篇會過時。比較穩的做法是別依賴這個「沒到期」的現況——把「定期輪替 key」寫進你自己的排程(例如每 6 個月手動換一次),不管交易所有沒有幫你做,你自己都做。

這個差異對你的實務意義有兩層:好處是你不用擔心機器人某天早上因為 key 到期靜默斷線——Bitget 不會這樣做。壞處是失效的 key(例如你早就不用某個工具了、但忘了刪 key)會一直躺在你的 API 管理頁面裡,多一把懸在那裡不會被清掉的攻擊面。這一條你得靠自己:定期回 Bitget 的 API 管理頁面核對,把不用的 key 主動刪掉——這件事沒有交易所會幫你做。

建 Bitget API Key 的實際流程

Bitget 的 UI 會偶爾改版,這裡不寫具體像素位置的按鈕動線——只給你必經的步驟骨架。實際設定時請以 Bitget 帳戶頁當下顯示為準。假設你要走「sub-account 跑機器人」這條路,流程比單建一把主帳號 key 多兩步,但整個 workflow 只做一次,之後就穩了。

text
【第一次設定:把 sub-account 打開】
        1. 登入 Bitget → 右上角頭像 → Sub-Accounts(子帳戶管理)
        2. Create Sub-Account → 填 sub-account 名稱、Email、密碼
        3. 在該 sub-account 的權限設定裡,勾選 API Key Management
           (官方文件明講:這一項預設是關的,你要主動開)
        4. 把主帳號要分給機器人的資金,透過 Transfer 移到 sub-account

        【建 API key:用 sub-account 身份】
        5. 登出主帳號 → 用 sub-account 帳號登入(或用 sub-account 切換功能)
        6. 右上角 → API Management → Create API Key
        7. 填 Label(例如:tvsbot-prod、grid-bot-01)
        8. 設定 Passphrase(自己想一組 8~32 字元的密碼,忘了得重建 key)
        9. 完成 2FA 驗證
        10. 拿到三把 key:API Key、Secret Key、Passphrase
            (Secret Key 只顯示一次,立刻複製)

        【設權限:只勾要的、不勾提幣】
        11. 點該 key 進入 Edit:
            - 勾選需要的 Trade 類別(Spot 或 Futures,依你策略)
            - 不要勾 Withdraw
            - 不要勾 Transfer(除非你的機器人需要自動調度保證金)
            - 填入 IP 白名單(Bitget 官方「strongly recommended」,你就照做)
        12. Save changes

Secret Key 只會顯示一次——這是所有交易所的共通規則。Bitget 因為多了 Passphrase,一起要存好——這三把 key 任何一把外洩,官方都寫得明白會導致資產損失。密碼管理工具(1Password、Bitwarden、macOS Keychain)都可以;貼進純文字檔案、Slack、Email 是不好的習慣,一次養成一次痛。

怎麼挑串接 Bitget 的自動化工具

Bitget 目前是我們自己 TradingView Webhook 支援交易所整理裡列為「有官方 REST/WebSocket API 可對接、能接自動下單」的名單成員——這代表市面上不少工具都聲稱能接。挑工具時值得問清楚三件事:

  • 它會不會要求你把 key 開 Withdraw 權限?會的話直接跳過這個工具——現貨與合約下單這件事,技術上永遠不需要提幣權限,會要求就是架構有問題。
  • 它給你的固定 IP 有幾個?多數 SaaS 是 1~3 個,你都塞得進 Bitget 的 IP 白名單欄位;有些工具是動態出口 IP(每次呼叫可能不一樣),這種你就沒辦法綁 IP 白名單,得回頭權衡是不是可以接受。
  • 你的三把 key(尤其是 Passphrase)存在他們那邊的方式是什麼?明文存在資料庫是警訊;加密儲存而且加密主金鑰跟資料庫實體分開存放,是值得問清楚的基本門檻。

就我們自己來說:TVSBot 用 Fernet(AES-128-CBC + HMAC-SHA256)加密儲存你的三把 key,加密主金鑰只存在環境變數、跟資料庫本身分開存放;每一筆下單都直接用你自己的 key 呼叫 Bitget API,我們不會持有你的資金;設定文件建議使用者只開 Trade 權限、並提供一組固定出口 IP 讓你填進 Bitget 白名單,並強烈建議把 key 建在 sub-account 而不是主帳號。同一份 checklist 適用於任何非託管工具,不只是 TVSBot——所以就算你最後選了別家,這一節的清單也用得上。

誠實的一段:這篇文章沒解決的問題

即便你把上面三個設定全部做好,還有一些風險是這篇教學無法幫你消除的,寫在這裡是為了讓你有正確的預期:

第一,交易所本身被駭這件事沒有 API key 層級的防禦可以擋——你的資產放在 Bitget 上,就是承擔 Bitget 這個平台的營運風險。這一層要靠交易所的 Proof of Reserves、保險基金、以及你自己分散持有到多家平台或冷錢包來處理,不是靠 key 怎麼設定。

第二,你自己的策略把錢虧掉,跟 API key 安全無關——這篇沒有討論任何策略層面的風險。任何自動化交易架構都不會替你保證賺到錢,這件事永遠成立;即使是最保守的 grid bot、資費套利,遇到極端行情都會虧損。策略層面的風險評估請看我們的 Kelly 公式與部位大小ATR 波動率動態調整部位兩篇。

第三,我們沒能對 Bitget 做完整的內部制度審計——本文所有關於 Bitget 官方規則的敘述,都是根據可公開查證的文件與帳戶頁面內容整理出來的,查證日期 2026 年 7 月。交易所政策會在沒有太多預告的情況下變動,實際設定前建議自己再去 Bitget 官方 API 文件頁面確認一次現行規則。

常見問題

Bitget 的 API 為什麼需要三把 key?Passphrase 是什麼?
Bitget 的 API 認證要三個 header:ACCESS-KEYACCESS-SIGN(用 Secret Key 算的簽名)、ACCESS-PASSPHRASEPassphrase 是你建 key 當下自己設的密碼,官方文件寫得很直白:「if the Passphrase is forgotten, it cannot be retrieved and the APIKey needs to be re-created」——忘了就得重建。這種三把 key 的設計跟 OKX 一樣,Binance/BingX 則只有 API Key + Secret 兩把。實務意義是三把都要當祕密存好,任何一把外洩官方都寫明會造成資產損失。
我一定要用 sub-account 建 key 嗎?直接用主帳號建不行嗎?
技術上可以,官方沒有強制要求。但如果你機器人管理的資金超過你可以承受一次歸零的金額,用 sub-account 隔離就值得做——Bitget 的官方文件把「sub-account 可以自己建、自己管 API key」寫得很清楚,這個功能是為這種情境準備的。缺點是 sub-account 的 API Key Management 權限預設是關的,你得從主帳號的 sub-account 權限設定裡先打開;打開之後 sub-account 就能獨立管理自己的 key,主帳號隨時仍可覆寫。
Bitget 的 key 會自動到期嗎?我要多久換一次?
Bitget 官方 UTA 快速入門與 Classic API 文件裡,目前查不到任何自動到期的規則(查證 2026 年 7 月)。這跟 Binance(沒綁 IP 的 key 30 天後刪除)、BingX(14 天)不同。好處是你的機器人不會因為 key 到期靜默斷線,壞處是你早就不用的 key 會一直躺在 API 管理頁面裡增加攻擊面。建議把「每 6 個月主動輪替一次」寫進你自己的排程——不管交易所會不會幫你做,你自己做。
我能不能建一把 Bitget key、同時給 UTA 跟 Classic API 兩邊用?
依 Bitget 官方 UTA 文件的說明,UTA API 使用的是 UTA 帳戶模式下的權限;Classic API 使用的是舊介面的權限(例如 spot_tradecontract_tradereadonly)。實務上建議一把 key 對應一個用途:跑 UTA 的機器人建 UTA 專用 key,跑 Classic 的機器人建 Classic 專用 key。這樣出問題時的影響範圍限縮在單一介面,也比較好在 Bitget 的 API 管理頁面上辨識哪把 key 在做什麼事。
Bitget key 外洩之後,我第一時間要做什麼?
第一步是立刻進 Bitget 的 API Management 頁把該 key 刪除——這件事優先於任何其他動作,因為 key 存活的每一分鐘都是損失的機會。Bitget 官方風險提示的原話是「If you find that the APIKey is leaked, please delete the APIKey as soon as possible」。刪掉之後檢查近期訂單紀錄與提幣紀錄(提幣紀錄尤其重要,如果你之前不小心開了 Withdraw 權限);如果發現可疑提幣,立刻聯絡 Bitget 客服。最後:建新 key 時記得檢討這次為什麼會外洩——是電腦中毒、SaaS 被駭、還是自己 push 到公開 repo——不修根本原因,換新 key 只是把時間往後拖。
跟 Binance API key 設定教學相比,這篇差在哪裡?
四個關鍵差異——第一,Bitget 需要 Passphrase 這個第三把 key,Binance 沒有;第二,Bitget 的 sub-account 可以自己建、自己管 API key(需主帳號開權限),Binance 則是主帳號代管所有 sub-account key;第三,Bitget 官方文件目前沒有寫明自動到期規則,Binance 則是沒綁 IP 的 key 30 天閒置刪除;第四,Bitget 並存 UTA 跟 Classic 兩套 API,權限選項會依帳戶模式而變。核心「不要勾 Withdraw、要綁 IP」的邏輯兩家一樣。想看 Binance 專屬的完整流程,可以看 Binance API Key 安全設定完整教學

Get started

想把今天學到的東西自動化跑起來?

把 TradingView 訊號接到 Bitget 自動下單——TVSBot 非託管、用你自己的 API key、提供固定 IP 讓你填進 Bitget 白名單、下單前 dry-run、帳戶層級可設風控。

免費開始使用