安全 · API 密钥

非托管交易机器人的
API 密钥权限检查清单

2026-07-22·11 分钟阅读

任何自动化交易工具——包括我们自己的——迟早都会让你提供交易所 API 密钥。真正决定你风险大小的问题,从来不是选哪个工具,而是你给那把密钥开了哪些权限。只给任务真正需要的权限,密钥泄露顶多是麻烦一场;权限开得比需要的宽,那就是完全不同等级的问题了。

有个概念值得说清楚:非托管工具拿到的密钥,让它能代你下单,但不会拿走你资产的持有权——这个区别是真实存在的,而且很重要。但这个区别,只有在密钥权限开得足够窄时才成立。一旦这把密钥也开了提币权限,「代你下单的权限」跟「你资产的访问权」之间的界线就模糊了很多——因为不管密钥有没有泄露,握有它的人现在都能直接把资金转走。

10
家交易所,逐一对照官方文档核实
1 / 10
无法在密钥层面把交易与提币分开(Gate.io)
14–90 天
强制自动到期的区间(多数家是「没绑 IP 才触发」,MEXC 则是每把 key 都算)
0
家交易所强制要求用子账户跑机器人(多数只是提供功能,未见官方书面建议)

10 家交易所,逐一对照官方文档

下面这张表只放真正会影响你风险大小的四件事:可勾选的权限种类、交易与提币能否分开、IP 白名单是强制还是可选,以及如果你两者都没设置,密钥会怎样。所有内容都来自各交易所自己的帮助中心、开发者文档或公告;查不到官方明文的地方,表格直接写「官方未明确说明」,不用其他家的做法去类推。

交易所可勾选的权限交易 / 提币能否分离IP 白名单自动到期规则
BinanceRead(读取)· Spot & Margin Trading(现货/杠杆交易)· Futures(合约)· Withdrawals(提币)(另有 Ed25519/RSA 非对称密钥选项)可以——没有 IP 白名单的话,提币功能连发起都做不到开提币权限就必须设置;其余非强制没设 IP 白名单的密钥,闲置 30 天后会被删除(官方博客);绑定了 IP 的密钥不受此规则影响
OKXRead · Trade · Withdraw(另有 Transfer / Loan / Earn,仅限特定资格账户)可以可选,单个密钥最多可绑 20 个 IP/CIDR有交易或提币权限、没绑 IP 的密钥,闲置 14 天后自动删除
BybitRead-Only(默认)· Trade · Assets(Account Transfer / Subaccount Transfer / Withdrawal)可以可选没绑 IP 的密钥 90 天后到期(官方文档);可通过重新保存 IP 设置来重置
BitgetRead-Only · Trade · Transfer · Withdraw可以开 Withdraw 就必须绑定;其余官方「强烈建议」但非强制查不到官方明文的到期机制
Gate.io只有 Read and Write / Read Only 二选一,没有更细的分类不行——Read and Write 把交易与提币绑在一起,没有中间选项可选没绑 IP 的密钥有效期 90 天(官方文档)
BingXSpot trading(现货)· Perpetual Futures trading(永续合约)· universal transfer(全能划转)· subaccount management(子账户管理)· withdrawal(提币)可以开提币权限就必须绑 IP;单个密钥最多可绑 20 个 IP没绑 IP、有交易/划转/子账户管理权限的密钥,闲置 14 天后自动删除;绑定 IP 或纯只读的密钥不受此限
Hyperliquid(DEX)没有勾选式菜单——由主钱包签署一笔「ApproveAgent」操作,授权另一个 API/Agent Wallet架构上是分离的,但不是靠勾选——见下方说明不适用——官方文档完全没有 IP 白名单这个概念Agent Wallet 会在被新授权替换、或账户已无资金时被「清除(pruned)」;官方没有公布固定天数
KuCoinGeneral · Spot · Margin · Futures · Earn · Withdrawal · FlexTransfers · LeadtradeFutures · Unified可以开 Withdrawal 或 FlexTransfers 就必须绑定查不到官方明文的到期机制
MEXC业内常描述为 Read Only / Spot Trading / Futures Trading / Withdrawal 四类(确切界面文字本次未能逐字核对,中等可信)推测可以,中等可信——官方用语暗示「trading permission」是可独立识别的一种权限,但没有逐字说明能否完全独立分开建议设置,最多可绑 4 个 IP;非强制每把密钥都是 90 天,跟有没有绑 IP 无关(官方公告);只能在到期前 5 天内续期
Kraken细分权限清单,包含 Query Funds、Create & Modify Orders、Cancel/Close Orders、Withdraw Funds、Export Data、Access WebSocket API 等可以——10 家里粒度最细,官方自己的使用场景对照表显示,纯算法交易的密钥完全不需要提币权限可选——创建密钥时自行决定要不要开,非默认项可选——「Key Expiration」要自己打开才会生效;不开的话没有强制的默认到期时间

核实时间 2026-07-22,依各交易所自己的帮助中心、开发者文档或公告核对。交易所政策会在没有太多预告的情况下变动——请把这份表格当作某个时间点的快照,实际设置前务必再查一次交易所现行的官方页面。

关于 Binance 90 天交易权限失效的细节
Binance 官方博客逐字确认:没设 IP 白名单的密钥闲置 30 天后会被删除。另外有一份较旧的 Binance 公告被广泛引用(且多个独立来源交叉印证一致),提到没绑 IP 的话,Spot & Margin Trading 权限会在 90 天后自动取消勾选——但这份公告的原文,本次核实没能亲自抓取核对逐字内容,所以这个 90 天的数字请当作「据报道」,而非本人逐字核对过的官方原文。

三个值得放慢脚步看的差异

上面表格大部分都符合直觉:读取、交易、提币是各自独立的开关,IP 白名单是降低风险的选项。但有三家交易所打破了这个常见模式,如果你习惯了另一家的做法,很容易看漏。

Gate.io:没有「只交易不提币」的选项

Gate.io 官方 API 文档(2026-07-06 更新)讲得很清楚:API 密钥只有Read and WriteRead Only二选一,没有中间选项。一把能下单的密钥,同时也能发起提币——这个权限模型把两者绑在一起,没办法只给其中一个。

这里要讲精确一点:这是在描述 Gate.io 权限模型的结构长什么样,不是在评价 Gate.io 这家交易所安不安全。Gate.io 在 API 权限之外另外有自己的提币防护——提币只能提到「已手动提过的地址」,且新增地址后有 24 小时冷却期。但就 API 密钥这个层面来说,如果你要把 Gate.io 的密钥接给任何交易工具,「关掉提币就好」这个常见建议在这里用不上——这也让 IP 白名单和交易所自己的提币地址管控,变得更重要。

Kraken:不主动设置就永远不会到期

表格里其他有到期规则的交易所,都是把它做成「默认强制」——没设 IP 白名单,密钥就会按时钟到期,不管你有没有要求。Kraken 不是这样运作的。「IP Address Restriction」跟「Key Expiration」都是创建密钥时你自己选择要不要开的设置项。两个都不开的话——根据 Kraken 官方支持文档——这把密钥就是不会到期。

如果你的心理模型是「反正交易所到时候会帮我让密钥到期,不用自己管」,这个假设在 Kraken 身上是错的。Kraken 把这个决定权完全交给你自己。

Hyperliquid:一笔钱包签名,不是一把密钥

Hyperliquid 是永续合约 DEX,根本不发传统意义上的 API 密钥。取而代之的是,你的主钱包签署一笔ApproveAgent操作,授权另一个API Wallet(Hyperliquid 官方文档里也称作 Agent Wallet)代表你签署后续的交易操作。一个账户可以有 1 个未命名的 API Wallet,加上最多 3 个命名的 API Wallet。

这里需要谨慎地加上但书。Hyperliquid 的官方文档描述了两套不同的签名机制:sign_l1_action用于下单、撤单这类操作,sign_user_signed_action用于提币、授权新 agent 这类操作。根据这个区分,加上 Hyperliquid 官方 SDK 的实际行为,Agent/API Wallet 看起来只能签署第一类操作——也就是说它能拿资金去交易,但不能把资金提走。这是本人根据技术架构所做的推论,不是 Hyperliquid 官方文档里哪一句话直接说出来的原文。请把它当作有充分依据的推论,而不是官方白纸黑字的保证。

哪些是官方规定,哪些只是行业惯例

很多关于 API 密钥的「最佳实践」建议被反复讲太多次,听起来就像是每家交易所都强制执行的规则。有些确实是,有些不是。以下是诚实的区分,让你知道哪些是不能妥协的,哪些其实是你自己主动多做、交易所并没有要求你这么做。

常见建议到底有多「官方」
「绝对不要给机器人的密钥开提币权限」行业最佳实践,多家交易所自己的博客与 FAQ 都有提到——但这份表格里没有任何一家交易所在技术上禁止你开这个权限。要不要开,完全是你自己的决定。
「开 IP 白名单」情况混合。Binance、Bitget、KuCoin、BingX 把它做成开提币权限前的硬性要求。OKX 是可选的,但不开的话密钥到期会比较快。Gate.io、MEXC、Kraken 则完全可选,不影响其他规则。
「用子账户跑机器人,不要用主账户」本次核实的所有交易所都有官方支持的子账户架构,部分甚至在文档里明确建议(Binance 博客建议一个 bot 配一个子账户;Kraken 文档直接写「strategy isolation」策略隔离)——但没有任何一家把它做成使用 API 的必要条件。
「设密钥到期时间、定期轮换」本次核实的 10 家里,有 6 家把到期做成强制默认(依交易所不同,14 到 90 天不等)。其中 5 家是「没绑 IP 才触发」,MEXC 则是无条件每 90 天到期一次。Bitget 与 KuCoin 查不到任何官方到期规则。Kraken 则完全可选。

核实时间 2026-07-22,依各交易所自己的文档核对。这里的「官方」指的是交易所自己的文档明确强制执行或明确建议这个做法——不代表其他做法不同的交易所就有问题。

检查清单

分成三个阶段,每一项都能追溯回上面已经核实过的内容,不是空泛的「小心一点」提醒。

创建密钥之前

  • 直接打开交易所当前最新的 API 文档——不要照抄旧教程里的截图。权限菜单跟到期默认值会变动;比如 Gate.io 这份文档最后更新时间是 2026-07-06。
  • 确认你要接入的工具只要求交易权限。如果它也要求提币权限,先问清楚为什么——一个自动化机器人真正需要把资金提走的正当理由非常少见。
  • 确认你的交易所是不是真的能在密钥层面把交易跟提币分开。本次核实的 10 家里有 9 家可以。Gate.io 是唯一的例外——它的 Read and Write 权限把两者绑在一起,如果你用的是 Gate.io,IP 白名单跟提币地址设置就要提前规划好。

设置当下

  • 除非有明确、当下就需要的理由,否则不要勾选提币权限。
  • 如果交易所有提供,就打开 IP 白名单。在Binance、Bitget、KuCoin、BingX上,只要涉及提币权限就不是可选项。其他家虽然可选,还是值得做——这是唯一一个在上述中心化交易所效果都一致的设置(Hyperliquid 这类 DEX 则完全没有 IP 白名单这个概念)。想看 Binance 更详细的单一交易所操作步骤,可参考 我们的 Binance API 密钥安全指南
  • 如果交易所可以设置明确的到期时间,建议主动设置,不要只依赖默认值。Kraken 尤其要注意——除非你自己打开「Key Expiration」,不然它不会主动帮你到期。

上线之后

  • 记下你没开 IP 白名单的密钥什么时候会自动到期——本次核实的交易所里,短则 14 天(OKX、BingX)、长则 90 天(Bybit、Gate.io、MEXC)。Bitget 跟 KuCoin 查不到任何到期机制,代表密钥在那里不会自己提醒你。
  • 定期回交易所账户本身核对这把密钥实际挂载的权限,而不是只看工具仪表盘显示的内容。像 Gate.io 这种权限绑在一起的交易所,密钥很容易在不知不觉间带着比你原本想开更宽的权限。
  • 如果交易所跟工具都支持,考虑让机器人跑在独立子账户而不是主账户。没有任何交易所强制要求这么做,但有几家在自己的文档里把它列为降低泄露损害的建议做法。
断线也是一个问题,不只是权限
权限开得够窄,能保护你在密钥泄露时的损失,但没法解决另一个问题:如果机器人在下单途中断线,会发生什么。这是另一套风险,各交易所有各自的机制,我们在 自动化策略在交易所断线/宕机时该怎么设计容错 这篇有更完整的说明。

选工具之前,该问哪些问题

不管你评估的是我们还是别家工具,以下三个问题都适用:

  • 密钥怎么存储?明文存在数据库里是警讯。加密存储,而且加密密钥跟数据库本身分开存放,是值得问清楚的基本门槛。
  • 它会不会要求提币权限?如果一个工具明明只需要帮你下单,却还要求提币权限,接入之前值得直接问清楚原因。
  • 能不能只用交易权限的密钥就正常运作?如果你的交易所支持交易/提币分离(上面 10 家有 9 家可以),工具本身就不应该需要更多权限才能运作。

就我们自己来说:TVSBot 用 Fernet(AES-128-CBC + HMAC-SHA256)加密存储 API 密钥,加密主密钥只存在环境变量中,跟数据库本身分开存放。每一笔下单都是直接用你的密钥调用交易所自己的 API——TVSBot 不会持有你的资金。我们自己的设置文档建议用户只开交易权限的密钥,并提供一个固定 IP 让你在支持的交易所上设置白名单——因为如上面表格所示,IP 白名单是唯一一个不管交易所是否强制、在上述中心化交易所都能一致降低风险的设置。

常见问题

我应该给交易机器人的 API 密钥开提币权限吗?
如果机器人只需要下单跟管理仓位,不应该开。本次核实的每一家交易所都允许创建不含提币权限的密钥,也没有任何一家要求自动交易一定要有提币权限。不开提币权限是各交易所自己文档里反复出现的行业最佳实践,但没有任何一家在技术上强制执行,所以这个决定要自己主动做。
哪些交易所可以把交易权限跟提币权限分开?
本次核实的 10 家里有 9 家可以:Binance、OKX、Bybit、Bitget、BingX、KuCoin、MEXC(确切措辞为中等可信)、Kraken 都把交易与提币做成各自独立的权限,另外 Hyperliquid 是架构上分离(但不是靠勾选)的 agent wallet 模型。Gate.io 是例外——它的 Read and Write 权限把两者绑在一起,没有只交易不提币的选项。
我能不能创建一把只交易、不能提币的 Gate.io API 密钥?
不行,依 Gate.io 官方 API 文档(2026-07-06 更新):密钥只有 Read and Write 或 Read Only 二选一,中间没有其他层级。一把能下单的 Gate.io 密钥,同时也能发起提币。可以靠 IP 白名单跟 Gate.io 自己的提币地址限制来降低风险,因为权限本身没办法拆开。
如果我忘了管理,API 密钥会自动到期吗?
取决于交易所,而且在多数交易所上还取决于你有没有设 IP 白名单。Binance、OKX、Bybit、Gate.io、BingX 是没绑 IP 白名单的密钥才会自动到期,依交易所不同从 14 天到 90 天不等;绑了 IP 就不受这条规则约束。MEXC 是例外——官方公告是直接给密钥本身 90 天有效期,所以不管你有没有绑 IP,MEXC 的密钥都会按时程到期,而且只能在到期前 5 天内续期。Bitget 跟 KuCoin 查不到任何官方到期规则。Kraken 则完全可选——除非你自己打开「Key Expiration」,不然不会到期。
Hyperliquid 的 Agent Wallet 是什么?跟 API 密钥一样吗?
不完全一样。Hyperliquid 是 DEX,没有传统那种勾选式权限菜单的 API 密钥。而是由你的主钱包签署一笔授权,让另一个 Agent(或称 API)Wallet 代表你签署交易操作。根据 Hyperliquid 文档描述的两套签名机制、加上官方 SDK 的实际行为,这个 Agent Wallet 看起来被限制只能做交易类操作、无法提币——但这个限制属于本人的技术推论,不是 Hyperliquid 文档里哪一句话直接写出来的。

Get started

想把今天学到的东西自动化跑起来?

TVSBot 把你自己的交易所 API 密钥接入 TradingView 信号——非托管、设计上只做交易不碰提币,并提供一个固定 IP 让你在支持的交易所上设白名单。

免费开始使用