更新日志
最近更新: 2025-08-12
2025-08-12
通知: 本节中的更改将逐步推出,需要大约两周时间才能完成部署。
常规更改
- 新的错误代码
-1120
和1211
。有关详情,请参阅 错误代码汇总。 - 以下请求包含一个名为
specialCommission
的新结构。请参阅 佣金率。- REST API
GET /api/v3/account/commission
POST /api/v3/order/test
并设置computeCommissionRates=true
POST /api/v3/sor/order/test
并设置computeCommissionRates=true
- WebSocket API
account.commission
order.test
并设置computeCommissionRates=true
sor.order.test
并设置computeCommissionRates=true
- REST API
- SBE: 新模式 3:1 (spot_3_1.xml) 将可以使用。
- 现行模式 3:0 (spot_3_0.xml) 将会被废止并根据我们的废止政策,在6个月内停止使用。
- 模式 3:1 中的更改:
ExchangeInfoResponse
:增加新字段pegInstructionsAllowed
ExecutionReportEvent
:增加新字段pricePeg
,pricePegOffsetLevel
和peggedPrice
UserDataStreamSubscribeResponse
:新字段subscriptionId
- 所有的用户数据流事件都增加了新字段
subscriptionId
。 - 对于
WebSocketSessionLogonResponse
,WebSocketSessionStatusResponse
和WebSocketSessionLogoutResponse
,字段apiKey
被改名为loggedOnApiKey
OrderTestWithCommissionsResponse
:增加2个新字段specialCommissionForOrderMaker
和specialCommissionForOrderTaker
AccountCommissionResponse
:增加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_ORDERS
MAX_ALGO_ORDERS
MAX_ICEBERG_ORDERS
EXCHANGE_MAX_NUM_ORDERS
EXCHANGE_MAX_ALGO_ORDERS
EXCHANGE_MAX_ICEBERG_ORDERS
以下变更将于2025-08-28 07:00 UTC 开始发生:
- 挂钩订单 功能将可以使用。
- pegInstructionsAllowed
将在所有的交易对上被设为
true`, 在所有的 API 上正式启用挂钩订单相关功能。 - 如果订单是挂钩订单,那么以下条件字段
pegPriceType
,pegOffSetType
,pegOffsetValues
和peggedPrice
将出现在以下请求的响应中:- REST API
GET /api/v3/order
GET /api/v3/orderList
GET /api/v3/openOrderList
GET /api/v3/allOrders
DELETE /api/v3/order
DELETE /api/v3/orderList
DELETE /api/v3/openOrders
PUT /api/v3/order/amend/keepPriority
- WebSocket API
order.status
orderList.status
allOrders
order.cancel
orderList.cancel
openOrders.cancelAll
order.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)
- 添加了新的挂钩订单错误消息。欲知详情,请参阅 错误代码汇总 文档。
- pegInstructionsAllowed
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/order
DELETE /api/v3/order
- WebSocket API:
order.status
order.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/userDataStream
PUT /api/v3/userDataStream
DELETE /api/v3/userDataStream
userDataStream.start
userDataStream.ping
userDataStream.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/order
DELETE /api/v3/order
POST /api/v3/order/cancelReplace
- WebSocket API:
order.status
order.cancel
order.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
- 添加了对取消订单性能的说明.