canton-network-docs/Release NotesWallet SDK
0.20.0
0.20.0
Released on January 16th, 2026
- subscribe to ledger update events via WebSocket
it is now possible to open a persistent WebSocket connection and receive a real-time stream of ledger update events filtered by interface
or template id. The stream is exposed as an async generator so it integrates naturally with for await loops.
const stream = sdk.userLedger?.subscribeToUpdates({
partyId: sender!.partyId,
interfaceIds: [HOLDING_INTERFACE_ID],
})
for await (const update of stream!) {
logger.info(update, 'received ledger update')
if (done) break
}
- subscribe to command completions via WebSocket
similarly to update subscriptions, you can now subscribe to command completion events so you can react to completed or failed commands
in real time instead of polling.
const stream = sdk.userLedger?.subscribeToCompletions({
parties: [sender!.partyId],
beginOffset: 0,
})
for await (const completion of stream!) {
logger.info(completion, 'received completion event')
if (done) break
}
listWallets now only returns local parties
previously listWallets could return parties that the user had been granted access to on remote validators, this was confusing and
incorrect behaviour. The method now only returns parties that are locally allocated on the connected participant.
- optional input utxos for merge delegations
the merge delegation setup previously required UTXOs to be provided explicitly. Input UTXOs are now optional and will fall back to
smart UTXO selection when not provided, consistent with other operations.