2.7.0 Release Archive

v.2.7.0

2026-07-07 - Live 2026-06-23 - Test Environment

2026-07-07 - Live

2026-06-23 - Test Environment


Added

Cash Account Statement

Partners can now generate an on-demand cash account statement for a customer's Master Account, covering the cash balance and money-market-fund holdings over a chosen reporting period. The document is generated synchronously on POST and retrieved as a PDF on a follow-up GET.

  • Documentation Location: API REFERENCE → Products
  • New Endpoint: POST /products/{customerProductId}/documents/cash-account-statement?startDate=YYYY-MM-DD&endDate=YYYY-MM-DD - validates the period and returns a cashAccountStatementId
  • New Endpoint: GET /products/{customerProductId}/documents/cash-account-statement - returns the generated statement as application/pdf
  • Note: startDate and endDate are required (YYYY-MM-DD); a startDate after endDate returns 400. Generated statements are retained for 24 hours, after which the GET returns 404.

Savings Plan Exit

Partners can now trigger the exit (sale) of an accumulated savings-plan position. The platform evaluates the fractional position, routes the sell order, and returns a sell order ID; the final outcome is delivered asynchronously via a savings-plan notification.

  • Documentation Location: API REFERENCE → Trading → Savings Plans
  • New Endpoint: POST /savings-plans/{savingsPlanId}/sell - returns 202 Accepted with sellOrderId
  • Payload includes: savingsCustomerProductId (depository product holding the position), liquidityCustomerProductId (cash product receiving the proceeds)
  • Behavior: on success the plan transitions to DELETED; on rejection a VALIDATION_ERROR notification is sent and the plan status is unchanged

Tokenized Asset Price Feed (WebSocket)

A new WebSocket price feed exposes live tokenized-asset prices, so partners can subscribe to bid/ask updates per market.

  • Documentation Location: API REFERENCE → WebSocket Tokenized Prices (new section)
  • New Endpoint: GET /websocket/prices - subscribe with a PRICE_SUBSCRIPTION request and receive PRICES responses
  • Payload includes: request markets[] (currency, symbol); response prices[] with asks, bids, previous, and time
  • Note: served from a dedicated host (tokenized-prices-provider.platform-*.tradevest.ai)

Offboarding Reason: REVOKE

The offboarding flow now accepts a new reason value, REVOKE.

  • Documentation Location: API REFERENCE → Entities
  • Added enum value: OffboardingReasonEnumREVOKE (alongside the existing immediate-offboarding reasons)

Changed

Trading-Profile Asset-Type Vocabulary

The asset-type vocabulary used across the trading-profile create / update / acknowledge / get operations has been extended, so partners can express trading profiles for more asset classes.

  • Documentation Location: API REFERENCE → Entities
  • Endpoint: trading-profile create / update / get (the assetType field and the assetType path parameter)
  • Added values: CRYPTOCURRENCY, TRACKER_CERTIFICATE (added to the existing BOND, ETF, EQUITY, FUND, COMMODITY, DERIVATIVE, ETN, SECURITY_TOKEN)
  • Note: purely additive - every previously accepted value remains valid

Tokenized Asset Orders - empty list now returns 404

GET /wawex/products/{customerProductId}/orders now returns 404 Not Found when the customer product has no orders, instead of 200 with an empty body. This makes the no-orders case explicit and consistent with the rest of the API.

  • Documentation Location: API REFERENCE → Trading → Tokenized Assets
  • Endpoint: GET /wawex/products/{customerProductId}/orders
  • Behavior change: no orders → 404 Not Found (previously 200 {})
  • Note: if a partner already consumes this endpoint on Test or Live and treats the no-orders case as 200, they must handle 404 as "no orders" before the Live deployment.

Tokenized Asset Order Executions - optional fields

Tax and settlement-date fields on a tokenized-asset order execution are now optional in the response, because they are resolved asynchronously by the tax engine and may be absent on a freshly filled order until backfilled.

  • Documentation Location: API REFERENCE → Trading → Tokenized Assets
  • Endpoint: the wawex order response (execution and partial-execution objects)
  • Changed: germanCit, solidaritySurcharge, churchTax, valueDate, and bookingDate are no longer required and may be absent on a recently filled order
  • Note: clients that assumed these fields are always present should handle their absence; confirm partner adoption on Test/Live to determine whether this needs partner action.

Pre-Trade Authorization

A shared pre-trade authorization check now applies to order creation across all three order channels (traditional, digital, and tokenized). An order can be rejected before execution when the customer's trading profile does not authorize the traded asset's type or risk classification.

  • Documentation Location: API REFERENCE → Trading (Traditional Assets, Digital Assets, Tokenized Assets)
  • Affected endpoints: the traditional, digital, and tokenized (WAWEX) order-creation endpoints
  • Behavior change: order creation may now be rejected by the pre-trade authorization check - there is no request/response schema change
  • Classification: authorization is evaluated from the asset's type (see the extended trading-profile vocabulary above) and its risk score - an asset with risk score 0 is treated as authorized, and TRACKER_CERTIFICATE is classified at risk level 3
  • Partner licence dependency: the requirement depends on the partner group's counterpartyLicence. BAFIN-licensed partners (BAFIN_LICENSE_BANK, BAFIN_LICENSE_ASSET_MANAGER) are not gated on risk 1-2 assets - appropriateness is the partner's responsibility - and are gated only on risk 3 assets. NO_LICENSE partners require an authorizing trading profile for every risk 1-3 asset. Risk 0 assets are authorized under all licences.
  • Environment note: this check is active on the Test environment in this release and disabled on Production (feature-flagged), so live integrations are not affected until the flag is enabled in Production

Savings Plan Auto-Deactivation on Product Close

When a customer product transitions to CLOSED, any savings plan on that product is now automatically set to INACTIVE, which stops future executions.

  • Documentation Location: API REFERENCE → Trading → Savings Plans
  • Behavior change: a product moving to CLOSED cascades its linked savings plan to INACTIVE (no schema change)
  • Note: partners reading savings-plan status will see INACTIVE after the underlying product is closed