2.10.0 Test Environment Current

v.2.10.0 - Test Environment

2026-08-18 - Planned deployment to Live 2026-08-06 - Test Environment

2026-08-18 - Planned deployment to Live

2026-08-06 - Test Environment


Added

Savings Plan Trade Invoice

Each filled savings-plan execution (BUY) and exit sell order (SELL) now produces a German trade invoice PDF that partners can download for their customers, closing the documentation gap between savings plans and regular traditional orders.

  • Documentation Location: API REFERENCE - Trading - Traditional Assets (endpoint is tagged Documents)
  • New Endpoint: GET /traditional/orders/savings-plans/trade-invoice/{savingsPlanOrderId} - returns the trade invoice as application/pdf; savingsPlanOrderId is the savings-plan execution id (BUY) or the exit sell-order id (SELL)
  • New enum value: DocumentTypeEnum - TRADE_INVOICE_SAVINGS_PLAN
  • Error responses: 400 Bad Request (invalid id), 404 Not Found (no invoice for that execution)
  • Note: the document is generated only once the execution reaches FILLED, so a 404 immediately after an execution is created is expected - wait for the document notification carrying documentType: TRADE_INVOICE_SAVINGS_PLAN before fetching.

Savings Plan Transactions in Transaction History

Savings-plan activity is now a first-class transaction type in the transaction history, so partners can reconcile recurring executions and their fees from the same endpoint they already use for trades, cash and corporate actions.

  • Documentation Location: API REFERENCE - Transaction History
  • New enum value: TransactionTypeEnum - SAVINGS_PLAN
  • New field: savingsPlanTransaction on the transaction object - present when transactionType is SAVINGS_PLAN
  • Payload includes: executionId (execution UUID for BUY, exit sell-order UUID for SELL), savingsPlanId, isin, tradeSide, quantity (fractional shares allocated or sold), executionPrice (fill price per share), savingsAmount (recurring amount committed on a BUY), feeAmount (fee charged for this transaction), externalId (partner's own savings-plan id)
  • Note: feeAmount reflects the fee now actually booked at execution - savings-plan executions previously reported no fee leg. The allocated quantity is therefore derived from the savings amount after fee deduction.

Corporate Action Cash-in-Lieu Amounts

Ratio-based corporate actions round each customer's holding down to whole shares and pay cash for the fraction that was rounded away. That payout was previously invisible in the API; it is now reported per customer on the transaction, the corporate-action read model, and the webhook.

  • Documentation Location: API REFERENCE - Trading - Corporate Actions, API REFERENCE - Transaction History, API REFERENCE - Webhooks
  • Added fields: cashInLieuAmount (net cash paid for the rounded-away fraction), cashInLieuPrice (realised per-unit price of the fractional shares), fractionalSharesQuantity (the fraction the customer was entitled to) - all decimal, added to CorporateActionTransaction (GET /customers/{customerId}/transactions), to the corporate-action customer entry (GET /corporate-actions, GET /corporate-actions/customers/{customerId}), and to the corporate-action webhook payload
  • New enum value: CorporateActionNotificationTypeEnum - CASH_IN_LIEU
  • Note: a customer whose pro-rata share floored to 0.00 reports 0.00 together with the fraction and realised price - it is not omitted, so they stay distinguishable from a customer who was never affected. Action types that cannot produce a fraction omit the fields entirely.
  • Note: the fields sit on the existing single corporate-action transaction per customer per action, so the share change and the cash-in-lieu remain one coherent event. The omnibus surplus sale is not exposed as a customer transaction.

Reverse Stock Split (SPLR) Corporate Action

Reverse stock splits are now a supported corporate-action event type end to end, including the cash-in-lieu payout described above.

  • Documentation Location: API REFERENCE - Trading - Corporate Actions, API REFERENCE - Transaction History, API REFERENCE - Webhooks
  • New enum value: SPLR added to the corporate-action event type (CAEV) enum in the publish contract, the transaction-history contract and the webhook contract
  • Note: on a reverse split a customer holding fewer shares than the reverse ratio floors to zero whole shares and is fully liquidated to cash. This is intended behaviour, reported as cashInLieuAmount with the position closed.

Appropriateness Test for Tracker Certificates

The appropriateness test now covers tracker certificates as their own asset type, so partners can run the questionnaire for that product family instead of mapping it onto security tokens.

  • Documentation Location: API REFERENCE - Entities
  • New enum value: AppropriatenessTestAssetTypeEnum - TRACKER_CERTIFICATE

Changed

Tokenized Asset Quantity Precision

UNIT quantities on tokenized-asset orders are now validated against the 8-decimal on-chain token precision at request time, instead of being silently rounded later in settlement.

  • Documentation Location: API REFERENCE - Trading - Tokenized Assets
  • Endpoint: POST /wawex/orders/market
  • Behavior change: with quantityType: UNIT, a quantity with more than 8 decimal places is rejected with 400 Bad Request identifying quantity precision as invalid. 0.00000001 is the smallest accepted quantity; 0.000000001 is rejected
  • Note: AMOUNT (EUR cash) quantities are unaffected. Previously such values were accepted and then rounded or truncated between the order, the inventory order and the on-chain mint/burn amount, so the executed quantity could differ from the requested one.

Tokenized Asset Order Market-Closure Response

POST /wawex/orders/market now answers a closed market with 503 Service Unavailable, matching the behaviour of traditional-asset orders, and the status code is documented.

  • Documentation Location: API REFERENCE - Trading - Tokenized Assets
  • Endpoint: POST /wawex/orders/market
  • Added response: 503 Service Unavailable - returned for orders placed outside trading hours, on weekends and on exchange holidays
  • Note: 409 Conflict ("price data is currently unavailable for this asset") remains documented for the case where the market is open but no live price is available. Partners should treat 503 as retryable at the next trading window and 409 as an asset-level price gap.