量化喵是独立第三方信息站,与任何交易所都没有隶属关系。本页不含推广链接与邀请码。 完整披露 →

欧易 · API 实操

欧易 API 的请求次数限制到底按什么来算?

「子账户每 2 秒最多 1,000 个订单请求」这句,容易被折算成「每秒能下 500 单」,脚本再照这个速度往一个合约上连发。实际发不了那么多:同一个产品 ID 上,单笔下单接口 POST /api/v5/trade/order 每 2 秒只收 60 次。1,000 管的是整个子账户所有产品的新单和改单加在一起,60 管的是单个产品、单个接口,两条同时生效,哪条先满就被哪条挡回来。

欧易 API 的限速没有一个通用的「每秒多少次」。公共行情接口按 IP 计,私有接口按 User ID 计(子账户各有自己的 User ID),下单、撤单、改单再细到产品 ID,WebSocket 的登录和订阅按连接计。普通的超限返回错误码 50011;超了子账户那条 1,000,返回的是 50061。

欧易 API 限速按 IP 算还是按账户算?

看接口要不要身份验证。不带 API Key 签名的公共行情接口,额度跟着出口 IP 走;带签名的私有接口跟着 User ID 走,母账户和每个子账户分开计数。几个脚本里常调的接口:

接口限速按什么计
GET /api/v5/market/ticker20 次/2sIP
GET /api/v5/market/tickers20 次/2sIP
GET /api/v5/market/books40 次/2sIP
GET /api/v5/market/candles40 次/2sIP
GET /api/v5/account/balance10 次/2sUser ID
GET /api/v5/trade/orders-pending60 次/2sUser ID
GET /api/v5/trade/order60 次/2sUser ID + 产品 ID(期权按交易品种)
GET /api/v5/trade/account-rate-limit1 次/sUser ID

按 IP 计的那几行,同一台机器上的几个脚本就算用的是不同账户的 Key,拉公共行情时也挤在同一份额度里。私有接口反过来,换一个子账户,User ID 变了,额度就是另一份。

WebSocket 有自己的一套。建立连接按 IP 限 3 次/秒;每条连接上的订阅、取消订阅和登录请求合计每小时 480 次;连上以后 30 秒内没有订阅,或者订阅后 30 秒内服务器没推送数据,连接会被自动断开。订单、账户、持仓等私有频道,每个子账户订阅同一个频道最多 30 条连接。

下单、撤单、改单每 2 秒能发多少次

这三类接口的额度互相独立,下单的 60 次用完了,撤单那 60 次还在。额度按「User ID + 产品 ID」划分,BTC-USDT-SWAP 和 ETH-USDT-SWAP 各有一份;期权例外,按交易品种(Instrument Family)划分,品种信息用「获取交易产品基础信息」接口查。

接口限速怎么计数计入子账户上限
POST /api/v5/trade/order60 次/2s按请求次数计入
POST /api/v5/trade/batch-orders300 个/2s按订单个数计入,每个订单单独算
POST /api/v5/trade/amend-order60 次/2s按请求次数计入
POST /api/v5/trade/amend-batch-orders300 个/2s按订单个数计入,每个订单单独算
POST /api/v5/trade/cancel-order60 次/2s按请求次数不计入
POST /api/v5/trade/cancel-batch-orders300 个/2s按订单个数不计入
  • 批量接口和单笔接口的额度也分开。一次批量请求放 5 个订单,扣的是 300 里的 5 个;批量请求里只有 1 个订单时,它按单笔处理,算进 60 次那一份。
  • 下单、撤单、改单的额度由 REST 和 WebSocket 共用,把下单从 REST 挪到 WebSocket 不会多出一份 60 次。WebSocket 接行情受的是建连次数和每条连接订阅、登录次数的约束,和这里的交易额度是两回事。
  • 同一笔订单同时处于处理中的改单请求最多 3 笔,已有 3 笔在处理时再提交,返回 51513。
  • 跟单交易的带单员,在带单产品上的限速低得多:下单 4 次/2s,批量下单、改单、批量改单都是 4 个/2s。

把单个产品能用的额度加起来:单笔下单 60 次加批量下单 300 个,2 秒内最多 360 个新订单;改单同样是 60 + 300 = 360 个。新单和改单合计 720 个,不到 1,000。照这个加法,只交易一个产品的脚本先撞上的会是产品这一层的 50011,子账户那条 1,000 要同时交易好几个产品才碰得到。

报 50061 是碰到了子账户每 2 秒 1,000 个的上限

50061 对应子账户层面的限速:每个子账户每 2 秒最多 1,000 个订单相关请求。只有新订单和改单计入,撤单不算;批量请求里的每个订单单独计数。受它管的是 REST 的下单、批量下单、修改订单、批量修改订单,以及 WebSocket 的下单、批量下单、改单、批量改单。它和产品 ID 那一层的限速并行运行,两条都得满足。

举个例子:脚本同时跑三个永续合约,每个产品 2 秒内把单笔下单的 60 次和批量下单的 300 个都用满,新订单一共 360 × 3 = 1,080 个。每个产品单看都没超,子账户合计超过了 1,000,这时收到的是 50061,不是 50011。

文档在成交比率分档那一节末尾写明,大宗交易、价差交易、做市商保护(MMP)订单,以及币币、币币杠杆订单,不受子账户限速限制。按这句,只跑现货的脚本不计入这 1,000,主要盯每个产品 60 次/2s 那一层。本地给子账户总数留的计数器照样留着,真收到 50061 就按下面处理。

收到 50061,只给报错的交易对降速多半不够,这份额度是子账户所有产品共用的,要压的是全部产品新单加改单的总量。撤单不计入这条,该撤的照常撤。

VIP5 以上的子账户限速按成交比率分 8 档

这套分档只对用户等级 VIP5 及以上生效:子账户每 2 秒的新单加改单上限按成交比率落档,从 1,000 到 10,000 共 8 档。

每天 00:00 UTC(北京时间 08:00),系统用过去 7 天的数据算两个比率:

  • 子账户成交比率 = 子账户的 USDT 交易量 ÷ Σ(每个交易产品的新增和修改请求数 × 交易产品乘数)。母账户自己也当作一个「子账户」来算。
  • 母账户合计成交比率 = 母账户层面的 USDT 交易量 ÷ Σ(所有子账户各个交易产品的新增和修改请求数 × 交易产品乘数)。

只数 sCode = 0 的成功请求。大宗交易、价差交易、做市商保护和法币类型订单的订单数不进分母,大宗交易和价差交易的交易量也不进分子。

乘数调的是每个产品在比率里的权重。小币对和合约要做出同样的交易量,需要的订单往往更多,所以乘数小于 1,每笔请求在分母里占得少些:

业务线覆盖规则默认乘数独立乘数
永续产品 ID0.21:BTC-USDT-SWAP、BTC-USD-SWAP、ETH-USDT-SWAP、ETH-USD-SWAP
交割交易品种0.10.3:BTC-USDT、BTC-USD、ETH-USDT、ETH-USD
币币产品 ID0.10.5:BTC-USDT、ETH-USDT
期权交易品种0.1—

币币订单虽然不受子账户限速限制,乘数表里仍有币币一行,文档的算例也把 XRP-USDT 的交易量和订单数算进了比率。

欧易 API 中文文档「基于成交比率的子账户限速」一节:仅适用于 VIP5 及以上用户,两个比率的公式、交易产品乘数表和 Tier 1 到 Tier 4 的限速
截图 2026-09 · 文档写明这套分档只适用于 VIP5 及以上;中间是永续、交割、币币、期权四条业务线的默认乘数与独立乘数,下方是 Tier 1 到 Tier 4 对应的子账户每 2 秒限速。

每天 08:00 UTC(北京时间 16:00),系统拿 00:00 UTC 那份快照,取子账户成交比率和母账户合计成交比率里较大的一个,按下表定这个子账户接下来的限速:

档位成交比率 [x ≤ 比率 < y)子账户每 2 秒限速(新订单及修改订单请求)
Tier 1[0, 1)1,000
Tier 2[1, 2)1,250
Tier 3[2, 3)1,500
Tier 4[3, 5)1,750
Tier 5[5, 10)2,000
Tier 6[10, 20)2,500
Tier 7[20, 50)3,000
Tier 8≥ 5010,000

档位怎么变动:

  • 比率改善、档位上调,当天 08:00 UTC 立即生效。
  • 比率下降、档位要下调,有一天宽限,降低后的限速在 T+1 的 08:00 UTC 才执行;到 T+1 时比率又提高了,直接给更高的那档。
  • 交易手续费等级降到 VIP4,限速降为最低档,同样有一天宽限。
  • 子账户 7 日交易量低于 1,000,000 USDT,按母账户合计成交比率定档。
  • 新建的子账户先用最低档,T+1 的 08:00 UTC 起才按上面的规则走。

文档给的算例有三个账户,BTC-USDT-SWAP 乘数取 1,XRP-USDT 乘数取 0.1。把数代进两条公式:

账户交易量(USDT)与订单数比率取较大值后
A(母账户)BTC-USDT-SWAP 100 / 10 单;XRP-USDT 20 / 15 单120 ÷ (10 × 1 + 15 × 0.1) = 120 ÷ 11.5 ≈ 10.4310.43 → Tier 6,2,500 个/2s
B(子账户)BTC-USDT-SWAP 200 / 100 单;XRP-USDT 20 / 30 单220 ÷ (100 × 1 + 30 × 0.1) = 220 ÷ 103 ≈ 2.14(文档写 2.13)3.01 → Tier 4,1,750 个/2s
C(子账户)BTC-USDT-SWAP 300 / 100 单;XRP-USDT 20 / 45 单320 ÷ (100 × 1 + 45 × 0.1) = 320 ÷ 104.5 ≈ 3.063.06 → Tier 4,1,750 个/2s
母账户合计交易量 660,分母 10 + 1.5 + 100 + 3 + 100 + 4.5660 ÷ 219 ≈ 3.01—

算例里的交易量是演示用的小数字。真实账户里,子账户 7 日交易量低于 1,000,000 USDT 时直接按母账户合计比率定档,不再比较两个比率。

欧易 API 怎么查当前限速额度,超限以后怎么重试

当前额度用 GET /api/v5/trade/account-rate-limit(获取账户限速)查,这个接口限 1 次/s,按 User ID 计。它返回子账户成交比率、母账户合计成交比率、子账户当前限速,以及 T+1 的预期子账户限速(档位要下调时看这一项)。数据每天 08:00 UTC 更新,脚本在北京时间 16:00 之后读一次存下来,当天就够用,没必要每次下单前都去查。

本地计数分三层:每个产品的下单、撤单、改单各一个计数器,按 2 秒计;同一子账户所有产品的新单加改单合一个总数,和查到的子账户限速比;WebSocket 记每秒建连次数和每条连接的订阅、登录次数。断线重连时别让多条连接在同一秒里一起重建,也别在一条连接上反复取消、重订。

订单多、又集中在同一个产品上,改用批量接口:单笔下单每 2 秒 60 次,批量下单每 2 秒 300 个订单。批量不会让子账户那条上限变宽,每个订单照样单独计入 1,000。改单等前一笔的结果回来再发下一笔,别让同一订单的处理中改单堆到 3 笔。

错误码碰到的是哪条脚本里怎么处理
50011某个接口自己的限速(按 IP、User ID 或产品 ID)这个接口降速,退避后重试
50061子账户每 2 秒新单加改单合计整个子账户的新单、改单一起减速;撤单照常
51513同一订单处理中的改单已有 3 笔等前面的改单返回结果再提交

退避重试的代码(等待时间怎么逐次拉长、重试几次后停手)在 欧易 API 常见报错与排查清单 里。还没建过 Key、没在模拟盘下过单的,从 欧易 API 量化入门:创建模拟盘 Key、下单与撤单核验 开始。

风险提示:脚本自动下单一旦出错,损失会随下单频率放大。A、B、C 三个账户的数字取自欧易文档算例,三个永续合约满额下单是假设场景,不代表任何账户。参考页面:欧易 API v5 中文文档「限速」「WebSocket」两节,以及下单、批量下单、撤单、批量撤单、修改订单、批量修改订单、获取账户限速等接口说明里的限速字段(2026 年 9 月核对)。本文不构成投资建议,请只用你能承受全部损失的闲钱,并自行对交易决策负责。

欧易 API 限速问答

欧易 API 下单每秒能发多少次?

欧易按 2 秒计:单个产品的单笔下单每 2 秒 60 次,批量下单每 2 秒 300 个订单,两份额度独立,期权按交易品种计。子账户层面,新订单加改单每 2 秒合计 1,000 个,VIP5 以上按成交比率分档,最高 10,000。REST 和 WebSocket 下单共用这些额度。

欧易 API 报 50061 怎么解决?

50061 表示这个子账户每 2 秒的新订单和改单请求合计超过了限速,默认 1,000 个,批量请求里每个订单单独计数。只给报错的交易对降速多半不够,要把这个子账户所有产品的下单、改单一起减速;撤单不计入这条。文档写明币币、币币杠杆订单不受子账户限速限制,只跑现货的脚本按这句不计入这 1,000;真收到 50061,照样按上面的办法减速。

用 WebSocket 下单能多拿一份限速额度吗?

下单、撤单、改单的限速在 REST 和 WebSocket 之间共享,换通道不会多出额度,WebSocket 订单管理同样按 User ID 计。WebSocket 另有自己的连接限制:建连每秒 3 次(按 IP),每条连接的订阅、取消订阅和登录合计每小时 480 次。