跳到正文
CELUQ

交易机器人和量化交易跟手动交易一样,可能亏掉全部本金。本站内容不构成投资建议。

  1. 首页
  2. API 入门
  3. 币安 API 怎么申请
APIAPI 入门

币安 API 怎么申请?密钥权限只开哪几项、IP 限制怎么填、密钥怎么保管

申请币安 API 密钥,真正该花心思的是哪三件事?开哪几项权限、IP 限制填什么、Secret Key 放在哪;提现权限任何时候都别开。

文 韩砚发布 约 8 分钟读完

入口在哪? 网页端:登录后点个人资料图标,进【账户】,在【API管理】下点【创建API】。App 端要先切到「币安专业版」,在【更多】打开的【服务】面板里往下拉,到【其他】部分找【API 管理】。

创建前要做什么? 帮助中心的步骤里列了三件:开启双重身份验证(2FA)、向现货钱包充值任意金额激活账户、完成身份认证。三件先做齐再去创建。

权限开哪几项? 只开你的程序真正用得到的。只看数据,就只开读取;要让程序下现货单,再加现货交易。提现权限,本站的建议是任何时候都别开——你自己写的练手程序用不到它,任何要求你开提现的「量化服务」都值得警惕。另外,没有设置 IP 访问限制的系统生成密钥,默认除了读取没有别的权限,所以要交易就填上 IP 白名单;本站的要求是,不管用哪种密钥都填。

剩下的是细节:两种密钥怎么选、IP 填什么、Secret Key 放在哪。

一把钥匙挂在标签上,标签上列着读取、交易两个勾选项,提现一项被划掉

创建前:三件事先做完

帮助中心《如何在币安创建API密钥》在网页端步骤里写的是:创建 API 密钥前,需要启用账户的双重身份验证(2FA),向现货钱包充值任意金额以激活账户,并完成身份认证。同一篇开头的提示只列了后两件,App 端那一段把「现货钱包」写成了「现货账户」。按三件都做的标准准备,不会出错。

还没有币安账户、或者账户还没完成身份认证的,这几件事的具体做法写在币安怎么注册,为开机器人和 API 做准备里,包括双重验证和通行密钥怎么开。

一步步创建:网页端和 App 端

网页端:

  1. 登录币安账户,点个人资料图标,然后点【账户】。
  2. 在【API管理】下,点【创建API】。
  3. 选择密钥类型:系统生成,或者自行生成(下一节讲怎么选)。
  4. 给这把密钥起一个标签名。
  5. 用双重身份验证设备和通行密钥完成验证。
  6. API 密钥创建完成。如果选的是系统生成,这时就把 Secret Key(加密密钥)记下来,它只在创建时可见。

App 端:登录后进入币安专业版,点【更多】打开【服务】面板,往下滚到【其他】,点【API 管理】,再点【创建 API】,后面的步骤和网页端一样。帮助中心对验证这一步的写法,网页端是「双重身份验证(2FA)设备和通行密钥」,App 端是「双重身份验证 (2FA) 设备或通行密钥」。

标签名建议直接写用途,比如「练手-只读」「测试下单程序」。等你有好几把密钥的时候,一眼就知道哪把能删。

系统生成还是自行生成

系统生成自行生成
加密方式HMAC,对称Ed25519 或 RSA,非对称
你拿到什么API Key 和 Secret Key 两样一个 API Key;公私钥对由你自己生成,只把公钥交给币安
签名用什么Secret Key(币安那边也有一份)你自己的私钥(只在你手里)
不设 IP 限制时只能开读取权限平台允许开读取以外的权限,但提现仍必须加 IP 限制

本站的要求:不管哪种密钥,都填 IP 白名单。

币安在 GitHub 上公开的官方 API 文档里专门有一篇「API Key 类型」,中文版写的是「不建议使用 HMAC keys」,英文版更直接,写的是 HMAC keys 已弃用(deprecated),都建议改用 Ed25519 这样的非对称密钥,理由是 HMAC 的密钥要在多方之间共享,不如非对称方式安全。帮助中心另一篇讲 Ed25519 的文章也建议换成 Ed25519。

怎么选?刚开始练手、只想先把流程跑通,系统生成最省事,配合 IP 白名单用。准备长期让程序在真账户上跑,值得花半小时学会生成 Ed25519 密钥对:私钥从头到尾不离开你的机器,泄露的面小得多。不管哪种,帮助中心那句话都适用:请勿与任何人分享个人私钥。

权限:只开你真用得到的那几项

API 管理页上每把密钥都有一组权限勾选项。币安官方用来查询 API Key 权限的接口(Get API Key Permission,GET /sapi/v1/account/apiRestrictions)返回的字段,对应着这些勾选项管的事情。下面按它们管的事情说:

管什么接口字段本站建议
读取账户、订单、余额enableReading需要就开,风险最低
现货(及杠杆)下单、撤单enableSpotAndMarginTrading程序要下现货单才开
合约交易enableFutures只在确实要用程序做合约时开
杠杆借贷enableMargin新手不开
提现enableWithdrawals任何时候都别开
万向划转(在不同账户之间划转多种币)permitsUniversalTransfer不开
母子账户之间划转enableInternalTransfer不开
期权交易enableVanillaOptions不开

三条规则来自官方,值得单独记住:

  • 新建的密钥默认不能交易。 官方文档的说法是:默认情况下,API 密钥无法进行交易(TRADE),需要先在 API 管理中启用交易权限。
  • 可以一把密钥只管一件事。 官方文档给的例子是:一把有交易权限的密钥用来下单,另一把只有读取权限的密钥用来盯订单状态。哪把泄露了,损失面都更小。
  • 合约权限开不了,有两种原因。 密钥创建在你开通合约账户之前,或者你已经开通了统一账户。

为什么提现要单独强调?因为它是唯一能把资产直接带离你账户的权限。你自己写的交易程序只需要下单和查单,不需要提现;而所有以「量化」「托管」为名、要求你开提现权限的说法,都该当成危险信号。币安的规定是开提现必须加 IP 访问限制,这是在防最坏的情况,本站的建议更进一步:根本不开。

IP 访问限制:填运行程序那台机器的公网 IP

帮助中心的规则有三条:

  • 币安强烈建议,没有设置适当的 IP 访问限制时,不要为 API 密钥启用读取之外的任何权限。
  • 没有 IP 访问限制的系统生成(HMAC)密钥,除读取之外没有任何权限。想开别的权限,三条路:添加 IP 访问限制(IPv4 格式)、改用自行生成的 Ed25519 或 RSA 密钥,或者禁用默认安全控制措施。
  • 要启用提现权限,必须添加 IP 访问限制。

填什么 IP?填运行你程序的那台机器出现在公网上的 IPv4 地址,不是你电脑在家里路由器下面的那个局域网地址。三种常见情况:

  • 程序跑在你自己的电脑上,家里是宽带。 很多家庭宽带的公网 IP 会变。今天填的 IP,过几天换了,请求就会被拒,报 -2015。
  • 程序跑在你租的服务器上。 服务器一般有固定的公网 IP,填它最稳定。
  • 你开着代理或 VPN。 币安看到的是代理出口的 IP,不是你的。代理节点一换,IP 就变;而且币安的《使用条款》明确不允许用 VPN 修改 IP 来规避地区限制。

那条「禁用默认安全控制措施」的路,帮助中心只写了这一句,没写关掉之后会怎样。本站的建议是别走这条路,换成 Ed25519 也照样填 IP 白名单:它是密钥泄露时的最后一道门,宁可麻烦一点。

Secret Key:只显示一次,之后放在哪

币安《API 常见问题》写明:出于安全考虑,加密密钥(Secret Key)只在创建 API 密钥时可见,之后会被屏蔽;丢了只能新建一把。

所以创建那一刻就要想好它放在哪。几条做法:

  • 别写进代码文件。 放进运行环境的环境变量,或者密码管理器,程序运行时再读。代码要上传或分享时,密钥不会跟着出去。
  • 别截图、别发给任何人。 官方文档在示例密钥旁边用加粗写着:请勿与任何人分享您的 API 密钥和秘钥。币安的《使用条款》还写明,币安在任何情况下都不会要求你分享密码或双重身份验证代码。
  • 用不到的密钥及时删。 一把被遗忘、又带着交易权限的密钥,是最容易出事的那一把。
  • 发现异常立刻撤销。 官方文档的说法是:如果发现账户有异常活动,立即撤销所有密钥并联系币安支持。《使用条款》还提到可以用平台的禁用账户功能锁定账户。

有平台要你交出密钥时

很多「量化平台」「跟单机器人」的第一步,是让你把币安 API Key 和 Secret Key 填进它的网站。本站的建议是不交。币安《API 常见问题》里相关的说法有两处:在任何第三方平台输入币安 API 密钥或加密密钥都存在安全风险,需要自行判断;第三方服务或封装器用不了时,币安不提供技术支持,请联系对方的服务或开发团队。交出去以后对方能做什么、出了事谁来担,单独写在把 API 密钥交给第三方量化平台意味着什么。

API 请求报 -2015 怎么办

用新密钥调接口如果报 -2015,官方说明是三种情况之一:这把 Key 不存在,请求不是来自允许的 IP 范围,或者这个接口对应的权限没开。按这个顺序查:Key 有没有复制完整、有没有把测试网的 Key 拿到正式环境用;程序所在机器的公网 IP 是不是还是白名单里那个;要调的接口需要的权限是不是勾上了。先在测试网上把这些跑通,见币安 API 自动交易怎么起步。

依据创建步骤、前提、两类密钥和 IP 规则出自币安帮助中心《如何在币安创建API密钥》(正文标注 2025 年 3 月 20 日更新),Secret Key 只显示一次、第三方平台风险出自《API 常见问题》,-2015 的三种情况出自 binance-spot-api-docs 的错误代码说明(errors_CN.md),「建议换成 Ed25519」和「请勿与任何人分享个人私钥」出自《如何生成Ed25519密钥对在币安发送API请求》;默认不能交易、两把密钥分开用的示例、示例密钥旁的警告和发现异常就撤销密钥,出自 binance-spot-api-docs 的 REST API 文档(rest-api_CN.md);权限字段名出自币安开发者文档的 Get API Key Permission 接口(GET /sapi/v1/account/apiRestrictions)和币安官方 Python SDK(binance-connector-python)的钱包模型,「不建议使用 HMAC」出自 binance-spot-api-docs 的 API Key 类型说明;指令授权、访问 ID 保管与 VPN 的规定出自币安《使用条款》(页面标注 2023 年 8 月 31 日更新)。权限勾选项在界面上的中文名称会随改版变化,以 API 管理页为准。以上页面都在 2026 年 10 月对照过一遍。

密钥用了一段时间以后

API 密钥会自己消失或过期吗?

币安《API 常见问题》列出的 API 密钥消失原因只有两条:近期没有活动、且在 2018 年 3 月 7 日之前使用过的密钥,可能出于安全考虑被清除;禁用账户时,所有活动的 API 密钥都会被删除。这篇 FAQ 没写其他情况。

为什么我的 API 密钥开不了合约交易权限?

帮助中心写了两种情况:这把 API 密钥是在你开通合约账户之前创建的;或者你已经开通了统一账户。前一种情况,照这个说法,开通合约账户之后新建的密钥不受这条限制。

Secret Key 忘了记,还能再看一次吗?

不能。币安的说明是,出于安全考虑,加密密钥只在创建 API 密钥时可见,之后会被屏蔽;丢了或者没记下来,只能新建一把 API 密钥。