币安交易所 API 能做什么

简单说,币安交易所 API 是交易所对外开放的一套程序接口,让代码代替人工完成查询行情、读取账户、下单撤单等操作。常见用途包括:搭建量化策略、做跨市场价差监控、同步资产与成交记录到本地数据库、为自建看板提供实时价格。它不保证盈利,只是把“手动点击”变成“程序调用”,稳定性和风控仍取决于你的设计。

接口大体分两类:REST 用于一次性请求,比如查余额、下单、拉历史K线;WebSocket 用于持续推送,比如实时成交、盘口深度、账户变动。做实时行情优先用 WebSocket,做状态查询和交易动作走 REST,二者配合最省流量也最及时。

申请与配置:拿到可用密钥的完整流程

登录币安账户后进入 API 管理页面,创建密钥时会得到 API Key 和 Secret Key。Secret 只在创建时显示一次,务必立刻保存到密码管理器,不要写进代码仓库。建议先在测试网(testnet)跑通全流程,再切换到正式环境。

权限与白名单怎么设

  • 只勾选业务真正需要的权限:纯行情程序不需要“允许交易”,读取账单才勾“允许读取”。
  • 务必开启 IP 白名单,把服务器固定公网 IP 填进去,能挡掉绝大多数密钥泄露后的滥用。
  • 不要开启“允许提现”,程序化提现风险极高,也没有必要。
  • 一个策略一套密钥,方便单独吊销和排查问题。

接口地址与调用方式

现货 REST 常用域名是 api.binance.com,合约在 fapi.binance.com,WebSocket 行情流一般是 wss://stream.binance.com:9443。请求时把 API Key 放进 X-MBX-APIKEY 请求头,私有接口还要带上 timestamp 和签名。签名规则是:把参数按字典序拼成查询串,用 Secret Key 做 HMAC SHA256,再把结果作为 signature 参数附加。时间戳偏差过大会直接报错,服务器要做 NTP 对时,必要时调大 recvWindow。

调试阶段建议先用官方文档的示例参数在 Postman 或 curl 里跑通一个公开接口,再加签名测私有接口。很多人卡在签名失败,往往是参数顺序、URL 编码或时间戳单位(毫秒)出错。

限频、错误码与稳定性

调用币安交易所 API 时有权重(weight)限制,响应头会返回当前已用权重,接近上限就该主动降速。不要用“失败就立刻重试”的写法,容易把限频打满。正确做法是指数退避、加本地缓存、把非关键请求合并批量处理。

  • 429 / 418:触发限频或封禁,暂停请求并检查请求频率。
  • -1021 时间戳错误:校准系统时间,检查 timestamp 是否为毫秒。
  • -2010 下单被拒:多为余额不足、精度不符或最小下单量不满足,先做数量和价格取整。
  • -2015 密钥或权限问题:核对 IP 白名单、权限勾选和密钥是否被禁用。

另外要注意小数精度:每个交易对都有 stepSize 和 tickSize,下单前按规则截断,否则会反复失败。WebSocket 连接要处理心跳和断线重连,重连后重新订阅,并做好本地订单簿的增量合并校验。

安全与合规提醒

密钥等同于账户权限,绝不能出现在前端代码、公开仓库或日志里。生产环境用环境变量或密钥管理服务注入,定期轮换密钥,离职或项目下线立即删除。程序里加上单笔与单日下单上限、异常价格保护,避免逻辑 bug 造成意外成交。同时留意所在地区对加密资产的相关规定,确认使用场景合规。

把以上环节做扎实,币安交易所 API 的接入其实并不复杂:权限最小化、签名正确、限频可控、异常有兜底,剩下的就是业务逻辑本身。