CHANGELOG for Binance SPOT Testnet
Last Updated: 2025-12-02
Note: All features here will only apply to the SPOT Testnet. This is not always synced with the live exchange.
2025-12-02
- QuickFix Schema for FIX OE has been updated to add
ExecutionReportTypefor FIX-SBE support.
2025-11-28
Notice: The following changes will be deployed starting from 2025-12-01 2:00 UTC and may take several hours to complete
General Changes
- Parameter
symbolandsymbolscan now support Unicode values encoded in UTF-8. - Following the announcement from 2025-11-14, all documentation related to
!ticker@arrhas been removed.- The feature will remain available until a future retirement announcement is made.
- Please use
<symbol>@tickeror!miniTicker@arrinstead.
FIX API
- Unicode values encoded in UTF-8 can now be accepted in FIX messages. This is allowed for the following tags only:
Currency (15)MiscFeeCurr (138)Symbol (55)SecondarySymbol (25019)CounterSymbol (25028)SecurityDesc (107)
- When Unicode is put in a tag value that is not one of the tags above, FIX API will now send back a
RefTagID (371)tag in the Reject<3>, pointing to exactly which tag is not allowed to contain Unicode. - NewOrderList
<E>acceptsTriggerPriceDirection (1109)withoutTriggerPrice (1102).
WebSocket Streams
- WebSocket Market Streams supports URL-encoded urls.
Notice: The following changes will occur at approximately 2025-12-02 11:00 UTC:
- FIX SBE support becomes available.
- One Pays the Other (OPO) becomes available on all symbols.
opoAllowedbegins to appear in Exchange Information requests, indicating if One-Pays-the-Other (OPO) orders are supported on each symbol.- REST API:
GET /api/v3/exchangeInfo - WebSocket API:
exchangeInfo
- REST API:
- New requests for OPO:
- REST API:
POST /api/v3/orderList/opoPOST /api/v3/orderList/opoco
- WebSocket API
orderList.place.opoorderList.place.opoco
- FIX API
- NewOrderList
<E>has fieldOPO (25046). Please update to the latest QuickFIX Schema for OPO support.
- NewOrderList
- REST API:
- STP mode
TRANSFERhas been added. The exact date that STPTRANSFERwill be enabled has not yet been determined. - SBE: A new schema 3:2 (spot_3_2.xml) is available.
- The current schema 3:1 (spot_3_1.xml) is deprecated and will be retired in 6 months as per our schema deprecation policy.
- Changes in 3:2:
- New enum variant
TRANSFERforselfTradePreventionModeandallowedSelfTradePreventionModes. - All schemas below 3:1 are unable to represent any response that could contain the STP mode
TRANSFER(e.g. Exchange Information, order placement, order cancellation, or querying the status of an order).
When a response cannot be represented in the requested schema, an error is returned.
- New enum variant
- FIX API changes:
LastFragment (893)becomes deprecated.- This means that the MarketIncrementalRefresh
<X>messages will no longer be fragmented and may contain more than 10,000 entries. - The documentation has been updated to reflect this change.
- This means that the MarketIncrementalRefresh
- ListStatus
<N>will no longer emit the optionalsymbolfield.- This applies to FIX Order Entry and FIX Drop Copy.
- The documentation has been updated to reflect this change.
2025-11-25
ICEBERG_PARTSwill be increased to 25 for all symbols.
2025-11-14
- All Market Tickers Stream (
!ticker@arr) has been deprecated; This means this will be removed both from the documentation and from our systems at a later date. More details to follow. - Please use
<symbol>@tickeror!miniTicker@arrinstead.
2025-11-12
- The steps on how to manage a local order book correctly has been corrected.
2025-11-11
SBE Market Data
- At 2025-11-11 07:00 UTC, the update speed of
<symbol>@depthand<symbol>@depth20streams will be changed to 50ms.- This change will apply automatically to all users of SBE Market Data and doesn't require any action.
- The total amount of data received per second will be increased (up to 2x).
- These new update speeds will take effect on the live exchange at 2025-11-26 07:00 UTC.
- SBE Market Data has been updated to reflect these changes.
2025-11-10
- "Last Updated" dates will be removed from all documents except for CHANGELOG.
- Moving forward, CHANGELOG will be the source of reference for when changes were made to any document.
2025-11-05
Data reset
All data on the Spot Test Network will be deleted today according to the periodic reset procedure. See F.A.Q. for more details.
2025-10-24
SBE
- SBE: schema 3:1 (spot_3_1.xml) has been updated to support listenToken Subscription Methods for Margin Trading.
REST and WebSocket API
Following the announcement from 2025-04-01, all documentation related with listenKey for use on wss://stream.binance.com has been removed.
Please refer to the list of requests and methods below for more information.
The features will remain available until a future retirement announcement is made.
REST API
POST /api/v3/userDataStreamPUT /api/v3/userDataStreamDELETE /api/v3/userDataStream
WebSocket API
userDataStream.startuserDataStream.pinguserDataStream.stop
2025-10-17
Notice: The following changes will be enabled at 2025-10-17 07:00 UTC
- An optional parameter,
symbolStatus, has been added to the following endpoints:- 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
- When the parameter
symbolStatus=<STATUS>is provided, only symbols whose trading status matches the specifiedSTATUSwill be included in the response:- If a single symbol is specified using the
symbol=<SYMBOL>parameter and its trading status does not match the givenSTATUS, the endpoint will return error code-1220 SYMBOL_DOES_NOT_MATCH_STATUS. - If multiple symbols are specified using the
symbols=[...]parameter, the response will be an array that excludes any symbols whose trading status does not matchSTATUS. If no symbols from the symbols parameter have a trading status that matchesSTATUS, the response is an empty array. - For endpoints where the
symbolandsymbolsparameters are optional, omitting these parameters is treated as if all symbols had been specified in thesymbols=[...]parameter. See the previous line for the behavior ofsymbolStatus=<STATUS>.
- If a single symbol is specified using the
2025-10-08
FIX API
Notice: The following changes will be enabled at 2025-10-08 07:00 UTC
- Updated QuickFIX Schema for FIX Market Data:
- Updated RecvWindow (25000) to reflect microsecond support announced on 2025-08-05.
- Updated InstrumentList
<y>message:- Added fields:
StartPriceRange,EndPriceRange. - Made the following fields optional:
MinTradeVol,MaxTradeVol,MinQtyIncrement,MarketMinTradeVol,MarketMaxTradeVol,MarketMinQtyIncrement,MinPriceIncrement.
- Added fields:
- The changes to InstrumentList
<y>are breaking changes. Please update to the new schema.
2025-10-01
Data reset
All data on the Spot Test Network will be deleted today according to the periodic reset procedure. See F.A.Q. for more details.
REST and WebSocket API:
- Reminder that SBE 2:1 schema will be retired on 2025-10-02, 6 months after being deprecated.
- The SBE lifecycle for Testnet has been updated to reflect this change.
2025-09-24
Notice: The following changes will be deployed on 2025-09-24, starting at 7:00 UTC and may take several hours to complete.
- Added an endpoint to retrieve the list of filters relevant to an account on a given symbol. This is the only endpoint that shows if an account has
MAX_ASSETfilters applied to it.- REST API:
GET /api/v3/myFilters - WebSocket API:
myFilters
- REST API:
- Comments in SBE: schema 3:1 (spot_3_1.xml) have been added, modified, and removed. Although there is no need for users of
3:1to update to this version of the file, we advise updating to maintain consistency. - Added documentation for filter
MAX_ASSET.- In
Testnetonly: all accounts have aMAX_ASSETfilter for assetJPYwith value set to1000000.
- In
2025-09-18
- Updated documentation for
recvWindowto reflect microsecond support announced on 2025-08-05.- REST API: Timing Security
- WebSocket API: Timing Security
2025-09-12
- The QuickFix schema for FIX Order Entry has been updated to support Pegged Orders.
- Updated FIX API Documentation for
RecvWindowin
2025-09-05
Data reset
All data on the Spot Test Network will be deleted today according to the periodic reset procedure. See F.A.Q. for more details.
2025-08-28
- Updated SBE FAQ section regarding legacy support to include more details on schema compatibility and explain
NonRepresentableandNonRepresentableMessage.
2025-08-26
- Updated "Request Security" documentation for REST API and WebSocket API with no functional changes.
2025-08-25
- SBE: schema 3:1 (spot_3_1.xml) will be updated on 2025-08-25 at 05:00 UTC
- The following fields have been renamed because the SbeTool code generator has been found to generate Java code that does not compile.
- Although only users impacted by this issue need to update the schema, we advise all users to upgrade to the latest version to maintain consistency.
- Message
MaxAssetFilter- field
limitExponentrenamed toqtyExponent - field
limitrenamed tomaxQty
- field
- The following fields have been renamed because the SbeTool code generator has been found to generate Java code that does not compile.
2025-08-19
userDataStream.subscribereturnssubscriptionIdin the responses.
This was missed in a previous changelog entry.
2025-08-07
- Updated FIX API documentation
- FIX Market Data limits: The subscription limit has always been present but was undocumented.
- On message processing order: Reworded and reformatted.
Notice: The following will be enabled on 2025-08-08, 07:00 UTC
- Filter
MAX_NUM_ORDER_LISTS, is enabled with the limit of 20 per symbol.
2025-08-05
Notice: The following changes will be deployed on 2025-08-06, starting 7:00 UTC and may take several hours to complete.
Please consult the Spot Test Network's homepage to be informed of the release completion.
General Changes
- The pegged order functionality is now available.
- Exchange Information requests emit the field
pegInstructionsAllowed. - The following conditional fields
pegPriceType,pegOffSetType,pegOffsetValues, andpeggedPriceappear in responses of the following requests if the order was a pegged order:- 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(4)supports new valueP(PEGGED)- Tags
PegOffsetValue(211),PegPriceType(1094),PegMoveType(835), andPegOffsetType(836)have been added to the following messages:- NewOrderSingle
<D> - NewOrderList
<E> - OrderCancelRequestAndNewOrderSingle
<XCN> - When placing an order, the
ExecutionReport<8>message will echo backPegInstructions, with an extra optional fieldPeggedPrice (839).
- NewOrderSingle
- New error messages for pegged orders are added. Please see the Errors document for more information.
- Exchange Information requests emit the field
- Changes with
recvWindow:- A third check is made after your message leaves the message broker just before it is sent to the Matching Engine.
- This does not cover potential delays inside the Matching Engine itself.
recvWindowsupports microseconds.- The value is still specified in milliseconds, but can now take a decimal component to specify it with higher precision.
- This means that the parameter supports a maximum precision of 3 decimal places. (e.g. 6000.346)
- APIs affected:
- FIX API
- REST API
- WebSocket API
- A third check is made after your message leaves the message broker just before it is sent to the Matching Engine.
- The following requests have a new structure called
specialCommission. See Commission Rates.- REST API
GET /api/v3/account/commissionPOST /api/v3/order/testwithcomputeCommissionRates=truePOST /api/v3/sor/order/testwithcomputeCommissionRates=true
- WebSocket API
account.commissionorder.testwithcomputeCommissionRates=truesor.order.testwithcomputeCommissionRates=true
- REST API
- The new
MAX_NUM_ORDER_AMENDSfilter is enabled with a limit of 10 amendments per order. - New error codes
-1120and1211. See Errors for more information. - SBE: A new schema 3:1 (spot_3_1.xml) is available.
- The current schema 3:0 (spot_3_0.xml) is deprecated and will be retired in 6 months as per our schema deprecation policy.
- Changes in schema 3:1:
ExchangeInfoResponse: new fieldpegInstructionsAllowedExecutionReportEvent: new fieldspricePeg,pricePegOffsetLevel,peggedPriceUserDataStreamSubscribeResponse: new fieldsubscriptionId- New field
subscriptionIdfor all user data stream events. - Field
apiKeyrenamed tologgedOnApiKeyforWebSocketSessionLogonResponse,WebSocketSessionStatusResponseand WebSocketSessionLogoutResponse OrderTestWithCommissionsResponse: 2 new fieldsspecialCommissionForOrderMakerandspecialCommissionForOrderTakerAccountCommissionResponse: 4 new fieldsspecialCommissionMaker,specialCommissionTaker,specialCommissionBuyerandspecialCommissionSeller- Support for
EXCHANGE_MAX_NUM_ORDER_LISTS,MAX_NUM_ORDER_LISTS, andMAX_NUM_ORDER_AMENDSfilters. ExecutionReportEvent: fieldsrejectReasonandorigClientOrderIdnow show their default values in SBE format to match the JSON format.NonRepresentableMessage: New message added to represent a message that cannot be represented in this schema ID and version. Receipt of this message indicates that something should be available, but it is not representable using the SBE schema currently in use.
- Query order lists requests will first query the data in the cache, and if it cannot be found will query the database.
- REST API:
GET /api/v3/openOrderLists - WebSocket API:
openOrderLists.status
- REST API:
- Orders with cumulative quantity of 0 in the final state
EXPIRED_IN_MATCH(i.e. the order expired due to STP) will be archived after 90 days. - Bug fix: The Matching Engine no longer accepts order lists that exceed the order count filter limits. Affected filters:
MAX_NUM_ORDERSMAX_ALGO_ORDERSMAX_ICEBERG_ORDERSEXCHANGE_MAX_NUM_ORDERSEXCHANGE_MAX_ALGO_ORDERSEXCHANGE_MAX_ICEBERG_ORDERS
WebSocket API
- A single WebSocket connection can subscribe to multiple User Data Streams at once.
- Only one subscription per account is allowed on a single connection.
- Method
userDataStream.subscribe.signaturehas been added that allows you to subscribe to the User Data Stream without needing to login first.- This also doesn’t require an Ed25519 API Key, and can work with any API Key type.
- For SBE support you need to use schema 3:1 at least.
- Method
session.subscriptionshas been added that lists all the subscriptions active for the current session. - The meaning of the field
userDataStreamin the session requests has changed slightly.- Previously, this returned
trueif you were subscribed to the user data stream of your logged-on account. - Now it returns
trueif you have at least one active user data stream subscriptiontrue- If there is at least one subscription activefalse- If there are no active subscriptions
- Previously, this returned
userDataStream.unsubscribesupports closing multiple subscriptions.- When called with no parameter, this will close all subscriptions.
- When called with
subscriptionId, this will attempt to close the subscription matching that Id, if it exists. - The authorization for this request has been changed to
NONE.
User Data Stream
- Field
subscriptionIdhas been added to the User Data Stream events payload when listening through the WebSocket API. This will identify which subscription the event is coming from.
FIX API
- When a client sends a reject message, the FIX API will no longer send the client back a Reject
<3>message. Error messages are clearer when a tag is invalid, missing a value, or when the field value is empty or malformed- If the tag number was invalid, you will receive the error:
{"code": -1169, "msg": "Invalid tag number."} - If a valid tag was specified without a value, you will receive the error:
{"code": -1177, "msg": "Tag specified without a value."} - If the field value was empty or malformed, you will still receive the error:
{"code": -1102, "msg": "Field value was empty or malformed."}
- If the tag number was invalid, you will receive the error:
2025-07-02
Data reset
All data on the Spot Test Network will be deleted today according to the periodic reset procedure. (see F.A.Q. for more details)
2025-06-04
Data reset
All data on the Spot Test Network will be deleted today according to the periodic reset procedure. (see F.A.Q. for more details)
2025-05-28
- Documented API timeout value and error under General API Information for each API:
2025-05-22
REST and WebSocket API:
- Reminder that SBE 2:0 schema will be retired on 2025-05-28, 6 months after being deprecated.
- The SBE lifecycle for Testnet has been updated to reflect this change.