Release notes

View the history of B2TRADER API releases with key points and major updates highlighted

New features

Webhook Trading API

A new Webhook Trading API has been added, enabling automated order creation via webhook alerts with API key authentication.

Key points:

  • Create and manage webhook API keys for secure authentication

  • Receive trading alerts and create orders automatically

  • Idempotency supported via deduplication ID

  • Market type routing by symbol prefix (spot, CFD, perpetual)

Public Account ID

A new publicAccountId field has been added across all API endpoints, providing a human-readable account identifier as an alternative to internal UUIDs.

Affected APIs:

  • Trading API — account-related responses and filters

  • Settings API — account configuration endpoints

  • History API — all REST endpoints and WebSocket streams

  • Reports API — report responses and filters

Long-term trading data history

Date range restrictions have been removed from Order History and Closed Positions endpoints, allowing access to full trading history without time-based limitations.


Improvements

Transfer subtype field

A new subtype field has been added to transfer responses in the History API to distinguish Negative Balance Protection transfers from manual ones.

Rounded position prices

The positionPriceInRAT values are now properly rounded in closed position API responses according to the Reference Asset (RAT) scale.


Resolved issues

  • Resolved an issue where /total-swaps requests returned HTTP 504 timeout errors.

Added FIX API documentation

Added new FIX API section covering Market Data and Trading sessions via the FIX 4.4 protocol.

Initial version

New features

Trading Terminal AI assistant

A new AI assistant has been added to the Trading Terminal, providing traders with an intelligent widget for market analysis and trading support.


Improvements

Public Account ID (preview)

The publicAccountId field has been added to account-related API responses as a preview, ahead of the full rollout across all endpoints.

New features

Funding Rates API

New API endpoints have been added for retrieving funding rate data synchronized from B2CONNECT, including funding rates, mark price, and funding interval for Perpetual Futures markets.

Key points:

  • Funding rate values streamed in real time

  • Mark price used for position valuation when available from LP

  • Funding interval synchronized per market configuration

  • FIX API contract extended with funding data fields

OHLC Candlestick API

A new API endpoint has been added for retrieving OHLC (candlestick) data, supporting both Spot and Perpetual Futures markets. Minute-level candle data is now stored for up to 5 years. OHLC candle data streaming is also available via the WebSocket API using gRPC transport, providing real-time candlestick updates.

Favorite markets

A new Favorite markets feature has been added, allowing traders to manage personalized market lists via the Trading API.

Comment field for orders and positions

A new comment field has been added to order and position responses across REST, WebSocket, and History APIs. The comment can be set when placing an order and is propagated to the associated position and execution records.

B2COPY Integration API

New API endpoints have been added for B2COPY and IB (Introducing Broker) integrations, including special account types for copy trading. The isCopyTradingAccount field has been added to the /api/v1/total-fundings endpoint.


Improvements

FIX API: enhanced request throughput

The FIX API trading request processing has been optimized to support up to 100 requests per second per connection. All TimeInForce types are now supported, including GTD (Good Till Date).

Multilingual support

Trading API, Settings API, and Reports API endpoints now support multilingual content with full Unicode character support, enabling localized responses for configurable fields, report names, and templates.

Stop Market order calculation

The Value and Amount calculation for Stop Market orders has been corrected for Spot markets. Slippage Rate has been removed from CFD and Perpetual Futures order calculations.

Trading API: empty categories hidden

Empty market categories are now automatically excluded from Trading API responses, reducing unnecessary data in category listings.

Balance API: zero balance for all assets

Assets without prior balance operations now return a zero balance in API responses instead of being omitted.

Cross-rate market configuration

Markets used exclusively for cross-rate calculations can now be disabled for trading while remaining active for rate conversion.

History API: extended contracts

Positions and Events API responses have been extended with additional fields. The updatedAt field is now available as a sorting and filtering parameter in History Server API endpoints.

Settings API: market update endpoint

The market update endpoint has been changed from PATCH to PUT semantics, requiring the full market object in the request body.

Settings API: legacy endpoints removed

Legacy commission and routing rule endpoints have been removed following the tier commission update. Use the current endpoints as documented in the API reference.


Resolved issues

  • Resolved an issue where takeProfitPrice and stopLossPrice values were missing from the History Server /v2/orders endpoint responses.

  • Resolved an issue where bulk order cancellation returned a successful result for non-existing orders.

  • Resolved an issue where bulk order cancellation returned a successful result for orders that could not be cancelled.

  • Resolved incorrect error codes returned when closePositionLotAmount was set to 0, a negative value, or an empty string.

  • Resolved an issue where the WebSocket Book stream continued sending prices with an outdated tick size after market parameter changes.

  • Resolved an issue where negative spreads in the Market Data API were not handled correctly.

  • Resolved an issue where orders could not be created when using the default 24/7 calendar.

  • Resolved an issue where the /external-orders API returned null for rejectReason although the Trading Server received a reason from the LP.

Last updated

Was this helpful?