安全 · 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/zh-Hans/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、账户层级可设风控。

免费开始使用