更新日志
最近更新: 2025-12-09
2025-12-09
- FIX SBE Schema 已更新,会在
MarketDataSnapshot中使用smallGroupSize16Encoding。并在增量单个交易对订单簿数据流/深度数据流的MDEntrySize的字段中使用presence="optional"。 - 更新了关于 FIX 与 FIX SBE 的文档说明
- 在 REST 和 WebSocket API 文档中新增说明:请避免在请求中使用 SQL 关键字,因为这可能会触发 Web 应用防火墙(WAF)规则导致安全拦截。详情请参见 https://www.binance.com/zh-CN/support/faq/detail/360004492232 。
2025-12-02
注意: 本节中的变更将逐步推出,预计大约需要两周时间完成。
常规更改
- 参数
symbol和symbols现在支持以 UTF-8 编码的 Unicode 值。 - 根据 2025-11-14 的公告,所有与
!ticker@arr相关的内容已经在文档被移除。- 该功能将在未来弃用公告发布前继续可用。
- 请改用
<symbol>@ticker或!miniTicker@arr。
FIX API
- 现在 FIX 消息中可以接受以 UTF-8 编码的 Unicode 值。仅允许以下标签使用:
Currency (15)MiscFeeCurr (138)Symbol (55)SecondarySymbol (25019)CounterSymbol (25028)SecurityDesc (107)
- 当 Unicode 出现在非上述标签的值中时,FIX API 会在拒绝消息
<3>中返回RefTagID (371)标签,指明具体哪个标签不允许包含 Unicode。 - NewOrderList
<E>可以接受没有TriggerPrice (1102)的TriggerPriceDirection (1109)。
WebSocket 数据流
- WebSocket 市场数据流支持 URL 编码的 URL。
注意:以下变更预计于 2025-12-18 07:00 UTC 左右生效:
- ICEBERG_PARTS 将对所有交易对提升至 25。
- FIX SBE 支持 将上线。
- 一个订单支付另一个订单(OPO) 将在所有交易对上线。
opoAllowed将开始出现在Exchange Information请求中,指示每个交易对是否支持一个订单支付另一个订单(OPO)。- REST API:
GET /api/v3/exchangeInfo - WebSocket API:
exchangeInfo
- REST API:
- OPO 新请求:
- REST API:
POST /api/v3/orderList/opoPOST /api/v3/orderList/opoco
- WebSocket API:
orderList.place.opoorderList.place.opoco
- FIX API:
- NewOrderList
<E>新增字段OPO (25046)。请更新至最新 QuickFIX 模式以支持 OPO。
- NewOrderList
- REST API:
- 新增 STP 模式
TRANSFER。STPTRANSFER启用的具体日期尚未确定。 - SBE:新增 schema 3:2 版本 (spot_3_2.xml)。
- 当前 schema 3:1 (spot_3_1.xml) 已被弃用,将根据我们的 schema 弃用政策在 6 个月后停用。
- 3:2 版本变更:
- 为
selfTradePreventionMode和allowedSelfTradePreventionModes新增枚举值TRANSFER。 - 所有低于 3:1 的 schema 无法返回包含 STP 模式
TRANSFER的响应(例如 Exchange Information、下单、撤单或订单状态查询)。
当响应无法用请求的 schema 表示时,将返回错误。
- 为
- FIX API 变更:
LastFragment (893)被弃用。- 这意味着 MarketIncrementalRefresh
<X>消息将不再分片,可能包含超过 10,000 条目。 - 文档已更新以反映此变更。
- 这意味着 MarketIncrementalRefresh
- ListStatus
<N>将不再发送可选的symbol字段。- 适用于 FIX 订单接入和 FIX Drop Copy。
- 文档已更新以反映此变更。
2025-11-14
- 全市场所有交易对的完整Ticker(
!ticker@arr)已被弃用;这意味着该接口将在后续从文档和系统中移除,具体时间另行通知。 - 请改用
<symbol>@ticker或!miniTicker@arr。
2025-11-12
- 关于如何正确管理本地订单簿的步骤已被修正。
2025-11-11
SBE 市场数据流
- 从 2025 年 11 月 26 日 07:00 UTC 起,
<symbol>@depth和<symbol>@depth20数据流的更新速度将变为 50 毫秒。
2025-11-10
- 除了更新日志之外,所有文档中的“最近更新”日期将被移除。
- 今后,更新日志将作为所有文档变更时间的唯一参考来源。
2025-10-28
注意:以下变更将于 2025 年 10 月 28 日 04:00 (UTC) 推出,可能需要几个小时才能完成部署。
- 可选参数
symbolStatus已添加到以下端点:- REST API
GET /api/v3/depthGET /api/v3/ticker/priceGET /api/v3/ticker/bookTickerGET /api/v3/ticker/24hrGET /api/v3/ticker/tradingDayGET /api/v3/ticker
- WebSocket API
depthticker.priceticker.bookticker.24hrticker.tradingDayticker
- REST API
- 当提供参 数
symbolStatus=<STATUS>时,只有交易状态与指定的STATUS相匹配的交易对才会包含在响应中:- 如果使用
symbol=<SYMBOL>参数指定单个交易对,但是这个交易对的状态与指定的STATUS不匹配时,端点将返回错误代码-1220 SYMBOL_DOES_NOT_MATCH_STATUS。 - 如果使用
symbols=[...]参数指定了多个交易对,那么响应将是一个数组。该数组中将不会包括交易状态与STATUS不匹配的交易对。当 symbols 参数中所指定的交易对中没有任何一个交易对的状态与STATUS相匹配时,响应将为一个空数组。 - 对于
symbol和symbols参数为可选参数的端点,省略这些参数将被视为在symbols=[...]参数中指定了所有交易对。有关symbolStatus=<STATUS>的行为,请参阅上一行。
- 如果使用
2025-10-24
SBE
- SBE:schema 3:1(spot_3_1.xml)已更新,支持保证金交易的listenToken 订阅方法。
REST 和 WebSocket API
根据 2025-04-07 的公告,所有关于在 wss://stream.binance.com 上使用 listenKey 的文档已被移除。请参阅以下请求和方法列表以获取详细信息。
该功能将在未来发布停用公告之前继续可用。
特此提醒您: 您应该通过订阅 在 WebSocket API 内的账户信息流 来获得用户账户更新。这样可以提供更好的性能(更低的延迟)。
请参阅下方请求和方法列表来了解更多详情。
这些功能将持续可用,直至另行发布停用公告。
-
REST API
POST /api/v3/userDataStreamPUT /api/v3/userDataStreamDELETE /api/v3/userDataStream
-
WebSocket API
userDataStream.startuserDataStream.pinguserDataStream.stop
2025-10-21
REST 和 WebSocket API:
- 注意:根据我们的 SBE 政策,在被废止 6 个月后, SBE 2:1 模式将于 2025 年 10 月 24 日被禁用。
- 面向生产的 SBE 生命周期 已基于本次更改进行了更新。
2025-10-08
- 更新了用于 FIX 市场数据的 QuickFIX Schema:
- 更新了
RecvWindow(25000),以便对在 2025-08-12 公布的微秒级进行支持。 - 更新了
InstrumentList消息:- 新增字段:
StartPriceRange、EndPriceRange。 - 以下字段改为可选:
MinTradeVol、MaxTradeVol、MinQtyIncrement、MarketMinTradeVol、MarketMaxTradeVol、MarketMinQtyIncrement、MinPriceIncrement。
- 新增字段:
- InstrumentList
<y>的变更属于破坏性变更,预计将于 2025-10-23 07:00 UTC 左右发布。请在此之前更新到新的模式。 - 在SPOT 测试网 上已经启用了这个重大更改。
- 更新了
2025-09-29
注意:以下变更将于 2025 年 9 月 29 日 10:00 (UTC) 推出,可能需要几个小时才能完成部署。
- 新增一个端 点,用于检索与指定交易品种的账户相关的过滤器列表。这是唯一一个目前会显示账户是否应用了
MAX_ASSET过滤器的端点。- REST API:
GET /api/v3/myFilters - WebSocket API:
myFilters
- REST API:
- 对 SBE: schema 3:1 (spot_3_1.xml) 中的部分注释进行了添加、修改和删除。虽然
3:1用户无需更新到此版本的模式,但我们建议您进行更新以保持一致性。 - 新增了有关过滤器
MAX_ASSET的文档。
2025-09-18
- 更新了文档中有关
recvWindow的部分, 用以体现在 2025-08-12 发表的微秒级支持。
2025-09-12
- 更新了 FIX 订单接入 API 的 QuickFix 模式,用以支持挂钩订单。
- 在 FIX API 文档中, 对以下部分的
RecvWindow进行了更新:
2025-08-28
- 更新了 “简单二进制编码(SBE)常见问题” 文档中 关于对旧版本的支持 部分,增加了关于模式兼容性的更多细节,并解释了
NonRepresentable和NonRepresentableMessage的用法。
2025-08-26
- 更新了 REST API 和 WebSocket API 文档的 “请求鉴权类型” 部分,不过相关的功能没有改动。
2025-08-25
- SBE: 模式 3:1 (spot_3_1.xml)将于2025-08-25 05:00 UTC 进行更新。
- 以下字段已被重命名,用于解决通过 SbeTool 代码生成器所生成的 Java 代码被发现无法进行编译的问题。
- 虽然只有受此问题影响的用户才需要更新模式文档,但我们建议所有用户都升级到最新版本以保持一致性。
- 消息
MaxAssetFilter- 字段
limitExponent重命名为qtyExponent - 字段
limit重命名为maxQty
- 字段
- 以下字段已被重命名,用于解决通过 SbeTool 代码生成器所生成的 Java 代码被发现无法进行编译的问题。
2025-08-19
userDataStream.subscribe在响应中返回subscriptionId。
这在 previous 变更日志条目中被遗漏了
2025-08-12
通知: 本节中的更改将逐步推出,需要大约两周时间才能完成部署。
常规更改
- 新的错误代码
-1120和1211。有关详情,请参阅 错误代码汇总。 - 以下请求包含一个名为
specialCommission的新结构。请参阅 佣金率。- REST API
GET /api/v3/account/commissionPOST /api/v3/order/test并设置computeCommissionRates=truePOST /api/v3/sor/order/test并设置computeCommissionRates=true
- WebSocket API
account.commissionorder.test并设置computeCommissionRates=truesor.order.test并设置computeCommissionRates=true
- REST API
- SBE: 新模式 3:1 (spot_3_1.xml) 将可以使用。
- 现行模式 3:0 (spot_3_0.xml) 将会被废止并根据我们的废止政策,在6个月内停止使用。
- 模式 3:1 中的更改:
ExchangeInfoResponse:增加新字段pegInstructionsAllowedExecutionReportEvent:增加新字段pricePeg,pricePegOffsetLevel和peggedPriceUserDataStreamSubscribeResponse:新字段subscriptionId- 所有的用户数据流事件都增加了新字段
subscriptionId。 - 对于
WebSocketSessionLogonResponse,WebSocketSessionStatusResponse和WebSocketSessionLogoutResponse,字段apiKey被改名为loggedOnApiKey OrderTestWithCommissionsResponse:增加2个新字段specialCommissionForOrderMaker和specialCommissionForOrderTakerAccountCommissionResponse:增加4个新字段specialCommissionMaker,specialCommissionTaker,specialCommissionBuyer和specialCommissionSeller- 支持
EXCHANGE_MAX_NUM_ORDER_LISTS,MAX_NUM_ORDER_LISTS和MAX_NUM_ORDER_AMENDS过滤器。 ExecutionReportEvent:字段rejectReason和origClientOrderId在 SBE 格式也会显示它们的默认值,以和 JSON 格式保持一致,NonRepresentableMessage:添加了一条新消息,用于表示无法使用现有schema ID和version来显示的信息。收到此消息则表示应该有可用内容,但不适用于当前使用的 SBE 模式。
- 最终状态为
EXPIRED_IN_MATCH(即因 STP 而过期的订单)且累计数量为 0 的订单将在 90 天后做归档处理。 - 查询订单列表请求将首先查询缓存中的数据,如果找不到,再去查询数据库。
- REST API:
GET /api/v3/openOrderLists - WebSocket API:
openOrderLists.status
- REST API:
WebSocket API
- 单个 WebSocket 连接可以同时订阅多个用户数据流。
- 单个连接上,每个帐户只能有一个订阅。
- 新增了
userDataStream.subscribe.signature方法,允许您无需事先登录即可订阅用户数据流。- 此方法也不需要 Ed25519 API 密钥,并且可以与任何 API Key 类型 配合使用。
- 为了获得 SBE 支持,您至少需要使用架构 3:1。
- 新增了
session.subscriptions方法,用于列出当前会话中所有有效的订阅。 - 会话请求中字段
userDataStream的含义略有变化。- 之前,如果您订阅了已登录帐户的用户数据流,则此方法返回
true。 - 现在,如果您至少有一个有效的用户数据流订阅,它将返回
true,否则为false。
- 之前,如果您订阅了已登录帐户的用户数据流,则此方法返回
userDataStream.unsubscribe支持关闭多个订阅。- 调用时不带参数,将关闭所有订阅。
- 调用时传入
subscriptionId,如果该 ID 存在的话,将尝试关闭与该 ID 匹配的订阅。 - 此请求的授权已更改为
NONE。
- 通过 WebSocket API 进行监听时,用户数据流事件负载中新增了字段
subscriptionId。这个字段会标识事件来自哪个订阅。
FIX API
- 当客户端发送拒绝消息时,FIX API 将不再向客户端返回
<3>拒绝消息。 - 现在,当标签无效、缺少值、字段值为空或格式错误时,错误消息将更加清晰明了。
-
{"code": -1169, "msg": "Invalid tag number."} -
{"code": -1177, "msg": "Tag specified without a value."} -
{"code": -1102, "msg": "Field value was empty or malformed."}
-
将会发生的更改
以下变更将于2025-08-27 07:00 UTC 开始发生:
- 交易所信息请求将发送字段
pegInstructionsAllowed。 - 已修复的问题:撮合引擎不会再接受数量超出订单数量过滤器上限的订单列表。受到影响的过滤器包括:
MAX_NUM_ORDERSMAX_ALGO_ORDERSMAX_ICEBERG_ORDERSEXCHANGE_MAX_NUM_ORDERSEXCHANGE_MAX_ALGO_ORDERSEXCHANGE_MAX_ICEBERG_ORDERS
以下变更将于2025-08-28 07:00 UTC 开始发生:
- 挂钩订单 功能将可以使用。
pegInstructionsAllowed将在所有的交易对上被设为true, 在所有的 API 上正式启用挂钩订单相关功能。- 如果订单是挂钩订单,那么以下条件字段
pegPriceType,pegOffSetType,pegOffsetValues和peggedPrice将出现在以下请求的响应中:- REST API
GET /api/v3/orderGET /api/v3/orderListGET /api/v3/openOrderListGET /api/v3/allOrdersDELETE /api/v3/orderDELETE /api/v3/orderListDELETE /api/v3/openOrdersPUT /api/v3/order/amend/keepPriority
- WebSocket API
order.statusorderList.statusallOrdersorder.cancelorderList.cancelopenOrders.cancelAllorder.amend.keepPriority
- REST API
- FIX API
OrdType(40)支持新的数值P(PEGGED)- 字段
PegOffsetValue(211),PegPriceType(1094),PegMoveType(835)和PegOffsetType(836)被添加到以下消息中:- NewOrderSingle
<D> - NewOrderList
<E> - OrderCancelRequestAndNewOrderSingle
<XCN>
- NewOrderSingle
- 下单时,
ExecutionReport<8>消息将回显 PegInstructions,并带有一个额外的可选字段PeggedPrice (839)
- 添加了新的挂钩订单错误消息。欲知详情,请参阅 错误代码汇总 文档。
recvWindow上的变更将被启用。- 当您的消息离开我方的消息代理后,在即将发送到撮合引擎之前,将进行第三次检查。
- 这不包括撮合引擎本身内部的潜在延迟。
recvWindow支持微秒级。- 该值仍然以毫秒为单位指定,但现在可以采用小数部分来指定更高的精度。
- 这意味着该参数现在支持最大精度为 3 位小数。(例如, 6000.346)
- 受影响的 API:
- FIX API
- REST API
- WebSocket API
- 当您的消息离开我方的消息代理后,在即将发送到撮合引擎之前,将进行第三次检查。
- 新的
MAX_NUM_ORDER_LISTS过滤器将被启用:会允许每个交易对上最多有 20 个订单列表挂单。 - 新的
MAX_NUM_ORDER_AMENDS过滤器将被启用:会以 10 次为上限来限制订单修改次数。
2025-08-07
- 更新了 FIX API 文档
- FIX 市场数据限制:订阅限制一直存在,但之前未有文档说明。
- 消息处理顺序:重新措辞并调整了格式。
2025-07-03
- 自 2025-07-08 07:00 UTC 起,WebSocket 账户接口 将会进行升级。
- 升级期间,现有连接和新连接可能会在 24 小时内断开。
- 升级过程最多可能需要 2 小时。若有不便之处,敬请谅解。
2025-06-04
REST 和 WebSocket API:
- 注意:根据我们的 SBE 政策,在被废止 6 个月后, SBE 2:0 模式将于 2025 年 06 月 12 日被禁用。
- 面向生产的 SBE 生命周期 已基于本次更改进行了更新。
2025-05-28
2025-05-22
注意:以下变更将于 2025 年 6 月 6 日 7:00 (UTC) 生效。
- 将通过一项额外的检查,对 FIX、REST 和 WebSocket API 上先前关于
recvWindow的行为进行强化。- 让我们回顾一下现有行为:
- 如果在接收请求时,
timestamp大于serverTime+ 1 秒,则请求会被拒绝。此检查被拒绝的话,将会增加消息限制(FIX API)和 IP 限制(REST 和 WebSocket API),但不会增加未成交订单计数(所有 API 的下单端点)。 - 如果在接收请求时,
timestamp和serverTime之间的差值大于recvWindow,则请求被拒绝。此检查被拒绝的话,将会增加消息限制(FIX API)和 IP 限制(REST 和 WebSocket API),但不会增加未成交订单计数(所有 API 的下单端点)。
- 如果在接收请求时,
- 附加检查:
- 在请求转发到撮合引擎之前,如果
timestamp与当前serverTime之间的差值大于recvWindow,则拒绝该请求。此检查被拒绝的话,将会增加消息限制(FIX API)、IP 限制(REST 和 WebSocket API)以及未成交订单计数(所有 API 的下单端点)。
- 在请求转发到撮合引擎之前,如果
- 已更新 Timing 安全性文档,以反映新增的附加检查。
- 让我们回顾一下现有行为:
- 修复了 FIX Market Data 消息 InstrumentList
<y>中的一个错误。之前,NoRelatedSym(146)的值可能会不正确。
2025-04-29
- 目前需要 Ed25519 API 密钥才能使用的功能将很快会对 HMAC 和 RSA 密钥开放。
- 例如,在 listenKeys 被移除前,您可以使用任何 API 密钥类型在 WebSocket API 中订阅账户数据流。
- 我们仍然鼓励用户迁移到 Ed25519 API 密钥,因为它们 在币安现货交易中更安全、性能更佳。
- 更多详情即将公布,敬请关注,不要错过。
2025-04-25
- 以下请求权重将从 1 增加到 4:
- REST API:
PUT /api/v3/order/amend/keepPriority - WebSocket API:
order.amend.keepPriority - REST 和 WebSocket API 的文档均已更新,以反映即将发生的更改。
- REST API:
- 澄清了 FIX-API 中的
SEQNUM是一个累计到最大值后将会归 0,然后重新开始计数的 32 位无符号整数。自 FIX-API 诞生以来,它一直是SEQNUM数据类型。
2025-04-21
关于 保留优先级的修改订单请求 (Order Amend Keep Priority) 和 STP 方式 DECREMENT(递减) 发布的说明:
- 于 2025-05-07 07:00 UTC
- 所有交易对将启用 ”保留优先级的修改订单请求“ 功能。
- 所有交易对将允许 “STP 递减”。
- 自2025年4月24日 07:00 UTC起,
amendAllowed字段将在交易所信息请求中可见,但该功能尚未启用。 - SPOT 测试网 在所有交易对上都启用了这两项功能。
2025-04-08
通知: 本节中的更改将逐步推出,需要一周时间才能完成.
- 新的错误代码
-2039,如果查询同时具有orderId和origClientOrderId的订单,并且未找到具有此组合的订单.- 受影响的请求:
- REST API:
GET /api/v3/order - WebSocket API:
order.status
- REST API:
- 受影响的请求:
- 错误代码文档 在错误代码
-1034中更新了新的错误消息, 当超过 FIX 连接速率限制时会出现。(更多细节参看昨天的 更新)
2025-04-07
常规更改
通知: 本节中的更改将逐步推出,需要一周时间才能完成.
- 在2025 年 1 月 16 日,FIX Market Data 会话的连接限制从 5 个增加到了 100 个。这个改变没有在之前的更改日志中被明示。
- 新的错误代码
-2038,将在保留优先权的修改订单请求失败时出现。 - 错误代码
-1034有了新消息。 - 如果未成交订单计数超过了在
intervalNum:DAY里定义的限制, 那么intervalNum:SECOND下的未成交订单计数将不再递增。 - 以前,无论提供的参数如何,myTrades 请求的权重都是 20。现在,如果您提供
orderId,请求的权重将为 5。- REST API:
GET /api/v3/myTrades - WebSocket API:
myTrades
- REST API:
- 查询和删除订单的变化:
- 现在,当
orderId和origClientOrderId都不存在时,请求将被拒绝,并显示-1102而不是-1128。 - 受影响的请求:
- REST API:
GET /api/v3/orderDELETE /api/v3/order
- WebSocket API:
order.statusorder.cancel
- FIX API:
- OrderCancelRequest
<F>
- OrderCancelRequest
- REST API:
- 现在,当
FIX API
通知: 以下变更将于 2025 年 4 月 21 日期间发生。
- FIX API 会验证
EncryptMethod(98)在登录 Logon<A>时是否为 0。 - FIX 订单接入会话的每个账户有 10 个并发 TCP 连接的限制。
- 现在强制实施连接速率限制.请注意,这些限制是针对账户和 IP 地址独立检查的。
- FIX 订单接入会话:在 30 秒内 15 次连接尝试的限制
- FIX Drop Copy 会话:在 30 秒内 15 次连接尝试的限制。
- FIX Market Data 会话:在 300 秒内 300 次连接尝试的限制。
- News
<B>在 Headline 字段中包括了一个倒计时消息。- 在本次更新完成后: 当服务器进入维护状态时,将向客户端每隔 10 秒发送一条
News消息,并持续 10 分钟。在10分钟过后,客户端将被注销,其会话将被关闭。
- 在本次更新完成后: 当服务器进入维护状态时,将向客户端每隔 10 秒发送一条
- OrderCancelRequest
<F>和 OrderCancelRequestAndNewOrderSingle<XCN>现在允许使用orderId和clientOrderId。 - FIX 订单接入会话的 QuickFix 模式 已被更新,将支持保留优先级的修改订单请求(Order Amend Keep Priority)和新的 STP 方式
DECREMENT。
User Data Streams
- 我们将弃用此功能: 通过使用
listenKey来访问 wss://stream.binance.com:9443 以监听账户信息的。- 以后但不是当前,此功将被能从我们的系统中删除。
- 您应该通过订阅 在 WebSocket API 内的账户信息流 来获得用户账户更新。
- 这个方式会提供稍好的性能 (较低的延迟)。
- 必须使用 Ed25519 API 密钥
- 在未来的更新中,将删除有关账户数据流的 WebSocket 基本访问地址的信息。
- 在未来的更新中,以下请求将被从文档中删除:
POST /api/v3/userDataStreamPUT /api/v3/userDataStreamDELETE /api/v3/userDataStreamuserDataStream.startuserDataStream.pinguserDataStream.stop
- WebSocket 账户接口文档 将保留可以接收的有效负载,以供您参考。
将会发生的更改
以下变更将于2025 年 4 月 24 日 07:00 UTC发生:
保留优先级的修改订单请求(Order Amend Keep Priority) 将可以使用。 (请注意,必须在相应交易对上启用该功能后才能使用。)- 新字段
amendAllowed会出现在 Exchange Information 响应中。- 2025-04-21 更新 :"保留优先级的修改订单请求" 的具体启用日期尚未确定
- REST API:
GET /api/v3/exchangeInfo - WebSocket API:
exchangeInfo
- FIX API:新的 Order Entry 消息 OrderAmendKeepPriorityRequest 和 OrderAmendReject
- REST API:
PUT /api/v3/order/amend/keepPriority - WebSocket API:
order.amend.keepPriority
- 新字段
如果已在交易对上作了相应配置,那么 STP 方式DECREMENT(递减) 将在 Exchange Information 中可见。- 2025-04-21 更新 :"STP 方式 DECREMENT" 的具体启用日期尚未确定。
- 通过不仅仅使挂单或吃单过期,或无条件地让两种订单都过期,STP 递减会减少两种订单的可用数量,并将通过阻止匹配的数量来增加两种订单的
prevented quantity值。 - 这将使可用数量较少的订单过期,因为(
filled quantity+prevented quantity)等于order quantity。如果两个订单的可用数量相等,那么两个订单都将过期。这种情况被称为“递减”,因为可用数量减少了。
- 使用
orderId和origClientOrderId/cancelOrigClientOrderId来查询和/或取消订单:- 以前,当两个参数都提供时,在各个端点的上行为并不一致。
- 以后,当同时提供两个参数时,系统首先将会使用订单的
orderId来搜索订单。如果订单被找到,origClientOrderId/cancelOrigClientOrderId的值将会被用来验证被找到的订单。如果两个检测条件都通过,那么请求成功。如果两个条件都不满足,则请求将被拒绝。 - 受影响的请求:
- REST API:
GET /api/v3/orderDELETE /api/v3/orderPOST /api/v3/order/cancelReplace
- WebSocket API:
order.statusorder.cancelorder.cancelReplace
- FIX API:
- OrderCancelRequest
<F> - OrderCancelRequestAndNewOrderSingle
<XCN>
- OrderCancelRequest
- REST API:
- 使用
listOrderId和listClientOrderId来取消订单:- 以前,当两个参数都提供时,在各个端点的上行为并不一致。
- 以后,当同时提供两个参数时,系统首先将会使用
listOrderId来搜索订单列表。如果找到相应的订单列表,listClientOrderId将会被用来验证被找到的订单列表。如果两个条件都不满足,请求将被拒绝。 - 受影响的请求
- REST API
DELETE /api/v3/orderList
- WebSocket API
orderList.cancel
- REST API
- SBE: 新模式 3:0 (spot_3_0.xml) 将可以使用。
- 现行模式 2:1 (spot_2_1.xml) 将会被废止并根据我们的废止政策,在6个月内停止使用。
- 请注意:在新模式被发布前,尝试使用模式 3:0 将导致错误。
- 3:0 中的更改:
- 将会支持保留优先级的修改订单(Order Amend Keep Priority)请求:
- 在 ExchangeInfoResponse 中添加了
amendAllowed字段。 - 新消息
OrderAmendmentsResponse和OrderAmendKeepPriorityResponse。
- 在 ExchangeInfoResponse 中添加了
- 所有的枚举类型都有了新变量:
NON_REPRESENTABLE。这将用于将来,对新的枚举值进行编码。新模式的枚举类型可能会与 3:0 不兼容。 - 新增针对
selfTradePreventionMode和allowedSelfTradePreventionModes的新枚举变量DECREMENT。 symbolStatus枚举下的值AUCTION_MATCH,PRE_TRADING以及POST_TRADING已被删除。- 字段
usedSor,orderCapacity,workingFloor,preventedQuantity以及matchType将不再是可选的参数。 - 更改了
ExecutionReportEvent:现在,字段orderCreationTime是可选的。
- 将会支持保留优先级的修改订单(Order Amend Keep Priority)请求:
- 通过 WebSocket API 来使用被废止的 2:1 版本的模式来侦听账户数据流:
ListStatusEvent的字段listStatusType在Updated时,会呈现为ExecStarted。升级到模式 3:0 来获取正确的值。ExecutionReportEvent的字段selfTradePreventionMode在Decrement时,会呈现为None。 这将只在executionType为TradePrevention时发生。ExecutionReportEvent的字段orderCreationTime在没有值时将呈现为 -1。
- 所有低于 3:0 版本的模式不会支持对保留优先级修改订单请求(Order Amend Keep Priority)的响应,以及任何可能包含 STP 方式
DECREMENT的响应(比如,Exchange Information,下单,取消订单或查询您的订单状态)。当响应无法用被指定的模式来表达时,系统将返回错误。
2025-04-03
关注 SPOT 测试网的最新更新,将 WebSocket API 中的 URL 更新为 [SPOT Testnet] 的最新 URL(https://testnet.binance.vision/).
2025-03-31
- 添加了对取消订单性能的说明.
2025-03-10
- 注意:以下变更将于 2025 年 3 月 13 日 09:00 UTC 发生。
- FIX Drop Copy 会话的限制将会为每分钟 60 条消息。
- FIX Market Data 会话的限制将会为每分钟 2000 条消息。
- FIX API 文档已更新,以反映即将发生的更改。
- SBE 市场数据流将于 2025 年 3 月 18 日 07:00 UTC 上线。 这些流会提供较小的有效负载,将为部分对延迟比较敏感的市场数据连接提供更快的响应时间。
- 以 SBE 格式提供的数据流:
- 实时:逐笔交易
- 实时:最优挂单信息
- 每 100 毫秒:增量深度信息
- 每 100 毫秒:有限档深度信息
- 有关更多信息,请参阅 SBE 市场数据连流。
2025-03-05
- 注意:以下变更将于 2025 年 3 月 10 日 12:00 UTC 发生。
以下请求权重将从 2 增加到 4:- REST API:
GET /api/v3/aggTrade - WebSocket API:
trades.aggregate
- REST API:
- REST 和 WebSocket API 的文档均已更新,以反映即将发生的更改。
2025-02-12
- **注意:这些更改将于 2025 年 2 月 26 日 05:00 UTC 生效。请确保在此之前您已下载最新的模式。
AggressorSide (2446)将在 FIX 市场数据流中提供。QuickFIX 模式 file 也已更新。
2024-01-28
注意: 该变更会在2025年2月3日到2025年2月14日之间逐步推出。
- 以下变更将会同时应用于WebSocket 市场数据流,WebSocket 账户接口 和 WebSocket API:
- WebSocket 服务将会每20秒发送发送 PING 消息而不是每3分钟。
- PONG 消息的延迟将会是每1分钟而不是每10分钟。
- 相关服务的更改所对应的文档都已经更新。
2025-01-09
- FIX 市场数据将在 January 16, 05:00 UTC 提供。FIX API 文档已更新有关此功能。
- 请参阅此 [链接](https://github.com/binance/binance-spot-api-docs/blob/master/fix/schemas/spot-fix-md.xml) 以获取 FIX市场数据的 QuickFIX 模式。
2024-12-17
常规更改:
系统现在在所有相关时间和/或时间戳的字段中支持微秒。微秒支持是 opt-in,默认情况下,请求和响应仍然使用毫秒。文档中的示例也在可预见的将来使用毫秒。
WebSocket Streams
- 可以在连接 URL 中使用新的可选参数
timeUnit来 选择时间单位。- 例如:
/stream?streams=btcusdt@trade&timeUnit=millisecond - 支持的值为:
MILLISECONDmillisecondMICROSECONDmicrosecond
- 如果未选择时间单位,则默认使用毫秒。
- 例如:
REST API
- 可以在请求中发送新的可选报文头
X-MBX-TIME-UNIT来选择时间单位。- 支持的值:
MILLISECONDmillisecondMICROSECONDmicrosecond
- 时间单位会影响 JSON 响应中的时间戳字段(例如,
time、transactTime)。- 无论时间单位如何,SBE 响应都将继续以微秒为单位。
- 如果未选择时间单位,则默认使用毫秒。
- 支持的值:
- 时间戳参数(例如 'startTime'、'endTime'、'timestamp)' 现在可以以毫秒或微秒为单位传递。
WebSocket API
- 可以在连接 URL 中使用新的可选参数
timeUnit来选择时间单位。- 支持的值:
MILLISECONDmillisecondMICROSECONDmicrosecond
- 时间单位会影响 JSON 响应中的时间戳字段(例如,
time、transactTime)。- 无论时间单位如何,SBE 响应都将继续以微秒为单位。
- 如果未选择时间单位,则默认使用毫秒。
- 支持的值:
- 时间戳参数(例如
startTime、endTime、timestamp) 现在可以以毫秒或微秒为单位传递。
User Data Streams
- 可以在连接 URL 中使用新的可选参数
timeUnit来选择时间单位。- 支持的值
MILLISECONDMICROSECONDmicrosecondmillisecond
- 支持的值
2024-12-09
注意: 以下的变更会从2024 年 12 月 12日开始推出,可能需要大约一周的时间才能完成。
常规更改:
- 现在会拒绝距离过去或未来太远的时间戳参数值。
- 时间戳数值在 2017 年 1 月 1 日之前(小于 1483228800000)
- 时间戳数值超过当前时间 10 秒以后(例如,如果当前时间为 1729745280000, 那么使用 1729745290000 或更大是错误的)
- 如果
startTime和/或endTime的值超出范围,数值会被调整至正确的范围。 - 已将
quote order quantity(origQuoteOrderQty) 字段添加到原先没有该字段的响应中。请注意,对于下单相关的接口,该字段将仅针对newOrderRespType设置为RESULT或FULL的请求显示。
请参阅以下列表,以便了解因带有: origQuoteOrderQty 而受影响的请求:
| 服务 | 请求 |
|---|---|
| REST | POST /api/v3/order |
POST /api/v3/sor/order | |
POST /api/v3/order/oco | |
POST /api/v3/orderList/oco | |
POST /api/v3/orderList/oto | |
POST /api/v3/orderList/otoco | |
DELETE /api/v3/order | |
DELETE /api/v3/orderList | |
POST /api/v3/order/cancelReplace | |
| WebSocket API | order.place |
sor.order.place | |
orderList.place | |
orderList.place.oco | |
orderList.place.oto | |
orderList.place.otoco | |
order.cancel | |
orderList.cancel | |
order.cancelReplace |
SBE
- 已发布新模式 2:1 spot_2_1.xml。 当前模式 2:0 spot_2_0.xml 将被弃用。根据我们的模式弃用政策,当前模式 2:0 会将在 6 个月内从 API 中停用。
- 模式 2:1 是 模式 2:0 的向后兼容更新版本。当您请求模式 2:0 或 2:1 时,您将始终收到 2:1 格式的有效载荷。
- SBE 模式 2:1 中的更改:
- 下单/取消订单响应中的新字段
origQuoteOrderQty(注意:使用 2:0 模式生成的解码器将忽略此字段):NewOrderResultResponseNewOrderFullResponseCancelOrderResponseNewOrderListResultResponseNewOrderListFullResponseCancelOrderListResponse
- 仅限 WebSocket API:会话状态响应中的新字段
userDataStream:WebSocketSessionLogonResponseWebSocketSessionStatusResponseWebSocketSessionLogoutResponse
- 仅限 WebSocket API:在 User Data Stream 中会支持的新消息:
UserDataStreamSubscribeResponseUserDataStreamUnsubscribeResponseBalanceUpdateEventEventStreamTerminatedEventExecutionReportEventExternalLockUpdateEventListStatusEventOutboundAccountPositionEvent
- 下单/取消订单响应中的新字段
WebSocket API
- 您现在可以通过 WebSocket API 连接订阅账户数据流事件。
- 请注意:此功能仅适用于使用 Ed25519 API 密钥的用户。
- 请注意:如果您要订阅使用 SBE 格式的账户数据流,则需使用新的 SBE 模式 2:1。
- 新请求:
userDataStream.subscribeuserDataStream.unsubscribe
- 对于
session.logon、session.status和session.logout的更改。- 添加了一个新字段
userDataStream,用于显示账户数据流订阅是否处于活跃状态。
- 添加了一个新字段
- 修复了在
session.logon之后使用userDataStream.start不会收到新 listenKey 的错误。
User Data Stream
- 仅限于 WebSocket API:当您从 websocket 会话注销或取消订阅账户数据流时,新事件
eventStreamTerminated将会被发出。 - 当您的现货钱包余额被外部系统锁定/解锁时,新事件
externalLockUpdate将会被发送。
FIX API
- 模式 中已添加了新的管理消息 News <B>,该消息可用于所有 FIX 服务。收到此消息意味着您的连接即将关闭。
以下更改将在2024 年 12 月 16 日到 2024 年 12 月 20日之间发生:
- 修复一个错误:
BUY方 OCO 单如果不提供stopPrice就会被阻止下单。 - 在 OCO 中添加了对
TAKE_PROFIT和TAKE_PROFIT_LIMIT的支持。- 以前,OCO 只能由以下订单类型组成:
LIMIT_MAKER+ 'STOP_LOSSLIMIT_MAKER+STOP_LOSS_LIMIT
- 现在,OCO 可以由以下订单类型组成:
LIMIT_MAKER+STOP_LOSSLIMIT_MAKER+STOP_LOSS_LIMITTAKE_PROFIT+STOP_LOSSTAKE_PROFIT+STOP_LOSS_LIMITTAKE_PROFIT_LIMIT+STOP_LOSSTAKE_PROFIT_LIMIT+STOP_LOSS_LIMIT
- 以下请求支持此功能:
POST /api/v3/orderList/ocoPOST /api/v3/orderList/otocoorderList.place.ocoorderList.place.otocoNewOrderList<E>
- 错误代码 -1167 将在此次更新后过时,并将在以后的更新中从文档中删除。
- 以前,OCO 只能由以下订单类型组成:
2024-10-18
Rest 和 WebSocket API:
- 注意:根据我们的 SBE 政策,SBE 1:0 模式将于 2024 年 10 月 25 日被禁用 废止后 6 个月。
- 面向生产的 SBE 生命周期 已基于本次更改进行了更新。
2024-10-17
Exchange Information 的更改 (即 REST API 的 GET /api/v3/exchangeInfo 和 WebSocket API 的 exchangeInfo)。
- 新的可选参数
showPermissionSets可用于隐藏permissionsSets的权限信息;这可用于减小消息大小。 - 新的可选参数
symbolStatus用于仅显示具有指定状态的交易对。(例如:TRADING,HALT,BREAK)