API 常见问题

2018-06-05 09:38

最后更新时间:2025 年 1 月 13 日

API 文档API 开源库及示例

API 需遵循哪些限制?

概述

币安设有三种不同类型的限制,这些限制可能会随时调整:

  1. 硬性限制
  2. ML(机器学习)限制
  3. WAF(Web 应用防火墙)限制

硬性限制

  • 每分钟 6,000 次的请求权重(请注意,6,000 次的请求不一定是相同的请求)
  • 100 笔订单/10 秒
  • 20 万笔订单/24 小时

欲进一步了解硬性限制,请查阅 [/api/v3/exchangeInfo] 端点。

机器学习限制

系统会根据普通用户的交易行为进行评估。如果您的交易行为与普通用户的模式偏差过大,系统可能会限制您的交易权限,封禁时间从 5 分钟至 3 天不等。

系统设有交易滥用行为罚分,以下情况可能会导致罚分增加:

  • 频繁提高报价或抢先交易,以占据订单簿上的最优买价/卖价。
  • 频繁挂单和撤单,但未实际执行交易。
  • 您的“转化率”过低。“转化率”的计算方式为过去 24 小时内,交易笔数与挂单及撤单总笔数的比值,即“交易笔数 / (挂单笔数 + 撤单笔数)”。
  • 您的“成交权重”过低。“成交权重”的计算方式为过去 24 小时内,交易数量与挂单和撤单总数量的比值,即“交易数量 / (挂单数量 + 撤单数量)”。
  • 交易以 BNB 作为基础或报价资产的交易对时,滥用行为罚分会被放大处理。

具体罚分规则无法公开。您可以通过多次尝试,或与其他 API 用户交流,找到更理想的交易方式。

Web 应用防火墙限制

目前,我们未提供 WAF 规则的具体说明。如果您收到 HTTP 403 错误提示,则表明您的请求触发了某项 WAF 规则。通常,该错误提示主要因请求过于频繁导致,限制时长为 5 分钟。但如果您发送的请求被判定为恶意请求,封禁时间可能会更长。

超出限制后,我的账户、API 密钥或 IP 地址会受限吗?

对于硬性限制,如果超过每分钟总请求权重的限制(当前设定为 6,000 次/分钟),则您的 IP 地址将被封禁。订单限制(目前设定为每 10 秒钟 10 次,每 24 小时 200,000 次)适用于账户。如果超出订单限制,您将无法在我们的网站(或我们的其他 App)上创建订单。

对于机器学习限制,将对账户施加限制。如果您受到 ML 系统的限制,可通过 [/sapi/v1/account/status] 端点查询具体原因(详见 API 文档)。

WAF 限制仅适用于 IP 地址。一般情况下,封禁时间为 5 分钟。但如果服务器判定您的请求为恶意请求,封禁时间可能会延长。

我因为超出限制而受限,但已修复代码,币安可以提前解除限制吗?

不可以,您必须等待限制时间结束。

使用 API 时,我收到 HTTP 403 错误提示,这是为什么?

您违反了 WAF(Web 应用防火墙)规则,通常是因为触发了速率限制或发送了恶意请求(详见本文档的限制部分)。一般情况下,封禁时间为 5 分钟。

为什么我的 WebSocket 连接会掉线或断开?

每 3 分钟,活动的 WebSocket 连接都会收到一次 Ping 帧。如果未以正确的 Ping 帧进行响应,连接将被终止。

对于用户数据流,如果 60 分钟内未检测到任何活动,监听密钥将会失效,相关详情请参阅 API 文档

我使用的是第三方服务器/封装器,但无法正常运行,可以提供帮助吗?

很遗憾,我们无法为第三方服务或工具提供支持。请联系服务和/或开发团队寻求进一步帮助。

此外,在任何第三方平台输入您的币安 API 密钥或加密密钥都存在安全风险,您需要自行判断是否使用这些服务。

请注意,我们不提供与常规编程相关的支持。

我没有进行任何更改,但收到了错误提示,发生了什么?

很遗憾,我们无法针对您的具体实现问题提供支持。如果您使用的是第三方封装器/工具,请联系相应的支持/开发团队寻求进一步帮助。

我需要访问我的加密密钥,但显示“**”,如何进行查询?

出于安全考虑,加密密钥只有在创建 API 密钥时才可见,之后将被屏蔽。若密钥丢失或未记录,您需要创建新的 API 密钥,并与新的加密密钥配合使用。

能否提高我的限制要求,或申请专用的流/带宽?

很遗憾,目前暂不提供此服务,但现有的限制应足以满足大多数使用需求。

我的 API 密钥消失了。

API 密钥消失可能有以下两种原因:

  • 如果您的 API 近期无活动,且曾在 2018 年 3 月 7 日前使用过,出于账户安全考虑,该 API 密钥可能已被清除。
  • 如果您选择禁用账户,所有活动的 API 密钥都会被删除。

您应该能够顺利创建一个新的 API 密钥。

我收到了错误提示 1021:“该请求的时间戳不在撮合引擎的 recvWindow 之内”,该如何解决?

通常情况下,仅当服务器时间与您的系统时间不同步时,才会出现此错误。您可能需要同步系统时钟,具体步骤因操作系统而异。

在 Windows 系统中,您可以根据自己的判断使用“Atomic Clock”等工具进行同步;而在 Linux 和 Mac 系统中,可以通过命令行使用“ntpdate”进行同步。

如果问题仍然存在,则可能是由于网络延迟所致(即网络问题),建议尝试调整 recvWindow 参数。

我可以请求新的 API 功能吗?

如果您在文档中找不到所需功能,则意味着该功能目前尚未提供。若您希望提交功能建议,可以提交支持工单,我们将对您的请求进行审核。

我认为 API 存在问题,该如何提供反馈?

如果您认为问题源自系统本身,而非您的实现方式,请通过我们的开发者论坛联系我们,并提供相关证据支持您的主张,以便我们进行调查。请注意,模糊的信息将不会被视为有效反馈。