WEEX API 速率限制:机器人为何会触发 429 错误
大多数在生产环境中失败的 WEEX API 集成并非因为签名问题,而是因为机器人将“速率限制”视为单一数值,而 WEEX 实际上运行着两个独立的预算——IP 权重预算和账户订单预算。它们在不同的周期内重置,并反映在不同的响应头中。如果处理不当,您将面临 HTTP 429 错误及 10 秒封禁,这通常发生在市场波动最需要成交的关键时刻。
这是一份截至 2026 年 7 月的 WEEX API 速率限制规则汇总图,提取自现货和合约文档,并与实时的合约 exchangeInfo 端点进行了交叉核对。它还涵盖了文档中未明确说明的部分:这些数字实际支持的轮询频率。
WEEX API 速率限制概览
下表整合了目前分散在四个不同 WEEX 文档页面中的规则——现货访问限制、合约端点权重、WebSocket 概述以及帮助中心的错误列表。
| 限制 | 范围 | 适用对象 | 响应头 | 违规结果 |
|---|---|---|---|---|
| REQUEST_WEIGHT | 每个 IP 地址 | 除下单外的所有端点 | X-USED-WEIGHT-1M / X-REMAINING-WEIGHT-1M | HTTP 429 + 10秒封禁 |
| ORDERS | 每个账户 (userId) | 仅限单笔和批量下单 | X-ORDER-COUNT-10S, X-ORDER-COUNT-1M / X-ORDER-REMAINING-* | HTTP 429 + 10秒封禁 |
| WS 连接 | 每个 IP | 新的 WebSocket 握手 | — | 连接被拒绝 |
| WS 订阅 | 每个连接 | SUBSCRIBE / UNSUBSCRIBE 操作 | — | 操作被拒绝 |
表中的两个细节比其他任何因素都更容易导致事故。
首先,下单操作完全不消耗 IP 权重——对于这些调用,WEEX 在 IP 权重计数中返回 0。其次,这是一个陷阱,撤单和查询订单仍然受 IP 限制。因此,一个进行撤单和重新报价的做市循环会同时消耗两个预算,而撤单正是悄悄耗尽 IP 池的一方。

权威数据并未出现在任何文档正文中。WEEX 将其发布在 exchangeInfo 返回的 rateLimits 数组中——合约端点为 https://api-contract.weex.com 上的 /capi/v3/market/exchangeInfo,现货端点为 /api/v3/exchangeInfo。请在启动时读取该数组,而不是硬编码常量。
实时数值及其与文档不符的原因
以下是 2026 年 7 月 27 日获取的实时合约 rateLimits 响应,以及 WEEX 自身 exchangeInfo 文档页面中打印的示例值:
| 字段 | 实时端点 (2026年7月27日) | 文档页面示例 |
|---|---|---|
| REQUEST_WEIGHT | 500 / 10 分钟 | 2,000 / 10 秒 |
| ORDERS | 300 / 1 分钟 | 5 / 10 秒 |
这些差异不容小觑——示例暗示每秒约 200 权重,而实时响应仅允许约 0.83。文档中的值仅为占位符示例,而非发布的配额。任何抓取文档页面来设定请求预算的人,其构建的数值偏差超过了两个数量级。这是在运行时读取 exchangeInfo 的最强有力理由:WEEX 可以且确实会更改这些值,只有端点能告诉您真相。
根据实时合约数值计算,实际的上限令人不安:
- 500 权重 ÷ 600 秒 = 每 1.2 秒一个权重为 1 的请求(持续,每个 IP)。
- 以每秒一次的频率轮询权重为 1 的端点(大多数教程机器人的默认设置)每 10 分钟会消耗 600 权重,在第 11 分钟前就会触及上限。
- 每分钟 300 订单 = 每秒 5 个订单(持续,每个账户)。
订单预算很宽裕,但 IP 权重预算并不宽裕。如果您的架构假设使用 REST 轮询获取市场数据,那么这个假设就是导致系统崩溃的原因。
如何读取 WEEX 速率限制响应头
WEEX 使用 S、M、H、D(秒、分、时、天)来构建响应头名称。因此,X-USED-WEIGHT-1M 是您的 IP 在当前一分钟窗口内消耗的权重,而 X-ORDER-COUNT-10S 是您的账户在当前十秒窗口内下的订单数。
| 响应头 | 含义 |
|---|---|
X-USED-WEIGHT-(n)(letter) | 您的 IP 在该窗口内已消耗的权重 |
X-REMAINING-WEIGHT-(n)(letter) | 您的 IP 在该窗口内剩余的权重 |
X-ORDER-COUNT-(n)(letter) | 您的账户在该窗口内已下的订单数 |
X-ORDER-REMAINING-(n)(letter) | 您的账户在该窗口内剩余的订单额度 |
请在每次响应中解析 X-REMAINING-* 并据此进行限流。等待 429 错误来告诉您请求过快,这种设计注定会导致请求过快——且 WEEX 明确表示在收到 429 后,您有责任停止请求,而不是重试。另请注意,合约订单路径同时报告 10 秒和 1 分钟的订单计数器,因此一次爆发性下单可能会同时触及两个窗口的上限。
在调试错误前值得了解的是:一些错误看起来像限流,但并非如此。WEEX 的 API 错误代码列表将 429(请求频率超限)与 40008(请求时间戳过期——签名有效期为 30 秒)和 40018(非法 IP 请求,即调用 IP 不在 API Key 的白名单内)区分开来。时钟漂移超过 30 秒会产生源源不断的拒绝响应,这常被误认为是速率限制问题。
在 WEEX API 上触发 429 错误会发生什么
请求将失败并返回 HTTP 状态码 429,持续请求将导致 10秒 封禁。WEEX 的 访问限制页面明确指出:收到 429 后,您必须停止请求,不得滥用 API。
十秒听起来似乎可以承受。但在实践中,这是最糟糕的十秒,因为速率限制通常在市场波动时触发——这正是需要对冲或移动止损的关键时刻。正确的做法是使用从实时 exchangeInfo 数值计算出的客户端令牌桶(预留约 20% 的余量),并对任何漏网的 429 错误实施指数退避。立即重试会将 10 秒的封禁变成滚动封禁。
构建符合 WEEX API 限制的机器人
解决 IP 权重预算紧张的方法是架构性的,而非战术性的:停止轮询任何可以通过流式传输获取的数据。
WEEX 的现货 WebSocket 运行在 wss://ws-spot.weex.com/v3/ws/public 和 wss://ws-spot.weex.com/v3/ws/private,拥有独立的限制——每个 IP 每 5 分钟 300 次连接请求,每个 IP 最多 100 个并发连接,每个连接 100 个频道,每个连接每小时 240 次订阅操作。这相当于每个 IP 拥有 10,000 个频道槽位,这比几乎任何策略所需的市场数据都要多,且完全不占用您的 REST 权重。
心跳规则在此至关重要。服务器发送 ping 并期望 PONG;未能响应超过 10 次的连接将被终止。如果客户端仅在 socket 关闭时重连,而不处理心跳丢失,它将停留在死连接上,导致逻辑基于陈旧价格进行交易。
在 WEEX 上的实用配置如下:
- 创建 API Key,在“账户 -> API 管理”下,并绑定 IP 白名单。未绑定的 Key 是导致账户被盗并造成损失的最常见原因。
- 在启动时调用
exchangeInfo,读取rateLimits,并根据响应设定令牌桶大小——永远不要使用配置文件中的常量。 - 将所有市场数据迁移至 WebSocket。 将 REST 保留用于账户状态、下单和对账。
- 在代码中分离两个预算。 一个用于 IP 权重(包括撤单和查询),另一个用于订单计数。单一的共享限制器要么会导致不必要的订单流限流,要么会耗尽您的权重。
- 在策略允许的情况下使用批量下单端点。 它们仍然计入
ORDERS限制,但能减少往返次数并降低延迟。 - 按定时器对账,而非每笔成交后对账。 持仓和余额查询是权重为 1 的端点,如果按事件触发,消耗会非常快。
如果您仍在考虑 API 驱动的方法是否合适,WEEX 关于 API 交易支持的概述涵盖了在确定架构前的 REST 与 WebSocket 的决策。
最关键的事项
在上述所有内容中,一个数字决定了设计:实时合约 IP 权重配额为每 10 分钟 500。它非常严格,以至于任何 REST 轮询市场数据的循环都会被淘汰,这意味着 WEEX API 速率限制规则并非需要调整的限流问题,而是一个平台期望客户端使用流式传输的信号。从一开始就按此构建,429 错误将不再是问题。
在上线前,请对照 exchangeInfo 验证此处的所有数据。限制是操作参数,交易所可能会在不另行通知的情况下更改它们。
常见问题解答
1. 什么是 WEEX API 速率限制?
WEEX 执行两个限制:每个 IP 地址的 REQUEST_WEIGHT 预算(涵盖除下单外的所有端点),以及每个账户的 ORDERS 预算(涵盖单笔和批量下单)。截至 2026 年 7 月 27 日,实时合约 exchangeInfo 端点返回的限制为每 10 分钟 500 权重和每分钟 300 订单。请读取端点,而不是信任任何已发布的数字,包括本文中的数字。
2. WEEX API 速率限制是按 IP 还是按 API Key?
加权端点按 IP 计算——WEEX 声明这些限制基于 IP,而非 API Key 或 UID。下单是例外:它按账户 (userId) 限制。从一台服务器运行多个 Key 不会增加您的权重配额。
3. WEEX 上的 HTTP 429 是什么意思,封禁多久?
429 意味着您的请求频率超过了限制。WEEX 会实施 10 秒封禁,并要求您停止发送请求,而不是立即重试。
4. 撤单请求计入订单速率限制吗?
不计入。只有单笔和批量下单属于 ORDERS 限制。撤单和查询订单受 IP 权重限制,这就是为什么撤单频繁的策略会先耗尽 IP 预算。
5. 如何查看剩余的 WEEX API 配额?
读取响应头。X-REMAINING-WEIGHT-1M 显示当前分钟内剩余的 IP 权重,X-ORDER-REMAINING-10S 和 X-ORDER-REMAINING-1M 显示账户剩余的订单额度。
6. WEEX WebSocket 有什么限制?
每个 IP 每 5 分钟 300 次连接请求,每个 IP 最多 100 个并发连接,每个连接最多 100 个频道,每个连接每小时 240 次订阅操作。错过超过 10 次服务器 ping,连接即会关闭。
7. 为什么我的 WEEX API 请求即使在低交易量下也会失败?
在假设限流之前,请检查 40008 错误。签名请求有效期为 30 秒,因此服务器时钟与交易所时间偏差超过 30 秒会产生持续的拒绝响应,这看起来很像速率限制问题。40018 错误则指向 IP 白名单不匹配。
风险提示
加密资产波动剧烈,API 驱动的交易可能导致部分或全部资金损失。自动化系统会加剧这种风险:受限或断开连接的客户端可能无法下单止损、撤销陈旧报价或平掉杠杆仓位,而市场正向不利方向移动。波动期间的 10 秒封禁足以将可控的回撤变成爆仓。合约仓位带有杠杆风险,可能被完全清算。API Key 存在托管和操作风险——未加入白名单或权限过大的 Key 可能被用于耗尽或滥用账户,因此请限制权限、绑定 IP 白名单,且绝不要授予交易机器人提现权限。速率限制、端点权重和合约参数可能会在不另行通知的情况下更改;在投入资金前,请务必对照实时端点进行验证。本文内容不构成投资建议。
免责声明:本内容仅用于一般品牌传播与信息说明之目的,不构成任何金融、投资、法律或税务建议。文中提及的活动、奖励、线上活动或相关信息,不应被视为对购买、出售、交易任何加密资产,或使用任何服务的推荐、招揽或邀请。加密资产具有高波动性,并存在价值损失风险。WEEX 服务及线上活动的可用性可能因地区而异,并受当地适用法律法规及用户资格要求限制。部分活动可能不适用于某些司法辖区。您有责任确保访问及使用 WEEX 服务符合当地适用法律法规。在参与任何涉及加密资产的活动前,请充分评估相关风险。
猜你喜欢

你需要加密货币经纪商吗?它们是什么以及 2026 年谁应该使用它们

经纪商与做市商有何区别?完整指南

阿根廷世界杯决赛争议:场上冲突对球队全球品牌意味着什么

2030 年阿根廷世界杯:谁能接替梅西,他们还能再次夺冠吗?

国际足联世界杯历史评估:2026年西班牙队在最伟大的冠军中排名如何?

油价因美国暂停对伊朗打击下跌7%:哪些股票现在是赢家,哪些是输家

美国暂停对伊朗打击:停火信号对油价和股市意味着什么

三星股票 vs 三星 ETF:国际投资者该如何选择?

三星股价较峰值下跌 30%:重回历史高点究竟需要什么

三星股票与 2000 亿美元 Broadcom 协议:内存与代工谅解备忘录对投资者的意义

SK海力士7月29日财报前瞻:投资者应关注什么

全新 SK Hynix 2 倍杠杆 ETF 上线:谁该使用,谁又不该使用

SK Hynix 股票与 Nvidia 5000 亿美元 SK 集团协议:2027 年时间表对投资者的意义

CXMT 股票首秀:暴涨 471% 与预判其走势的加密货币市场

特斯拉(Tesla)股价暴跌16%后的分析:价格、目标价及交易策略

WEEX API 错误代码详解:快速修复 40001 至 43011

WEEX 扑克派对系列赛第 4 季:新手 24 小时通关指南

















