Breaking changes are announced here and applied to both environments. Exercise them in the
sandbox — it runs fully simulated provider rails — before
updating your production integration.
2026-07-25
Breaking · you name the settlement network when buying stablecoin
POST /v1/treasury/conversion-quotes now requires settlementNetwork when sourceAsset is
"AUD". Wayex no longer selects a chain for that direction.
The network you name is the chain the purchased stablecoin is delivered onto, so it is the chain
your account then holds the balance on and the chain you can withdraw it on. That is your decision,
not ours, and there is no default and no fallback behind it.
settlementNetwork to every AUD-to-stablecoin quote request. Choose from the
runtimeCapabilities entries on GET /v1/treasury, and choose a chain your account can actually
withdraw on. Omitting it now fails with 400 settlement_network_required on the
settlementNetwork parameter.
Two refusals you should treat as “pick a different chain”, not as transient errors:
400unsupported_asset_network— the asset does not settle on that chain, or Wayex cannot receive it there. This is now checked before your account’s enabled pairs, so an unwired chain fails here rather than with422asset_network_unavailable. A pair that is wired but not enabled for your account still returns the422.409conversion_route_conflict— Wayex has a settlement route pinned for that asset and you named a different chain. This check is unchanged, but it is now reachable on every AUD-to-stablecoin quote, because previously nobody sent the field. If a route is pinned for your account, name exactly that chain.
settlementNetwork stays optional
there, Wayex still routes from the chains your account holds the balance on, and a supplied value is
still only an override. Do not make the field mandatory across both directions in your client.
See Choosing the settlement network.
Breaking · free-form maps reject a reserved key
metadata on customers and counterparties, and partyContext, businessIdentity, and glMapping
on Treasury requests, now refuse the reserved key @@wxtype and any @@wxtype.esc… variant, with
400 invalid_request. Nothing is written, including on a PATCH that would otherwise merge. These
keys were previously accepted.
Migration. Only integrations that happen to use that exact key name are affected. Near misses
such as wxtype, @@wxtypes, and my@@wxtype remain ordinary keys. See
Reserved metadata key.
New hold reason · withdrawal_network_not_held
A stablecoin withdrawal on a network your account has no credited deposit and no settled conversion
for is now accepted as held with statusReason withdrawal_network_not_held, instead of
proceeding. The source debit is reserved and nothing is sent until Wayex releases it.
Retrying will not clear it: withdraw on a network you have funded, or convert onto that network
first. The withdrawal preview does not test this restriction, so an unheld network previews cleanly
with canProceed true and is held on create — treat the create response as authoritative. See
Withdrawals on a network you do not hold.
