API Key是程序化交易的钥匙,也是盗号者最爱的后门——很多"密码没泄露却被盗"的案例都是API Key出了问题。本文讲清API Key的权限体系、IP白名单、最小原则,以及怎么定期清理不再使用的Key。管理入口在账户设置里,请登录币安官网进入API管理页面,移动端也可以在币安官方APP里查看,苹果用户请参考iOS安装教程。
API Key是什么
API Key(Application Programming Interface Key)是让程序代替你操作账号的凭证。
一个API Key由两部分组成:
- API Key(公钥):标识你是谁,比如
xH3kL9... - Secret Key(私钥):用于签名请求,绝对不能泄露
有了这两个 + 对应权限,任何程序都可以像你本人一样操作你的币安账号——查资产、下单、提现等等。
什么时候需要API Key
场景1 量化交易
用 Python、Node.js 之类的语言写交易机器人,通过API自动下单。需要读账户 + 现货交易 + 合约交易权限。
场景2 交易信号同步
把一个交易所的持仓复制到另一个交易所。需要读取持仓 + 下单权限。
场景3 资产追踪
接入 CoinGecko、CoinStats 之类的资产管理工具,自动更新你的持仓。只需要只读权限。
场景4 税务软件
Koinly、Cointracker 等税务计算工具需要读取你的历史交易。只需要只读权限。
如果你没有任何这些需求 → 不要创建API Key。API Key的存在就是潜在风险。
API Key的权限类型
币安的API Key支持细分权限,可以勾选多个:
1 读取(默认)
- 可以:查看账户信息、查询订单、下载历史
- 不能:下单、提现、划转
- 安全性:最高
2 现货和杠杆交易
- 可以:下单、撤单、查询订单
- 不能:提现
- 安全性:中等(最多亏损你的交易资产)
3 合约交易
- 可以:合约下单、开平仓、调整杠杆
- 不能:提现
- 安全性:中等偏低(高杠杆亏损快)
4 划转
- 可以:在你的子账号之间、不同钱包之间(现货/合约/理财)转移资产
- 不能:转出到链上其他地址
- 安全性:中等
5 提现
- 可以:提现到任何地址(默认)或白名单地址
- 默认关闭,需要主动勾选
- 安全性:最低
- 新建Key时默认关闭,强烈建议永远不要开
最小权限原则
给API Key的权限越少 账号越安全。
只读场景
只勾选"读取"。即使Key泄露,攻击者也只能看 不能动。税务工具、资产追踪都用这个。
只交易不提现场景
勾选"读取 + 现货交易 + 合约交易",绝对不勾选"提现"。这是量化交易的标配。即使Key被盗,盗号者最多在你的账户里乱下单 但拿不走币。
跨平台复制场景
勾选 "读取 + 交易"。不要开划转和提现。
一句话:能不开就不开,能少开就少开。
IP白名单 最强防线
IP白名单让API Key只能从指定的IP地址调用。其他IP即使拿到Key也用不了。
怎么设置IP白名单
- 创建API Key时 → 勾选 "限制访问受信IP"
- 输入允许的IP地址(可以是多个,用逗号分隔)
- 保存
怎么知道自己的IP
- 本地运行:访问
whatismyipaddress.com查公网IP - 云服务器运行:在云厂商面板查看实例的公网IP
- 动态IP:不能用IP白名单(只能用静态IP或VPS)
IP白名单的威力
即使攻击者完全拿到你的Key和Secret,从他自己的电脑也调用不了,因为他的IP不在白名单里。这是防API泄露的终极方案。
IP白名单的限制
- 只支持IPv4(IPv6可能不稳定)
- IP变化后需要手动更新白名单
- 家庭动态IP不适合
创建API Key的步骤
第一步 进入API管理
- 登录 binance.com
- 右上角头像 → "API管理"
- 点 "创建API"
第二步 选择类型
- 系统生成(推荐):系统自动生成一对Key
- 自定义密钥对(高级):用自己生成的公私钥上传公钥
第三步 输入标签名
给API起一个有意义的名字,比如:
量化机器人-BTC策略Koinly-税务复制交易-Bitget
标签名帮你后续清理时识别用途。
第四步 完成身份验证
- 邮箱验证码
- 手机验证码(如果绑定了)
- Google Authenticator 6位码
第五步 设置权限
按最小原则勾选,别多勾任何一个。
第六步 设置IP白名单
强烈建议勾选。输入服务器IP。
第七步 保存并记录Secret
Secret只在创建时显示一次。立即复制保存到安全的地方(不要截图 不要发邮件 不要存云盘)。关闭页面后就再也看不到了。
定期清理不用的API Key
为什么要清理
- 每个Key都是潜在攻击面
- 你可能忘了某个Key还在哪里运行
- 旧Key的权限可能不够安全
清理建议
- 每月检查一次API Key列表
- 超过30天没用的 → 删除
- 找不到用途的 → 删除
- 权限过大的 → 删除重建
怎么删除
- 「API管理」 → 找到要删的Key
- 点 "删除"
- 完成身份验证
- 确认
- 立即失效,该Key的所有程序瞬间失去访问权限
批量删除
一次只能删一个,没有批量删除功能。但你可以先"禁用"再慢慢删。
API Key被盗的征兆
征兆1 异常订单
- 你没下过但出现在订单历史里
- 特别是小币种的买单(常见洗钱手法)
- 高频小单(API特征)
征兆2 资金划转异常
- 现货和合约之间突然大量互转
- 子账号之间异常调拨
征兆3 API日志有异常IP
- 「API管理」→ 看最近调用IP
- 发现陌生IP → 被盗
征兆4 API权限被修改
- 你只勾了"读取",结果发现变成"读取+交易"
- 有人改过你的Key
发现任何一个征兆 → 立即删除所有API Key 并检查账户。
API Key泄露的常见原因
原因1 代码上传到GitHub
硬编码在源代码里,然后commit推送到GitHub。GitHub爬虫会在几分钟内发现,几秒钟后你的账号就被清空。
防护:永远用环境变量或配置文件(加进.gitignore),绝不硬编码。
原因2 配置文件被入侵
VPS被黑,config.json被读取。
防护:服务器要打补丁、禁用密码登录、用SSH Key、启用防火墙。
原因3 第三方服务被攻破
你把API Key给了某个"信号服务"或"跟单机器人",对方被黑。
防护:只给信得过的服务商 + 开IP白名单 + 只勾交易权限。
原因4 本地电脑中木马
你的Windows或Mac装了恶意软件,API Key被盗。
防护:装杀毒软件 + 不下盗版 + 重要程序放隔离环境。
常见问题
Q:API Key和账号密码哪个泄露更严重?
A:看权限。如果API Key开了提现权限 → 和密码泄露一样严重。如果只开读取权限 → 危害很小。再次说明最小权限的重要性。
Q:每个账户最多能创建多少个API Key?
A:币安允许每个账户最多30个API Key同时存在。删除后可以重新创建。一般个人用户1-3个就够了。
Q:API Key有没有有效期?
A:大部分Key没有强制有效期。但如果90天没有任何调用,币安会自动禁用。需要重新进入API管理页面手动激活。
Q:可以给API Key设置子账户权限吗?
A:可以。子账号有独立的API Key,权限和资产都和主账号隔离。强烈推荐把量化交易放在子账号里,即使被盗也不影响主账号资产。