v.2.8.0 - Live
2026-07-21 - Live
2026-07-07 - Test Environment
Added
eWP - DeFi Yield Kryptowertpapier (TVDY)
A new tokenized asset class, the Tradevest DeFi Yield Kryptowertpapier (symbol TVDY, assetType: eWP), is now tradable through the existing WAWEX partner surface - there is no separate partner pipeline. The platform detects the eWP symbol and routes it internally; orders accumulate into an Ops-closed subscription (BUY) or redemption (SELL) batch and settle at a uniform clearing price.
- Documentation Location: API REFERENCE → Trading → Tokenized Assets
- Endpoint:
POST /wawex/orders/market- place an eWP order on the same endpoint used for other tokenized assets - Endpoint:
DELETE /wawex/orders/{orderId}- cancel a still-pending eWP order until its batch is closed by Ops; the cancellation releases the EUR (BUY) or unit (SELL) block - Endpoint:
GET /wawex/assets- now listsTVDYwithassetType: eWP, description "Tradevest DeFi Yield Kryptowertpapiere", andassetRiskScore: "3" - Endpoint:
POST /wawex/ex-ante- supports an eWP cost-disclosure preview, priced from the indicative NAV→EUR feed (eWP has no ISIN, so no ISIN lookup is performed) - New enum value:
QuantityTypeEnum→AMOUNT(a EUR cash amount to invest), enabled alongside the existingUNIT - New enum value:
AssetTypeEnum→eWP;DigitalAssetTypeEnum→eWP - Note: BUY is amount-based (
quantityType: AMOUNT, EUR amount inquantity, min 1.000 € / max 8.000.000 € per order); SELL is unit-based (quantityType: UNIT, no min/max). There are no partial fills; order status movesRECEIVED → PENDING → FILLED. - Note: A mandatory MiFID ex-ante cost disclosure is generated server-side on every order and linked to it - the partner never passes an
exAnteId. Retrieve it viaGET /wawex/orders/{orderId}(exAnteId) and download the PDF atGET /wawex/ex-ante/{exAnteId}/receipt. - Note: BUY orders must pass an eligibility gate - declared free available assets ≥ 100.000 € or order amount ≤ 2× the customer's average monthly net income; a failing gate rejects the order. SELL/redemptions are exempt.
Wallet Account Statements
Partners can now generate an on-demand Wallet Account Statement (Walletauszug) over a customer wallet's tokenized stock positions, valued as of the current date or a requested historical snapshotDate (using SIX end-of-day pricing). The document is produced asynchronously: POST returns an ID and the GET returns the PDF once ready.
- Documentation Location: API REFERENCE → Products
- New Endpoint:
POST /products/{customerProductId}/documents/wallet-account-statement- returns awalletAccountStatementId - New Endpoint:
GET /products/{customerProductId}/documents/wallet-account-statement/{walletAccountStatementId}- returns the statement asapplication/pdf, or202 Accepted(with aRetry-Afterheader) while generation is still in progress - Payload includes: request body
CreateWalletAccountStatementRequestwith optionalsnapshotDate(YYYY-MM-DD) andlanguage(defaults toDE, the only language currently supported) - New document type:
WALLET_ACCOUNT_STATEMENT - Note:
snapshotDatemust not be in the future and not before the wallet product's creation date, otherwise400. A historical date values positions as of that date; if no price exists exactly on the date, the previous available SIX price is used. - Note: The endpoint is rate-limited to 10 requests per minute per partner (
429 Too Many Requestswith aRetry-Afterheader). Identical requests within the 24-hour retention window are idempotent and return the same statement ID; after retention theGETreturns404.
Tokenized Asset Order-Update Webhook
A new dedicated webhook delivers event-based order-status updates for tokenized assets (tracker certificates and eWP), so partners no longer need to poll. The payload follows the Traditional-asset schema because tokenized assets are KapESt-relevant securities.
- Documentation Location: API REFERENCE → Webhooks
- New Endpoint (partner-implemented):
POST /tokenized-asset-order-notification- delivered for eventTOKENIZED_ASSET_ORDER_NOTIFICATION - New enum value:
EventTypeEnum→TOKENIZED_ASSET_ORDER_NOTIFICATION - Payload includes:
orderId,walletCustomerProductIdandcashCustomerProductId(a WAWEX order spans two customer products),status,notificationType,externalId;exAnteId(returned forRECEIVED),executionId(returned forFILLED/PARTIALLY_FILLED), anexecutionDatablock (quantity, price, amount,germanCit,solidaritySurcharge,churchTax, fee), and avalidationErrorblock on rejection - Note: Tax fields are populated only after the tax engine has processed the trade (
FILLEDand terminal partials); intermediatePARTIALLY_FILLEDslices carry execution data but no tax block. Mint/burn settlement steps are internal and never surfaced. Authentication, signing, and retry/delivery are identical to the existing order webhooks.
Corporate Action Foreign Tax Fields (Dividends)
The corporate-action transaction in Transaction History now carries the foreign withholding tax collected by the custodian on a cash dividend (DVCA), so partners can display the full tax breakdown.
- Documentation Location: API REFERENCE → Transaction History
- Endpoint: the corporate-action transaction response (
taxDataobject) - Added field:
foreignTaxCountryCode- ISO country code of the withholding jurisdiction - Added field:
foreignTaxAmount- decimal, foreign tax collected by the custodian - Note: both fields sit alongside the existing
germanCit,solidaritySurcharge, andchurchTax; they are returned asnullwhen no foreign tax applies (they are not omitted).
Savings Plan - Requestor Authorization Error Code
The savings-plan exit flow now validates the requestor-id against both linked products before processing, and a dedicated error code surfaces an unauthorized requestor.
- Documentation Location: API REFERENCE → Webhooks
- Added enum value: the savings-plan notification error code enum →
REQUESTOR_ID_NOT_VALID - Note: returned when the
requestor-idheader is not authorized to act on behalf of the customer that owns the savings plan's liquidity and savings products.
Savings Plan Execution Details
Partners can now retrieve the individual orders of a savings plan - each periodic BUY execution and the SELL exit - in an order-like shape aligned with Traditional trading, exposing the fractional quantity, unified fill price, and venue of each order.
- Documentation Location: API REFERENCE → Trading → Savings Plans
- New Endpoint:
GET /savings-plans/{savingsPlanId}/executions- paginated list of a plan's orders; supportsstatus,executionDateFrom,executionDateTofilters and cursor pagination - New Endpoint:
GET /savings-plans/{savingsPlanId}/executions/{executionId}- a single order by ID - Payload includes:
executionId,savingsPlanId,status,tradeSide,isin,savingsAmount,exchangeCode,executionDatePlanned, and anexecutionblock (executionPrice,executionQuantity,amount,transactionTime,germanCit,solidaritySurcharge,churchTax,feeAmount) - New enums:
SavingsPlansOrderStatusEnum(PENDING,PLACED,FILLED,REJECTED,EXPIRED,CANCELLED) andSavingsPlansExchangeCodeEnum(TGAT,XOFF) - Note: the
executionblock is populated oncestatusisFILLED;amount=executionQuantity×executionPricerounded to 2 decimal places.exchangeCodeisTGATwhen the batch touched the exchange andXOFFfor a pure internal (FIFO) allocation (rare edge case). - Note: for BUY executions the tax fields (
germanCit,solidaritySurcharge,churchTax) are always0- there is no tax event on a purchase; they carry values only for SELL exits.
Savings Plan Order-Update Webhook
A new webhook pushes savings-plan order status changes (BUY executions and SELL exits) to partners on every transition, so they no longer need to poll the execution endpoints.
- Documentation Location: API REFERENCE → Webhooks
- New Endpoint (partner-implemented):
POST /savings-plans-order-notification- delivered for eventSAVINGS_PLANS_ORDER_NOTIFICATION - New enum value:
EventTypeEnum→SAVINGS_PLANS_ORDER_NOTIFICATION - Payload includes:
savingsPlanId,executionId,customerId,tradeSide,status,notificationType,isin,savingsAmount,exchangeCode,externalId, and anexecutionblock (quantity, price, amount, tax fields, fee) - Note: fires on every status transition. For SELL exits the tax fields are populated on a later
UPDATEDnotification once the tax engine has computed them.
Changed
Corporate Action Cash-Dividend Tax Handling (DVCA)
The corporate-action publish endpoints have been extended so pre-withheld German tax and foreign withholding tax on cash dividends can be routed correctly to the tax engine before reporting to WARP. This finalizes the DVCA (cash dividend) data contract.
- Documentation Location: API REFERENCE → Trading → Corporate Actions
- Endpoint:
publishMT564(request bodyPublishMT564Request) andpublishMT566(request bodyPublishMT566Request) - Changed field:
grossAmountrenamed togrossAmountPerShareonPublishMT564RequestandPublishMT566Request(the per-share gross dividend;grossAmountonPublishMT566Requestnow denotes the total cash for the entire CA) - Added field:
originalCurrency(newCorporateActionCurrencyEnum, ISO 4217; required for DVCA) on both requests - Added field (
PublishMT566Request):taxPercent(custodian tax %),netAmount,postedCashAmount, andexchangeRate(foreign currency per 1 EUR; required whenoriginalCurrencyis notEUR) - New enum:
CorporateActionCurrencyEnum- the set of currencies accepted for a corporate action - Note: the corporate-action DVCA flow is a new capability - the
grossAmount→grossAmountPerSharerename is part of finalizing its data contract and requires no partner action.