Binance币安API查不到充值记录如何排查?
API查不到充值记录,大多数情况下不是代码写错了,而是币安的充值数据权限和查询范围本身就有限制。排查时先把"代码问题"放一边,按"数据类型、时间范围、API版本"三个维度逐个排除。
步骤1:确认你要查的是"链上充值"还是"法币充值"
币安的API对这两种充值的支持路径完全不同,很多遗漏问题就是从这里开始的。
链上充值(加密货币充值):
使用
/sapi/v1/capital/deposit/hisrec接口查询这是最常用的充值查询接口,支持按币种、网络、状态、txId筛选
法币充值(用信用卡或银行转账直接买币):
使用
/sapi/v1/fiat/orders接口查询法币充值和提现历史币安的API默认不返回法币充值记录,需要单独调用这个接口
很多第三方税务软件(如Koinly、CoinLedger)都明确提到,币安API不返回法币充值历史,导致导入时数据缺失。
做到什么程度算完成:先确认你要查的是哪种类型的充值,然后调用对应的接口。
步骤2:检查时间范围是否超出API限制
币安API对充值历史查询有严格的时间限制,这是最容易忽略的一点。
核心限制:
查询时间区间不能超过90天
startTime和endTime之间的间隔必须小于90天如果不传
startTime,默认只查最近90天的数据
如果你想查3个月前的充值记录,直接调用 fetch_deposits 不加时间参数是查不到的。CCXT等第三方库也有同样的限制——有开发者反馈即便用了 since 参数,循环迭代时仍会因为"3个月无充值"的空白期而断开,查不全全部历史。
解决方案:每次只查90天内的数据,用分页方式逐段拉取,从最旧到最新逐个区间遍历,而不是一次性查全部。
做到什么程度算完成:确认请求的时间区间不超过90天,并实现分段查询逻辑。
步骤3:确认API Key是否有"只读"权限
API Key的权限设置直接影响能查到的数据范围。
充值历史属于
USER_DATA权限范围,API Key必须勾选只读权限才能查询有开发者反馈,同一个接口用不同用户的API Key查询,返回的数据量不一致——有的能查到所有历史记录,有的只能查到API Key创建之后的数据
检查方法:
登录币安官网,进入【API管理】页面
查看对应API Key的权限设置,确保"读取"权限已勾选
如果发现权限不足,重新生成带完整读取权限的API Key
做到什么程度算完成:确认API Key具有USER_DATA读取权限。
步骤4:核对接口版本——老接口可能已经停用
币安在2021年下架了WAPI接口,所有请求必须迁移到SAPI接口。如果你还在用老的WAPI接口查充值记录,现在什么也查不到。
检查方法:
确认请求的URL包含
/sapi/v1/或/sapi/v2/,而不是/wapi/链上充值用
/sapi/v1/capital/deposit/hisrec子账户充值用
/sapi/v1/capital/deposit/subHisrec
做到什么程度算完成:确认请求URL使用的是SAPI接口路径。
步骤5:用交易哈希(txId)单独验证
如果按上述步骤排查后还是查不到,直接用txId去查那笔具体充值。
操作方法:
在充值历史接口中传入
txId参数如果txId在链上已确认但API仍查不到,可能这笔充值是走法币渠道(见步骤1)
如果txId能查到但状态显示
pending(status=0)或credited but cannot withdraw(status=6),说明充值尚未完成,耐心等待即可
做到什么程度算完成:用txId定位到具体记录,确认充值状态。
常见失败原因汇总
| 原因 | 表现 | 解决方法 |
|---|---|---|
| 法币充值查链上接口 | 查不到任何记录 | 改用 /sapi/v1/fiat/orders |
| 查询区间超过90天 | 只返回最近3个月数据 | 分段查询,每次不超过90天 |
| API Key无读取权限 | 返回空数组 | 重新生成带USER_DATA权限的Key |
| 使用已停用的WAPI接口 | 请求报错或无数据 | 迁移到SAPI接口 |
| 充值未完成确认 | 状态为pending或6 | 等待链上确认完成 |
风险提醒
API查询结果为空不代表资金丢了——先去币安App的【充币记录】确认充值是否到账,如果App里有记录而API没有,问题出在API调用方式上,不是资金安全问题
2026年1月15日起,币安更新了签名参数的排序规则,如果不按新规则排序,请求会被
-1022 INVALID_SIGNATURE错误拒绝,需要检查签名逻辑是否适配
先确认充值类型(链上 vs 法币),再检查时间区间是否超过90天,然后验证API Key权限。这三步走完大部分问题都能定位。如果仍然查不到,去币安App的【充币记录】确认资金是否到账,然后用对应的txId通过Postman直接请求API验证,排除代码逻辑问题。
