Binance API是什么:币安API Key申请与创建指南

作者:技术拾光

时间:2026-07-24

浏览:438

BinanceAPI是币安向开发者开放的程序接口,用于行情读取、账户查询与自动下单。申请需完成KYC、开启2FA并激活现货钱包。密钥可选系统生成的HMAC或自生成的Ed25519/RSA。权限遵循最小原则,建议绑定IP白名单。SIGNED请求需携带签名。Python配合ccxt可快速接入。

在交易圈里待久了,你会发现一个规律:无论是搭个简单的网格程序,还是准备接入更复杂的跨交易所量化系统,第一步几乎都绕不开同一个东西——Binance API。简单来说,它就是币安向开发者开放的一套程序接口,可以用来读取行情、查询账户、自动下单,甚至做统一账户管理。这篇文章就围绕几个新手最关心的问题展开:API到底是什么、怎么申请、权限怎么设置、签名为什么重要、程序又该如何接入。内容会尽量用更容易理解的方式说明,同时结合常见配置误区和实际使用中的注意事项,帮你从0开始完成可用API Key的创建,并顺着流程跑通第一段可执行的Python示例代码。
![币安API申请完整教程](http://img.318050.com/uploads/20260723/17848118236a62112fbcee9177718582.webp)
**核心要点速览** * **申请前置条件**:账户通常需要完成身份认证或进阶KYC,现货钱&包已激活,并已开启2FA。 * **密钥类型选择**:系统生成的HMAC对称密钥更适合新手快速理解签名流程;自行生成的Ed25519或RSA非对称密钥更适合长期运行环境,其中官方更推荐Ed25519。 * **默认权限状态**:新建API Key默认通常只开启“读取”权限,普通量化场景一般不需要开启提币权限。 * **IP白名单的重要性**:未绑定IP的API Key长时间不使用后,可能被系统自动删除;如果是生产环境,更建议绑定固定公网IP。 * **签名机制要点**:SIGNED请求必须携带signature;HMAC Key使用HMAC-SHA256,RSA与Ed25519使用对应私钥签名。请求头X-MBX-APIKEY传递的是API Key,而不是公钥。 * **限频规则**:币安采用基于权重的限频机制,超限会返回429,连续违规可能触发HTTP 418的IP封禁,封禁时间可从2分钟延长到3天。 * **量化入门方案**:Python配合ccxt,通常是门槛较低的接入方式,适合先完成行情获取和下单测试。 ## 什么是币安 Binance API:Binance 交易所 API 的作用与使用场景 API是Application Programming Interface的缩写,可以简单理解为“让程序和交易所沟通的接口”。你在网页端或App里手动进行下单、撤单、查余额、看订单等操作,背后本质上也是通过类似接口完成的。区别在于,拿到API Key之后,这些动作可以交给程序自动执行,而不需要你每次手动点按钮。 对新手来说,API最常见的价值不一定是“高频量化”,而是把重复动作自动化。例如定时拉取行情、监控账户变化、批量管理订单、记录成交数据,甚至只是写一个简单的价格提醒脚本,都可能会用到API。 * 读取实时行情、K线、订单簿深度、最近成交 * 查询账户余额、持仓、订单状态、历史成交 * 下单、撤单、改单,以及止盈止损、OCO、ICEBERG等高级订单类型 * 进行杠杆借贷、合约划转与统一账户资金调度 * 订阅WebSocket用户数据流,更快感知账户状态变化 从接口形式来看,币安API主要分为三类:REST API、WebSocket API和WebSocket Streams。 * **REST API**:更适合一次性查询、下单和账户操作。 * **WebSocket API**:适合在长连接下进行请求式查询和交易操作。 * **WebSocket Streams**:更适合实时行情推送和账户事件订阅。 这三类接口并不是简单重复的关系。对于实时性要求较高的量化程序,行情和账户事件通常会优先通过WebSocket Streams获取,而REST API更多用于初始化数据、补查信息或执行低频操作。这样做的好处是更实时,也更不容易因为频繁轮询触发限频。 ## 申请币安 API 的前置条件:KYC、2FA 与现货账户激活 币安自2026年8月后收紧了API创建规则。通常只有完成身份认证或进阶认证的用户,才可以创建新的API密钥。未完成认证的账户,已有API Key可能会被限制为只读,无法使用交易能力;完成认证后,相关访问权限才可能恢复完整。 除了KYC之外,申请Binance API Key之前,通常还需要满足以下前置条件: 1. 现货钱&包已激活。一般需要先让现货账户处于可用状态,常见做法是向现货账户充值任意金额完成激活。 2. 已开启2FA二次验证。常见组合是谷歌验证器加邮箱验证,这样即使单一验证方式失效,也能降低账户风险。 虽然移动端App也支持创建API,但如果你需要编辑权限、调整细项配置或设置IP白名单,通常还是更建议在PC网页端完成。页面信息更完整,很多细节也更容易看清楚。 ## 币安 API 如何申请:Binance API Key 创建 6 步完整流程
![币安API申请完整教程](http://img.318050.com/uploads/20260723/17848118246a62113022649953368397.webp)
如果你想知道币安API怎么申请,可以把整个过程理解成6个步骤。只要按顺序操作,大多数新手都能比较顺利地完成。 ### 第 1 步:登录币安账户 使用浏览器访问币安官网,注意核对主域名`binance.com`,避免进入钓鱼网站。登录后,点击右上角头像,进入账户中心。 ### 第 2 步:进入 API 管理页面 在账户菜单里找到“API管理”。如果这是你第一次创建API,页面通常是空白的,或者只显示创建入口。
![币安API申请完整教程](http://img.318050.com/uploads/20260723/17848118246a62113068581263603110.webp)
### 第 3 步:点击“创建 API”并选择密钥类型 币安目前提供两种主要生成方式: * **系统生成**:更适合新手快速上手,采用HMAC-SHA256对称加密。系统会生成API Key与Secret Key,请求签名时由Secret Key参与计算。 * **自行生成**:更适合进阶用户或机构场景,支持Ed25519或RSA非对称加密。用户在本地生成密钥对,只将公钥上传到币安,私钥保留在本地设备。币安官方文档推荐使用Ed25519,因为它在签名体积、计算效率与安全性之间通常更平衡。 如果你是第一次接触Binance API,HMAC往往更容易理解;如果后续准备长期运行程序,Ed25519通常会是更常见的选择。
![币安API申请完整教程](http://img.318050.com/uploads/20260723/17848118246a621130ba4fa497093110.webp)
### 第 4 步:填写标签并完成安全验证 为API Key设置一个容易识别的名称,例如“grid-bot-spot”“monitor-only”或“futures-arbitrage”。这个标签的作用是方便你后续区分用途,特别是在一个账户里有多把Key时会更清晰。随后根据页面提示,完成手机、邮箱、谷歌验证器以及滑块等安全验证。 ### 第 5 步:保存 Secret Key 这是很多新手最容易忽略的一步。若使用系统生成模式,Secret Key通常只会展示一次。一旦页面关闭或刷新,就无法再次查看明文,只能删除原有API Key并重新创建。 更稳妥的做法,是在创建成功后立刻把API Key和Secret Key一并保存到密码管理器中,尽量不要放在明文云笔记,也不要通过聊天工具直接传输。 ### 第 6 步:编辑权限与设置 IP 白名单 新建API默认通常只启用读取权限。如果你的程序需要执行现货交易、合约交易或资金划转,就要手动勾选对应权限,并完成验证保存。
![币安API申请完整教程](http://img.318050.com/uploads/20260723/17848118256a621131022ac238293929.webp)
## 币安 API 权限怎么设置:读取、交易、提币与 IP 白名单
![币安API申请完整教程](http://img.318050.com/uploads/20260723/17848118256a62113150398960300638.webp)
在Binance API的权限配置上,并不是勾得越多越好。对新手来说,最容易理解的一条原则就是:程序只做什么,就只给它什么权限。这也就是常说的“最小权限原则”。 ### 常见权限组合 * **纯行情或监控场景**:只开启“允许读取”。即便密钥泄露,第三方通常也只能查看数据,无法直接操作账户资产。 * **现货量化场景**:开启“允许读取”与“允许现货及杠杆交易”。如果涉及资金调度,再根据需要补充借贷或划转权限。 * **合约量化场景**:开启“允许读取”与“允许合约”。需要注意的是,通常要先开通合约账户,相关权限选项才能正常勾选。 * **跨账户资金调度场景**:在现货或合约权限基础上,进一步启用万向划转等所需能力。 ### 关于“允许提币”权限 这是风险最高的权限之一。币安默认通常不会启用该权限,而且开启时往往还需要设置IPv4访问限制。对于大多数现货量化、合约量化、网格程序或套利监控场景来说,一般并不需要提币权限。没有明确业务需求时,通常不建议开启。 从安全角度看,API Key一旦泄露,就可能引发异常交易或账户风险;如果再叠加其他凭证泄露,甚至可能造成资金损失。因此,避免开启提币权限,并绑定IP白名单,是比较基础也比较重要的安全动作。 ### IP 白名单为什么重要 很多新手会把IP白名单只看成安全功能,但它同时也关系到API Key能否长期稳定使用。币安曾实施过“未绑定IP白名单且30天未使用的API Key自动删除”策略。也就是说,如果某把API Key没绑定IP,又长时间闲置,后续可能被系统自动清理,程序也就需要重新配置。 从安全角度看,绑定IP后,即便Secret Key泄露,攻击者也无法直接在其他IP上发起请求。常规配置步骤可以概括为: 1. 在API编辑页面找到“限制访问IP” 2. 查询服务器或本机的公网IP 3. 按页面要求填写IPv4地址,多个IP按规则分隔 4. 保存并完成安全验证 ## 币安 API 签名机制详解:SIGNED 请求、HMAC、RSA 与 Ed25519 在调用Binance API时,接口通常可以分为两大类: * **NONE / MARKET_DATA**:公开行情接口,通常不需要签名;部分端点可能要求API Key,但不涉及账户交易签名。 * **SIGNED(TRADE / MARGIN / USER_DATA)**:涉及账户和交易的私有接口,必须携带signature参数。 理解这一点很重要。简单来说,如果只是查公开行情,很多时候不需要复杂认证;但只要请求会碰到账户资产、持仓、订单等敏感数据,就必须做签名校验,证明这个请求确实来自你本人授权的程序。 SIGNED请求都需要签名,但具体算法取决于API Key类型:HMAC Key使用HMAC-SHA256;RSA Key使用RSA私钥签名;Ed25519 Key使用Ed25519私钥签名。请求头中的X-MBX-APIKEY传递的是API Key或Key ID,并不是公钥。若使用Ed25519或RSA,公钥在创建API Key时上传,后续请求由本地私钥完成签名。 ### HMAC-SHA256 签名流程 系统生成的HMAC Key使用的是比较常见的HMAC-SHA256算法。对新手来说,可以把这个过程理解为:先把请求内容整理成固定格式,再用Secret Key算出一个“校验值”,最后把这个校验值一起发给交易所。币安收到后,也会按同样方法重新计算,如果结果一致,就说明请求可信。
![币安API签名机制](http://img.318050.com/uploads/20260723/17848118256a621131977b6870988504.webp)
1. 将所有参数(包含timestamp)按key=value&key=value的形式拼接成totalParams字符串。 2. 使用Secret Key作为密钥,对totalParams执行HMAC-SHA256计算。 3. 将结果编码为十六进制字符串,得到signature。 4. 把signature拼回请求参数,并在Header中加入X-MBX-APIKEY。 5. 币安服务器收到请求后,会用相同的Secret Key重新计算并校验签名。 下面这些细节比较容易出错,建议重点留意: * timestamp必填,通常使用毫秒时间戳;现货API也支持微秒时间戳。recvWindow以毫秒计,默认5000ms,最大60000ms。如果本机时间与服务器偏差超过recvWindow,请求会报错-1021。 * signature大小写规则与密钥类型有关:HMAC模式下,signature大小写通常不敏感;RSA与Ed25519模式下一般大小写敏感。secretKey和参数本身始终大小写敏感。 * 非ASCII字符需要先进行percent-encode,否则可能导致签名校验失败。 如果请求返回-1022 Signature for this request is not valid,常见原因包括Secret Key复制错误、签名字符串与实际请求参数不一致,或URL编码不一致。若返回-2026 Invalid API-key, IP, or permissions,则通常与IP白名单未命中、权限未开启,或API Key本身无效有关。 ## 币安 API 量化实战:用 Python 和 ccxt 快速接入 Binance API 如果完全手写签名,确实更有助于理解底层原理;但当策略逐渐复杂后,不同交易所之间的接口命名、参数结构和错误码差异,会明显增加维护成本。这时候,ccxt这类统一封装库会更适合做多交易所接入。它把多家交易所API抽象成相对统一的调用方式,便于快速接入币安、Bybit、Bitget等平台。 对于刚入门的用户来说,这也是比较友好的方式,因为你可以先把重点放在“程序如何拿到行情、如何查询余额、如何发单”这些核心逻辑上,而不是一开始就陷入大量底层细节。 安装方式: `pip install ccxt` 下面是一个初始化币安客户端、获取K线、查询账户余额和提交限价单的示例:
import ccxt
binance = ccxt.binance({
    'apiKey': '你的API Key',
    'secret': '你的Secret Key',
    'enableRateLimit': True,
    'options': {
        'defaultType': 'spot',
        'adjustForTimeDifference': True
    }
})

binance.load_markets()
ohlcv = binance.fetch_ohlcv('BTC/USDT', timeframe='1h', limit=100)
balance = binance.fetch_balance()
print(balance['USDT'])

order = binance.create_limit_buy_order(
    symbol='BTC/USDT',
    amount=0.001,
    price=50000
)
print(order)
如果要切换到U本位合约,通常只需要把defaultType改为`future`。不过在实盘前,仍然需要确认账户模式、保证金模式、持仓模式、杠杆倍数,以及交易对命名方式与策略设置保持一致。`enableRateLimit=True`这个参数也很关键,它可以帮助ccxt在本地按限频规则自动等待,降低触发429的概率。 另外还要提醒一点:示例代码的作用主要是帮助你理解接入流程,并不代表可以直接用于真实资金环境。涉及真实账户操作前,最好先在低风险环境中验证权限、时间同步、交易对参数和错误处理逻辑。 ## 币安 API 限频规则:REQUEST_WEIGHT、429 与 418 是什么意思 币安的限频体系在主流交易所中相对复杂。对量化程序来说,是否理解Binance API的限频逻辑,往往会直接影响策略在高频请求下的稳定性。很多程序不是写不出来,而是写出来以后因为请求过快被限流,导致看起来“时好时坏”。 ### 权重制(Weight-based) 币安并不是简单统计“每分钟发了多少次请求”,而是为不同接口设置了不同的权重。比如有些查询单个交易对的接口权重很低,但如果一次查询全部交易对,权重就会明显提高。以现货24hr ticker为例,查询单个交易对的权重为2;如果不传symbol查询全部交易对,权重可能达到80。现货常见的REQUEST_WEIGHT限制为每分钟6000,实际规则仍应以`/api/v3/exchangeInfo`和接口响应头为准。 每次请求的响应头通常会返回当前已使用权重,例如`X-MBX-USED-WEIGHT-1M`。程序侧最好尽量读取这些信息,并结合本地滑动窗口进行控制。 ### 错误码与封禁机制 * **HTTP 429**:表示触发限频,需要立即退避。响应头中的Retry-After通常会给出等待时间。 * **HTTP 418**:表示在连续触发429后,IP被自动封禁。封禁时间可能从2分钟起步,重复违规时可延长至3天。 * **HTTP 403**:通常表示被WAF拦截,请求模式可能被识别为异常,或触发了相关防护规则。 ### 使用 Binance API 时的限频建议 * 能通过WebSocket获取的数据,尽量不要用REST做高频轮询。 * 使用ccxt时,建议保留`enableRateLimit=True`。 * 多个账户或多个策略共用同一IP时,要注意权重池通常是共享的。 * 遇到429后不要立即重试,应按照Retry-After或更保守的节奏退避,避免进一步触发418。 ## API 安全使用注意事项:币安 API Key 如何更稳妥地管理 **API 安全使用 7 条注意事项** 1. **一个业务对应一把Key**:将现货、合约、监控、报表等不同场景分开管理,降低单点泄露的影响范围。 2. **尽量绑定IP白名单**:即使是测试环境,也更建议使用本机公网IP或固定服务器IP。 3. **Secret采用离线或安全存储**:避免写入代码仓库、明文笔记或聊天工具。 4. **通过环境变量加载密钥**:例如使用`os.environ['BINANCE_SECRET']`配合.env与.gitignore。 5. **定期轮换API Key**:可以根据自身风控要求安排周期性替换。 6. **优先考虑Ed25519**:对于进阶用户而言,长期运行的生产环境通常更适合采用非对称密钥方案。 7. **定期检查异常调用**:关注活跃Key列表和最近请求记录,发现异常时及时停用并删除。 不管是写监控脚本还是接自动化交易,API Key本质上都属于敏感凭证。只要涉及真实账户和资产,安全管理就不能省略。即使只是测试,也最好按照正式环境的思路去管理密钥。 ## 币安 vs Bybit vs Bitget:量化 API 接入怎么选 不少量化策略最终会同时运行在多家交易所,例如主仓位放在币安,对冲或执行放在Bybit或Bitget。不同平台在流动性、产品结构和接口体验上各有差异,接入时也会有不同侧重点。
![币安 vs Bybit vs Bitget API对比](http://img.318050.com/uploads/20260723/17848118256a621131dcc63786863996.webp)
* **Binance**:从流动性和产品广度来看,币安长期处于行业头部。BTC/USDT、ETH/USDT等主流交易对通常具有更强深度。如果策略对滑点比较敏感,例如高频做市或套利,币安往往是重点接入对象之一。 * **Bybit**:在永续合约与统一交易账户方面,对量化用户相对友好。现货与合约共用保证金的结构,适合部分多品种策略,相关中文资料和API案例也相对较多。 * **Bitget**:在复制交易生态方面有较强存在感,也比较重视内容合作和渠道推广场景。对于关注跟单及生态拓展的用户来说,Bitget具备一定特点。 如果你只是刚开始学习API,通常可以先从一个平台跑通流程,再考虑多平台接入。这样更容易排查问题,也能更快建立对权限、签名、限频和下单逻辑的整体理解。 ## 常见问题 FAQ:Binance API 免费吗、安全吗、报错怎么处理 ### 币安 API 是免费的吗? 币安API本身通常不收取调用费或订阅费,用户主要承担的仍是正常交易手续费。对于任何声称“必须付费才能开通API”的说法,都需要谨慎核实。 ### Secret Key 忘记了怎么办? 无法找回。系统生成模式下,Secret Key只会在创建时展示一次。若遗失,只能删除当前API Key,重新创建新的密钥,并同步更新下游程序配置。 ### API Key 被自动删除是什么原因? 比较常见的情况是未绑定IP白名单,并且连续30天没有发起请求,进而触发自动清理机制。重新创建后,建议尽快绑定IP,并定期验证可用性。 ### HMAC、RSA、Ed25519 应该怎么选? 新手通常可以从HMAC起步,更容易快速理解签名流程;长期运行的程序一般更适合Ed25519,因为私钥不需要上传,安全性和性能通常更适合生产环境。RSA也可用于非对称签名,但新项目一般更优先考虑Ed25519。 ### 币安 API 报错 -1021 Timestamp 是什么意思? 这通常表示本机时间与币安服务器时间的偏差超过recvWindow。常见原因是服务器时钟漂移。处理方式包括开启NTP同步,或者在客户端中启用时间差自动校准功能,例如ccxt的`adjustForTimeDifference`。 ### Bybit、Bitget 的 API 流程和币安一样吗? 整体思路相似,通常都包括创建Key、配置权限、绑定IP和完成签名请求,但端点路径、签名参数、错误码和限频规则并不完全一致。如果要同时接入多家平台,使用ccxt这类统一封装库通常会更方便维护。 以上就是关于Binance交易所API是什么、如何申请,以及币安API Key创建、权限设置、签名机制和量化接入流程的完整梳理。对新手来说,最重要的不是一开始就追求复杂策略,而是先把基础流程跑通:确认账户条件、创建并保存密钥、按需设置权限、理解签名逻辑,再逐步完成程序接入。API适用于自动化交易、数据监控和策略开发等场景,但在实际使用中,仍需重点关注权限控制、限频规则和密钥安全。涉及真实账户与资金操作时,应先在低风险环境中完成验证与测试,并充分理解相关操作风险。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章