想用程序在币安(Binance)下单,第一步是创建 API 密钥,但真正会卡住人的是后面这些细节:密钥要选哪一种、交易权限为什么开不起来、限速是算 IP 还是算账户、测试网和模拟交易差在哪。这篇依币安官方 API 文档与说明中心整理,数字截至 2026-09-28,以官方页面为准。策略层面的返佣试算(净期望值、损益两平点)已经写在量化交易手续费返佣,这里专讲“把程序接上币安”这件事。策略上线前先用 NOVA888 绑定 Quant Nova,新用户 Lv.1 零门槛返佣 30%,是常见 20% 邀请码的 1.5 倍。
创建 API 密钥之前:三个前提
币安说明中心〈如何在币安创建 API 密钥?〉写明,创建密钥前必须先完成三件事,缺一个“创建 API”按钮就走不下去:
- 打开双重验证(2FA)。
- 在现货钱包储值任意金额,用来激活账户。
- 完成身份验证。KYC 各级差异见交易所 KYC 比较。
还没有币安账号的话,注册流程见 Binance 注册教学;注册时就填好邀请码,之后的交易手续费才会进入返佣计算(API 单是否计入见下文“API 交易算不算返佣”)。
选哪一种密钥:系统生成 HMAC,还是自己产生 Ed25519/RSA
创建时第一个选项就是密钥类型。币安 API 文档的说法很直接:
| 类型 | 怎么产生 | 官方评价 | 要注意的地方 |
|---|---|---|---|
| Ed25519(自主生成) | 你在自己电脑产生公私钥,只把公钥交给币安 | 官方推荐,性能与安全性最好 | WebSocket API 的 session.logon 只支持 Ed25519 |
| RSA(自主生成) | 同上,支持 2048 与 4096 比特 | 比 HMAC 安全 | 签章比较大,可能拖慢性能 |
| HMAC(系统生成) | 币安给你 API Key 和 Secret Key | 官方标为“已弃用(deprecated)”,建议迁移 | 共享密钥,Secret 一旦外流就能被拿去签章 |
差别在于:HMAC 的 Secret Key 是币安产生、双方都持有的共享密钥;Ed25519/RSA 的私钥从头到尾只在你手上,币安只保存公钥。新建的密钥直接选 Ed25519,就不用在 IP 限制和交易权限之间妥协,原因看下一节。
创建步骤(网页与 App)
网页版:登录后点右上角头像 →〔账户〕→〔API 管理〕→〔创建 API〕→ 选密钥类型 → 输入标签名称 → 用 2FA 设备或通行密钥验证 → 完成。
App:先切到 Binance Pro 版 →〔更多〕→ 服务面板的〔其他〕区块 →〔API 管理〕→〔创建 API〕,后面步骤相同。
选自主生成密钥时,需要先用第三方软件产生一组公私钥,把公钥贴进币安;私钥文件不要上传、不要传给任何人。
权限怎么开:读取、交易、提领,还有 IP 白名单
币安 API 的权限是一个一个勾的。官方 API 文档写明:新密钥默认不能交易,要到 API 管理页手动激活;也建议把用途拆开,例如一把只有交易权限的密钥负责下单,另一把只读的密钥负责监控订单状态。
| 情况 | 官方规则(截至 2026-09-28) |
|---|---|
| 系统生成(HMAC)密钥、没有设 IP 限制 | 只能激活“读取”。2023-01-30 起生效 |
| 想开交易等其他权限 | 三选一:加上 IP 访问限制(IPv4)、改用自主生成密钥(Ed25519/RSA)、或关闭默认安全控管 |
| 想开提领权限 | 必须加上 IP 访问限制(IPv4) |
| 合约权限开不起来 | 密钥是在开通合约账户之前创建的,或账户激活了统一账户(Portfolio Margin) |
最后一列很常见:先建了密钥、后来才开合约账户,这把旧密钥就开不了合约权限,只能重新建一把。
提领权限的建议只有一句:不要开。量化策略只需要“读取”和“交易”,资金进出用网页或 App 手动处理。一把没有提领权限、又绑了 IP 白名单的密钥,就算外流,对方也拿不走你的币。币安官方明白写着“强烈建议”在设好 IP 限制之前,不要激活读取以外的任何权限。
至于“关闭默认安全控管”这个选项,官方有列出来,但它等于把保护拿掉;除非你很清楚自己在做什么,否则用 Ed25519 加 IP 白名单才是正路。
限速规则:权重算 IP、下单数算账户
币安的限速分三种:请求权重(REQUEST_WEIGHT)、下单数(ORDERS)、原始请求数(RAW_REQUESTS)。确切上限以 exchangeInfo 回传的 rateLimits 为准,下表是 2026-09-28 直接查询官方接口的结果:
| 市场 | 请求权重 | 下单数 | 其他 |
|---|---|---|---|
| 现货(api.binance.com) | 每分钟 6,000 | 每 10 秒 100 笔;每天 200,000 笔 | 原始请求每 5 分钟 300,000 次 |
| U 本位合约(fapi.binance.com) | 每分钟 2,400 | 每分钟 1,200 笔;每 10 秒 300 笔 | — |
几条实际写程序时要记得的规则:
- 权重是算 IP,不是算密钥。同一台服务器上跑好几把密钥,权重是一起累计的。每个回应标头都会附上
X-MBX-USED-WEIGHT-1M,可以自己监控。 - 每个端点的权重不同。例如现货下单(
POST /api/v3/order)权重 1,查询账户信息(GET /api/v3/account)和查询手续费率(GET /api/v3/account/commission)都是 20。轮询账户余额是最常见的权重杀手,改用 User Data Stream 推播会省很多。 - 下单数是算账户,而且只算“没成交”的单。官方〈Spot Unfilled Order Count Rules〉写明,部分或全部成交的订单不计入;只要你的单持续成交,就可以持续下单。反过来,大量挂了又撤的策略最容易撞到上限。
- 超限的后果会升级:先收到 HTTP 429;收到 429 还继续送,IP 会被自动封锁并回 418,封锁时间对累犯会从 2 分钟拉长到 3 天。回应里的
Retry-After会告诉你要等几秒。 - 时间窗口:签名请求要带
timestamp;recvWindow默认 5,000 毫秒、最大 60,000 毫秒,官方建议用 5,000 以下。
合约端官方文档也写明,下单数限制是“按账户计”,权重同样按 IP 计,429/418 的封锁机制与现货相同。
REST、WebSocket API、WebSocket 行情串流:各做什么
| 管道 | 用途 | 官方限制 |
|---|---|---|
| REST API | 下单、撤单、查询账户与历史 | 如上表的权重与下单数 |
| WebSocket API(ws-api.binance.com) | 通过长连接下单与查询,省掉每次重新创建连接 | 创建连接本身耗 2 权重;权重按 IP 累计、和同 IP 的所有连接共用;单一连接有效 24 小时 |
| WebSocket 行情串流(stream.binance.com) | 接收即时行情、深度、成交 | 每条连接每秒最多 5 则传入消息(ping、pong、订阅指令都算);单一连接最多 1,024 个串流;每个 IP 每 5 分钟最多 300 次连接;连接 24 小时后会被断开 |
行情串流的服务器每 20 秒送一次 ping,一分钟内没收到你的 pong 就断线。实务上的分工是:行情用串流收、下单用 REST 或 WebSocket API,不要用 REST 反复轮询价格。只要行情数据的话,官方另外提供 data-api.binance.vision 与 data-stream.binance.vision,不需要密钥。
先在测试环境跑:现货测试网和模拟交易差在哪
币安有两套可以用 API 练习的环境,官方文档直接列了比较:
| 项目 | 现货测试网(Spot Testnet) | 模拟交易(Demo Mode) |
|---|---|---|
| 入口 | testnet.binance.vision 另外产生密钥 | 用币安账号登录模拟交易,在模拟环境的 API 管理页创建密钥 |
| REST 网址 | testnet.binance.vision/api | demo-api.binance.com/api |
| 余额 | 约每月重置一次,不预先通知 | 可在接口上随时自行重置 |
| 价格与订单簿 | 和正式站独立 | 和正式站相近 |
| 功能 | 有时会先上线正式站还没有的新功能 | 和正式站一致 |
| 限速与过滤器 | 大致相同 | 完全相同 |
官方的总结是:要测新功能用测试网,要用接近真实的行情测策略用模拟交易。另外几个细节:测试网只开放 /api 端点,不能用 /sapi;测试网的资产是虚拟的,不能转进转出;U 本位合约的模拟环境网址是 demo-fapi.binance.com。模拟交易不支持现货的交易机器人与跟单,合约的 TWAP、网格等功能也不支持;客服看不到模拟单的明细。
官方也特别警告:模拟交易的行情“接近真实”不等于真实,在模拟环境赚钱的策略,不代表上正式站也会赚,滑价和成交顺序都可能不同。
代码范例:用 Ed25519 查询自己的手续费率
下面示范签名流程:把参数组成查询字符串、用私钥签名、Base64 编码后附在 signature 参数。查询的是 GET /api/v3/account/commission,只需要读取权限。密钥从环境变量与本机文件读取,不要写死在代码里、也不要提交到 Git。
import base64, os, time, urllib.parse
import requests
from cryptography.hazmat.primitives.serialization import load_pem_private_key
API_KEY = os.environ["BINANCE_API_KEY"]
with open(os.environ["BINANCE_PRIVATE_KEY_PATH"], "rb") as f:
private_key = load_pem_private_key(f.read(), password=None)
params = {"symbol": "BTCUSDT", "timestamp": int(time.time() * 1000)}
payload = urllib.parse.urlencode(params)
params["signature"] = base64.b64encode(private_key.sign(payload.encode("ascii"))).decode()
BASE = "https://api.binance.com" # testnet: https://testnet.binance.vision
r = requests.get(BASE + "/api/v3/account/commission",
params=params, headers={"X-MBX-APIKEY": API_KEY}, timeout=10)
print(r.status_code, r.json())
回传里的 standardCommission 是你这个交易对的标准 maker/taker 费率,discount 会告诉你用 BNB 付手续费能打几折。跑通之后再换到正式站、再开交易权限。
API 下单的手续费:和 App 一样吗?怎么确保是 maker
币安官方的合约费率说明写的是“maker/taker 手续费依你的 VIP 等级而定”,费率表也只按 VIP 等级分列,没有另外列出 API 专属费率。一般用户的挂牌费率是现货 0.1%/0.1%、U 本位合约 maker 0.02%/taker 0.05%(2026-09-24 核实),各级 VIP 费率见币安 VIP 手续费等级。
maker 还是 taker,看的是订单送进去当下有没有立刻和挂单成交:立刻成交的部分是 taker,先挂在簿上等人来吃的是 maker(原理见 Maker/Taker 手续费说明)。程序要确保只当 maker,现货可以用 LIMIT_MAKER 订单类型——官方定义是“如果会立即以 taker 成交就直接拒单”,也就是只挂单(Post-only)。
API 交易算不算返佣?官方条款怎么写
我们查了币安推荐计划(Referral Pro)常见问题与联盟计划指南,截至 2026-09-28 的写法是:推荐人就被推荐用户在现货、杠杆、合约支付的交易手续费取得佣金。官方没有针对“API 下单”另外写计入或不计入,也没有区分下单管道;API 单是否计入,以 Quant Nova 每日结算明细为准。官方有明写、和程序交易者相关的几条:
- 没付手续费就没有佣金:“没有交易手续费的交易不会产生佣金。”零手续费的交易对、全额被抵扣的单,都不会有返佣。
- 子账户的手续费归主账户的推荐人:子账户不能邀请新用户,但交易佣金会计入主账户的推荐人。策略跑在子账户、主账户用 NOVA888 注册时,实际是否反映在 Quant Nova 的返佣,以结算明细为准。
- 以扣除做市商返还后的净手续费计算:现货自 2026-04-29、合约自 2026-07-15 起,推荐佣金改按扣除做市商返还(market maker rebates)后的净手续费分配。参加做市商计划、maker 费率为负的账户要特别注意。
通过 Quant Nova 用 NOVA888 绑定(NOVA888 是币安联盟码),新用户 Lv.1 零门槛返 30%(交易所自动 20% + Quant Nova 额外 10%),靠交易量升到 SVIP 是 35%,邀请制的超新星最高 40%,是常见 20% 码的 2 倍。绑定只需要 UID,不需要把 API 密钥交给任何人。完整等级与交易量试算见 Binance 手续费返佣攻略,邀请码与注册链接见 Binance 邀请码 NOVA888;旧账号想换绑,先看 Binance 换绑教学。在其他交易所已经是 VIP、或交易量大的量化团队,欢迎联系 Quant Nova 客服,我们会直接对接交易所官方窗口,帮你争取 VIP 等级试用等福利(实际以交易所核定为准)。
安全:密钥外泄、第三方机器人与代操诈骗
币安 API 文档的原话是:“API Key 和 Secret Key 都是敏感信息,绝对不要分享给任何人。”发现账户有异常活动,应立即撤销所有密钥并联系币安客服。实务上可以这样做:
- 一个用途一把密钥:下单、监控、报表分开建,外流时只撤那一把。
- 每把都绑 IP 白名单,服务器换 IP 就同步更新;不再使用的密钥直接删除。
- 接第三方机器人或工具时,只给它需要的权限(通常是读取+交易),绑上对方公布的服务器 IP;对方如果要求提领权限,就不要接。
- 不要把密钥贴进聊天群组、截屏、云端笔记或公开的代码仓库。
最常见的诈骗是“代操”:对方自称操盘手或量化团队,保证每月固定报酬,要你建一把密钥交给他。币安的提领权限必须先绑 IP 白名单才能勾选,所以对方要你把他给的 IP 加进白名单再开提领,就是准备把钱提走,一律拒绝;就算只有交易权限,对方也能用高杠杆或对敲把你的保证金赔光。
金管会 2025-09-22 公告 VASP 登记名单的新闻稿提醒:“诈骗集团多以‘稳赚不赔’、‘高获利低风险’等话术,诱导民众购买虚拟资产,嗣后再借口需支付解冻金、保证金或税款等,要求民众缴纳额外款项后方得领回投资报酬之诈骗手法”。(金管会新闻稿)
台湾用户另外要知道:截至 2026-09-28,币安不在金管会“已完成洗钱防制登记之提供虚拟资产服务之事业或人员”名单上,名单怎么查与各家状态见金管会 VASP 登记名单。
常见问题
为什么我的币安 API 密钥只能勾“读取”?
因为你用的是系统生成(HMAC)密钥、又没有设 IP 限制。2023-01-30 起这种密钥只能读取;加上 IPv4 白名单,或改建 Ed25519/RSA 自主生成密钥,就能开交易权限。
API 密钥一定要绑 IP 吗?
开提领权限时是强制的。开交易权限时,HMAC 密钥要绑 IP(除非关闭默认安全控管,不建议),Ed25519/RSA 则不强制。官方强烈建议所有非唯读密钥都设 IP 限制。
币安 API 限速是多少?
截至 2026-09-28,现货每分钟 6,000 权重、每 10 秒 100 笔与每天 200,000 笔下单;U 本位合约每分钟 2,400 权重、每分钟 1,200 笔与每 10 秒 300 笔下单。权重按 IP 算、下单数按账户算,以 exchangeInfo 为准。
测试网和模拟交易该用哪个?
要串接新功能用测试网(testnet.binance.vision);要用接近真实的行情测策略用模拟交易(demo-api.binance.com),它的限速与过滤器和正式站完全相同。
API 下单的手续费比 App 贵或便宜吗?
官方费率只依 VIP 等级分列,没有另外列 API 费率。可以用 GET /api/v3/account/commission 查自己每个交易对的实际费率。
用 API 交易能拿返佣吗?
币安推荐条款是就被推荐人支付的交易手续费给佣金,没有针对 API 单另外写计入或不计入,以结算明细为准。子账户的手续费会计入主账户的推荐人;没付手续费的交易不会产生佣金。