简繁
ESC
↑↓ 选择↵ 打开站内全文搜索
注册币安 ↗

币安 API Key 怎么申请?权限设置、IP 白名单与安全清单

币安 API Key 在网页端「头像 → 账户 → API 管理 → 创建 API」申请,日常只开读取和现货交易,永远不开提现并绑定 IP 白名单。本文讲清系统生成 HMAC 与自行生成 Ed25519/RSA 密钥的区别、权限勾选建议、子账户隔离、测试网用法和 Key 泄露后的处理步骤。

识途编辑部更新 阅读 约 15 分钟来源 5 个官方资料
目录本文共 9 节
  1. 01申请币安 API Key 之前要准备什么?
  2. 02系统生成和自行生成的 API Key 有什么区别?
  3. 03网页端创建币安 API Key 的步骤
  4. 04币安 API 权限应该勾选哪些?
  5. 05币安 API 的 IP 白名单怎么设置?
  6. 06为什么建议用币安子账户跑 API?
  7. 07先用币安测试网验证 Key 和代码
  8. 08币安 API Key 泄露了怎么办?
  9. 09币安 API Key 安全清单

币安 API Key 在网页端「头像 → 账户 → API 管理 → 创建 API」申请,创建前需要开启双重验证(2FA)并完成身份认证。权限上,日常查行情、查余额、程序下单只需要读取和现货交易两项,提现权限永远不要开,同时给 Key 绑定 IP 白名单。新建 Key 时优先选「自行生成」的 Ed25519 类型,币安官方文档已经把系统生成的 HMAC Key 标为不推荐使用。

申请币安 API Key 之前要准备什么?

截至 2026 年 10 月,币安帮助中心列出的前置条件有三项:

  1. 开启 2FA:身份验证器、通行密钥(Passkey)或其他双重验证方式,创建 Key 时需要验证。
  2. 激活账户:向现货钱包充值任意金额。
  3. 完成身份认证(KYC):还没注册或没认证的,可以先看 币安注册与 KYC 教程,认证卡住时参考 KYC 失败怎么办。

另外要注意地区限制:币安不向部分国家和地区提供服务(包括中国大陆、美国,新加坡用户也不能使用 Binance.com),香港、台湾、马来西亚等地也有当地的牌照或限制问题。API 和网页、App 适用同一套用户协议,请先确认你所在地区可以合法使用。

币安邀请
币安

全球交易量最大的加密货币交易所之一,币种与流动性领先

邀请码
注册币安 ↗含推广链接 · 注册前请确认当地法规 · 币安评测

系统生成和自行生成的 API Key 有什么区别?

点「创建 API」后,币安会让你先选密钥类型。两类的根本区别在于签名用的密钥由谁生成、保存在哪里:

对比项 系统生成(System generated) 自行生成(Self-generated)
签名算法 HMAC-SHA256,对称加密 Ed25519 或 RSA,非对称加密
密钥来源 币安生成 API Key 和 Secret Key 你在本地生成密钥对,只把公钥提交给币安
秘密保存在哪 你和币安各有一份 Secret Key 私钥只在你自己电脑上
未绑定 IP 时 只能开启「读取」 可以开启交易等权限,但提现除外
官方态度 文档标注 HMAC Key 已不推荐(deprecated) 推荐 Ed25519,性能和安全性最好

几个细节:

  • 币安帮助中心写明,自 2023 年 1 月 30 日起,未限制 IP 的系统生成 Key 只能设为「读取」,想开交易就必须绑定 IP。
  • 无论是系统生成还是自行生成的 Key,开启提现权限都必须先设置 IP 限制。
  • RSA 支持 2048 位和 4096 位,签名比 Ed25519 大得多,请求体也更大。
  • Ed25519 的安全强度与 3072 位 RSA 相当,签名更短、计算更快,这也是币安推荐它的原因。
  • HMAC 的 Secret Key 只在创建时显示一次,关掉页面就再也看不到了。

签名到底是怎么计算的,可以看 交易所 API 签名原理,里面用官方示例逐步复现了 HMAC 签名。

怎么在本地生成 Ed25519 密钥对?

币安官方在 GitHub 提供了图形化的密钥生成工具(binance/asymmetric-key-generator),也可以直接用 OpenSSL 3.x 命令行生成:

# 生成私钥(这个文件绝不能给任何人,也不要上传到网盘或代码仓库)
openssl genpkey -algorithm ed25519 -out binance-prv-key.pem

# 由私钥导出公钥(只把这个提交给币安)
openssl pkey -in binance-prv-key.pem -pubout -out binance-pub-key.pem

cat binance-pub-key.pem

运行后公钥类似这样(每个人生成的都不同):

-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEA+yj4UcRImkotfk1xV1Js0ugTeW+c9aDYjxUchcwi9as=
-----END PUBLIC KEY-----

创建 Key 时选「自行生成」,把整段公钥(含首尾两行)粘贴进去即可。之后币安会给你一个 API Key 字符串,签名则用你本地的私钥完成。

网页端创建币安 API Key 的步骤

  1. 登录币安网页版,点右上角头像 → 账户 → API 管理。
  2. 点创建 API,选择密钥类型:系统生成,或自行生成(粘贴 Ed25519/RSA 公钥)。
  3. 填写标签名,建议写清用途,例如「行情脚本-只读」「测试策略-现货」,以后一眼能分清。
  4. 完成 2FA 或通行密钥验证,Key 创建成功。
  5. 系统生成类型会显示 API Key 和 Secret Key,立刻复制保存到密码管理器,Secret Key 只显示这一次。
  6. 在这个 Key 的卡片上点编辑限制,设置 IP 白名单和权限,保存时再次验证。

手机端路径是:切换到专业版 → 首页「更多」→ 往下找到「其他」里的 API 管理 → 创建 API。手机上复制长字符串容易出错,建议在电脑上操作。

币安 API 权限应该勾选哪些?

新建的 Key 默认只有读取权限,其他权限要你手动勾选。下表按普通用户写程序的场景给出建议:

权限(中文界面 / 英文界面) 能做什么 建议
允许读取 / Enable Reading 查余额、订单、成交记录 开启(默认就有)
允许现货及杠杆交易 / Enable Spot & Margin Trading 现货下单、撤单,也包括杠杆账户交易 需要程序下单时才开
允许合约 / Enable Futures 合约下单 不建议,合约风险见 合约风险说明
允许杠杆质押借币、还款和划转 借币、还款 不开
允许万向划转 / Permits Universal Transfer 在不同钱包之间划转 不开
允许提现 / Enable Withdrawals 通过 API 把币提走 永远不开

只查行情根本不需要 API Key,行情属于公开接口,不签名也能调用。只想看余额、做记账表格,用「只读」Key 就够了。确实要程序下单,再单独建一个开了现货交易的 Key,两个 Key 分开管理。

币安 API 的 IP 白名单怎么设置?

在 Key 的「编辑限制」里选限制只对受信任 IP 的访问,填入运行程序那台机器的公网 IPv4 地址,需要多个地址时按页面提示的格式逐个添加。币安帮助中心的规则是:任何类型的 Key 开启提现权限都必须先添加 IP 限制;系统生成的 Key 不绑定 IP 就只能读取。

实际操作中要注意:

  • 填公网 IP,不是局域网 IP。192.168.x.x、10.x.x.x 这类地址是家里路由器分配的,币安看不到。云服务器的公网 IP 可以在云服务商控制台查到。
  • 家庭宽带的公网 IP 通常会变。IP 一变,请求就会被拒绝,报错 -2015。长期运行的程序放在有固定 IP 的云服务器上更稳定。
  • 白名单要填 IPv4 格式。币安帮助中心写明 IP 限制使用 IPv4 格式;更换服务器后,记得同步更新白名单。

为什么建议用币安子账户跑 API?

子账户可以把程序能动用的资金和主账户隔开:就算程序出 bug 或 Key 泄露,损失也只限于子账户里的那部分钱。截至 2026 年 10 月,币安帮助中心的规则如下:

  • 完成身份认证并开启 2FA 的用户都能创建子账户,普通用户最多 5 个,VIP 用户按等级更多。
  • 每个子账户最多可创建 30 个 API Key。
  • 子账户不能直接提现,资金划转只能由母账户操作。

创建路径:母账户登录 → 头像 → 仪表盘 → 子账户 → 账户管理 → 创建子账户;再到子账户页面的 API 管理 标签为它创建 Key。用法很简单:只往子账户里转你愿意让程序动用的金额,主账户的 Key 一个都不开交易权限。

先用币安测试网验证 Key 和代码

正式用实盘 Key 前,强烈建议先在币安现货测试网跑通代码:

  • 地址是 testnet.binance.vision,用 GitHub 账号登录后生成测试用 Key,支持 HMAC、RSA、Ed25519。
  • 注册后自动获得多种虚拟资产,不能充提,也没有任何价值。
  • 只开放 /api 接口,不支持 /sapi(钱包、理财等)接口。
  • 测试网大约每月重置一次,订单和余额会清空,官方不提前通知。

币安另有网页版的模拟交易(demo.binance.com),用币安账号登录,也能在其中的 API 管理创建模拟交易 Key。注意:测试网、模拟交易和实盘的 Key 互不通用,拿实盘 Key 连测试网会直接报错。

下面这段 Python 用 CCXT 验证 Key 是否可用(安装方法见 CCXT 入门教程),Key 从环境变量读取:

import os
import ccxt

secret = os.environ.get("BINANCE_API_SECRET")
pem_path = os.environ.get("BINANCE_PRIVATE_KEY_PATH")  # 自行生成的 Ed25519 Key:填私钥文件路径
if pem_path:
    with open(pem_path) as f:
        secret = f.read()  # CCXT 识别到 PEM 私钥后会自动改用 Ed25519/RSA 签名

ex = ccxt.binance({
    "apiKey": os.environ["BINANCE_API_KEY"],
    "secret": secret,
    "options": {"fetchMarkets": {"types": ["spot"]}},
})
ex.set_sandbox_mode(True)  # 测试网 Key 用这一行;实盘 Key 删掉这一行

try:
    balance = ex.fetch_balance()
    print("Key 可用,非零资产:", {k: v for k, v in balance["total"].items() if v})
except ccxt.AuthenticationError as e:
    print("认证失败:", e)

用一个格式正确但并未在币安登记的 Key 运行,测试网返回的真实结果是:

认证失败: binance {"code":-2015,"msg":"Invalid API-key, IP, or permissions for action."}

常见报错对照:

错误码 原文 常见原因
-2014 API-key format invalid. Key 复制不完整、多了空格或换行
-2015 Invalid API-key, IP, or permissions for action. Key 不存在、IP 不在白名单、权限没开、实盘和测试网 Key 混用
-1022 Signature for this request is not valid. Secret 或私钥错误,签名字符串和发送的参数不一致
-1021 Timestamp for this request is outside of the recvWindow. 本机时间不准,请开启电脑的自动对时

币安 API Key 泄露了怎么办?

如果你把 Key 发给过别人、上传到了公开代码仓库、在截图里露出过,或者发现不是自己下的订单,按这个顺序处理:

  1. 立即删除 Key:API 管理 → 找到对应 Key → 删除。只改权限不够,删除才能让它彻底失效。不确定是哪个 Key 泄露,就把所有 Key 都删掉,再按需重建。
  2. 检查账户:查看当前委托、历史成交、提现记录和地址簿,确认有没有陌生订单或陌生提现地址。
  3. 修改登录密码、重置 2FA:如果怀疑电脑中了木马,先在干净的设备上操作。
  4. 联系币安客服:通过官网或 App 内的在线客服提交情况,说明 Key 泄露的时间和你已经删除了哪些 Key。
  5. 排查泄露源头:代码仓库里的 Key 要连同提交历史一起清理,否则旧版本里仍然能翻到。

更完整的账户防护设置,见 账户安全设置指南。

币安 API Key 安全清单

创建完 Key 后,对照检查一遍:

  • 优先使用自行生成的 Ed25519 Key,私钥只保存在运行程序的机器上。
  • 只开「读取」,需要下单时再加「现货及杠杆交易」,不开合约、划转、提现。
  • 绑定运行程序那台机器的公网 IPv4。
  • 程序放在子账户里跑,子账户只放愿意让程序动用的钱。
  • 代码里不写死 Key,用环境变量或本机配置文件读取,并把配置文件排除出代码仓库。
  • 不同用途用不同 Key,并在标签里写清用途,不用的 Key 及时删除。
  • 先在测试网跑通,再换实盘 Key。

常见问题

币安 API Key 的 Secret Key 忘了还能查看吗?

不能。系统生成的 Secret Key 只在创建成功时显示一次,币安之后不会再展示。忘记或丢失时,只能删除这个 Key 重新创建,并把程序里的配置换成新 Key。

币安 API 不绑定 IP 能用吗?

能用,但限制很多。按币安帮助中心说明,未限制 IP 的系统生成 Key 只能开启读取权限;想开交易权限,要么绑定 IP 白名单,要么改用自行生成的 Ed25519 或 RSA Key。提现权限则无论哪种 Key 都必须绑定 IP 才能开启。

币安 API 报错 -2015 是什么意思?

-2015 的原文是 Invalid API-key, IP, or permissions for action,意思是 Key 无效、当前 IP 不在白名单里,或这个 Key 没有对应权限。常见原因还包括把实盘 Key 拿去连测试网,或反过来。

币安 API Key 选 HMAC 还是 Ed25519?

新建 Key 优先选自行生成的 Ed25519。币安开发者文档已把 HMAC Key 标为不推荐使用,Ed25519 私钥只保存在你自己电脑上,签名快、体积小,CCXT 等主流库也支持直接用 PEM 私钥签名。

币安子账户可以创建 API Key 吗?

可以。币安帮助中心写明每个子账户最多可创建 30 个 API Key,而且子账户不能直接提现,资金划转只能由母账户操作,很适合用来隔离程序化交易的资金。

准备好出发了吗?

币安邀请
币安

全球交易量最大的加密货币交易所之一,币种与流动性领先

邀请码
注册币安 ↗含推广链接 · 注册前请确认当地法规 · 币安评测

参考来源

  1. Binance 帮助中心:How to Create API Keys on Binance
  2. Binance Spot API 文档:API Key Types
  3. Binance Spot API 文档:Request Security / SIGNED Endpoint
  4. Binance 帮助中心:Sub-Account Functions and FAQ
  5. Binance Spot Test Network

以上信息核实于 2026-10-22,交易所规则可能调整,请以官方最新说明为准。

本文仅供学习参考,不构成投资建议。交易所的费率、活动与功能可能随时调整,请以官方页面为准。文中部分链接为推广链接,详见推广披露。