币安 API 怎么申请?密钥权限只开哪几项、IP 限制怎么填、密钥怎么保管
申请币安 API 密钥,真正该花心思的是哪三件事?开哪几项权限、IP 限制填什么、Secret Key 放在哪;提现权限任何时候都别开。
文 韩砚发布 约 8 分钟读完
入口在哪? 网页端:登录后点个人资料图标,进【账户】,在【API管理】下点【创建API】。App 端要先切到「币安专业版」,在【更多】打开的【服务】面板里往下拉,到【其他】部分找【API 管理】。
创建前要做什么? 帮助中心的步骤里列了三件:开启双重身份验证(2FA)、向现货钱包充值任意金额激活账户、完成身份认证。三件先做齐再去创建。
权限开哪几项? 只开你的程序真正用得到的。只看数据,就只开读取;要让程序下现货单,再加现货交易。提现权限,本站的建议是任何时候都别开——你自己写的练手程序用不到它,任何要求你开提现的「量化服务」都值得警惕。另外,没有设置 IP 访问限制的系统生成密钥,默认除了读取没有别的权限,所以要交易就填上 IP 白名单;本站的要求是,不管用哪种密钥都填。
剩下的是细节:两种密钥怎么选、IP 填什么、Secret Key 放在哪。

创建前:三件事先做完
帮助中心《如何在币安创建API密钥》在网页端步骤里写的是:创建 API 密钥前,需要启用账户的双重身份验证(2FA),向现货钱包充值任意金额以激活账户,并完成身份认证。同一篇开头的提示只列了后两件,App 端那一段把「现货钱包」写成了「现货账户」。按三件都做的标准准备,不会出错。
还没有币安账户、或者账户还没完成身份认证的,这几件事的具体做法写在币安怎么注册,为开机器人和 API 做准备里,包括双重验证和通行密钥怎么开。
一步步创建:网页端和 App 端
网页端:
- 登录币安账户,点个人资料图标,然后点【账户】。
- 在【API管理】下,点【创建API】。
- 选择密钥类型:系统生成,或者自行生成(下一节讲怎么选)。
- 给这把密钥起一个标签名。
- 用双重身份验证设备和通行密钥完成验证。
- 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 密钥。