Changelog
Versions
Text
mothership: v3.5.0
wallet-frontend: v3.5.0
policy-node: v9.8.1
nats: v3.5.0
evm-tracker: v3.5.0
cold-wallet: v3.5.0
db-setup: v3.5.0
nats-secrets: v3.5.0
configmap-init: v0.1.0
policy-node-enclave: v3.5.0
Updates
- Transaction restrictions support blocking by default with exceptions for selected initiator groups.
- Operations views support WebSocket status updates with a polling fallback.
- NATS message broker runs as a 3-replica StatefulSet in cluster mode for high availability.
- Audit log export and search support operation ID and transaction ID filters.
- Account search uses the backend API for more complete results, and transaction detail views use snapshots of sources and destinations.
- Historical operations show Cancelled or Rejected when the corresponding failure codes are returned.
- Outgoing Canton ledger movements such as token burns and sends appear in Vault transaction history.
- Users register, reset, delete, and list flows use the CWP API.
- Canton signing userIdentifier defaults to the authenticated user email when omitted.
- Transaction status polling supports Basic Auth credentials embedded in EVM native driver URLs.
- The evm-tracker Helm chart supports optional rpcAuth tokens from Azure Key Vault.
- GCP Secret Manager is supported for the bootstrap API key and configurator secrets, enabling GKE-targeted deployments.
- Azure deployments use a self-contained Helm chart with high availability options: configurable replicas, rolling updates, and availability-zone topology spread for wallet, frontend, evm-tracker, and Policy Nodes.
- Policy Node Postgres connections support AWS RDS IAM authentication.
- Asset icons load from frontend static files instead of the backend icon API.
- Services use a 1-minute graceful shutdown timeout.
- Users API available on the Core Wallet Platform (CWP) HTTP surface.
- Balance API available on the CWP for on-chain and spendable balance for an account, and GetBalances across accounts.
- Price API available on the CWP for retrieving the USD price of an asset.
- CancelOperation accepts cancelledBy.
- CWP GET /accounts/list exposes accounts and whether each master key is external.
- Standalone CWP server supports JWT authentication via OIDC configuration.
- CWP token metadata lookup API using CAIP-19.
Fixes
- Policy Node MPC session IDs are unique across concurrent sessions.
- Outgoing Besu transfers no longer create duplicate records when the transaction hash arrives after confirmation.
- Canton incoming transfers show the actual counterparty as the sender instead of the instrument admin.
- WalletConnect relay reconnection is more reliable under heavy load.
- Tenant setup no longer creates duplicate accounts when more than 100 accounts already exist.
- Canton account balances sum only holdings the account owns, so unaccepted transfer offers are not treated as spendable and a fully transferred-out token resets to zero.
- Tenant bootstrap syncs group membership into the wallet database so groups are populated after setup.
- Prevent adding already existing token as custom asset.
- Azure PodDisruptionBudget settings allow node rollover without conflicting with subchart budgets.
- Deleting a user who remains in a group shows a clearer failure toast.
- Canton Contract Management scan-proxy authentication for Amulet CC handling is corrected, and Canton Contract Management API routing works for AWS on-premises deployments.
- ERC-20 calldata is no longer replaced incorrectly on specific contract calls.
- Error M0026 returned when a policy or group change would make future policy updates unapprovable.
- Transaction restriction filters no longer ignore other fields when amount or destination is unknown.
- Group create and rename keep the groups table in sync, including empty groups in GetAllUserGroups.
Breaking Changes
- POST /api/vaults/createVault is removed. Create accounts with POST /api/cwp/operations/start/createAccount.
Versions
Text
mothership: v3.4.2
wallet-frontend: v3.4.2
policy-node: v9.3.1
nats: v3.4.2
evm-tracker: v3.4.2
cold-wallet: v3.4.2
db-setup: v3.4.2
nats-secrets: v3.4.2
configmap-init: v0.1.0
Updates
- None in this release.
Fixes
- Canton Contract Management Onboard Investor dialog remains usable when a registrar publishes a large instrument catalog; the party identifier field and action buttons stay reachable instead of being pushed off screen.
Breaking Changes
- None in this release.
Versions
Text
mothership: v3.4.1
wallet-frontend: v3.4.1
policy-node: v9.3.1
nats: v3.4.1
evm-tracker: v3.4.1
cold-wallet: v3.4.1
db-setup: v3.4.1
nats-secrets: v3.4.1
configmap-init: v0.1.0
Updates
- None in this release.
Fixes
- Canton token registration searches all configured registry URLs to resolve the instrument.
- Outgoing transfers no longer remain stuck in Broadcasting when the blockchain event syncer marks them complete before the MPA listener finishes updating the database row.
- Audit log export resolves related records correctly when duplicate subject or related operation identifiers are supplied in a single query.
- MarketOps users can access Canton Contract Management.
- Inflight and historical operations tables in the Vault UI show at most the 20 most recent entries.
- Canton utility token balances are tracked by registrar and instrument identity so identical instrument IDs from different registries are not combined.
- Incoming Canton transfers for a registered utility token automatically add that token to the receiving account.
- Balance synchronization resolves account addresses correctly after the CAIP-19 identifier migration.
Breaking Changes
- None in this release.
Versions
Text
mothership: v3.4.0
wallet-frontend: v3.4.0
policy-node: v9.3.1
nats: v3.4.0
evm-tracker: v3.4.0
cold-wallet: v3.4.0
db-setup: v3.4.0
nats-secrets: v3.4.0
configmap-init: v0.1.0
Updates
- Approvers can receive email notifications when an operation requires approval, using a customer-hosted SMTP relay configured for the deployment. See wallet.yaml SMTP configuration in the Cloud-agnostic Install Guide.
- Native blockchain drivers support optional per-chain RPC authentication via native_driver_auth_token on each blockchains entry in wallet.yaml, overriding mpa_adapter_config.auth_token for that chain's native_driver_url only (Bearer token or Authorization Basic). See wallet.yaml native driver configuration in the Cloud-agnostic Install Guide.
- Canton Contract Management endpoints are available to MarketOps users as well as Admins.
- Canton Contract Management selects the correct on-ledger instrument configuration when a registrar hosts more than one instrument, preventing Instrument id must match failures on transfers and mint-related flows.
- Azure Helm chart now includes liveness and readiness probes for the Wallet, Policy Nodes, and NATS.
Fixes
- Policy Nodes correct ERC-20 mint transaction validation.
- A background poller reconciles transactions left in Broadcasting when event streaming does not deliver a final status, marking them finished or failed from on-chain state.
- WalletConnect call_contract operations no longer remain stuck in Broadcasting when on-chain confirmation arrives before the transaction hash is persisted.
- Balance sync updates the on-chain block cursor even when the reported balance is unchanged.
- Audit logging captures Core Wallet Platform request bodies for API-initiated operations.
- Outgoing Ethereum transfers no longer create duplicate records when confirmation arrives before the transaction hash is written.
- Direct Mint, Direct Burn, and Offer Mint or Burn delegator lists in Canton Contract Management include only parties eligible under the registrar MasterAllowList claim chain, avoiding submit failures from delegators that appear in the ledger but cannot mint or burn.
- Canton Contract Management classifies parties without Vault signing keys as read-only instead of offering sign actions that cannot complete from the browser session.
Breaking Changes
- None in this release.
Versions
Text
Institutional Vault: v3.3.1
Policy Nodes: v9.3.0
NATS: v3.3.1
configmap-init: v0.1.0
Updates
- Transfer Funds shows async operation status toasts for confirmation, processing, policy block, and error states.
- Canton Contract Management Settings support manually registering a registrar with DTCC specific Compliance, ClientOnboarder and Registrar parties.
Fixes
- Transaction sync confirms all records that share the same on-chain hash together, preventing duplicate-hash cases such as ERC-20 mint flows from leaving one transaction stuck in the cast state.
Breaking Changes
- None in this release.
Versions
Text
Institutional Vault: v3.3.0
Policy Nodes: v9.3.0
NATS: v3.3.0
configmap-init: v0.1.0
Updates
- Canton Contract Management updated with participant-onboarding and registry discovery improvements.
- Historical operations table added alongside Inflight operations, with dedicated URLs for each view.
- Inflight and historical operations share a unified operations structure; inflight operations no longer use client-side pagination.
- Operation details modal shows eligible approvers and corrected submitted timestamps.
- Policy Nodes expose a Prometheus metrics endpoint at /metrics on the orchestrator and on policy nodes when telemetry is enabled.
Fixes
- Audit Logs settings table scrolls horizontally within its column instead of overflowing the page.
- Assets pages no longer crash when the deployment has no registered assets.
- Notification WebSocket subscription no longer returns invalid authorization token errors.
- UnregisterChain operation handling corrected.
- Policy Nodes normalize user email identifiers to lowercase before upgrade or onboarding.
Breaking Changes
- None in this release.
Versions
Text
Institutional Vault: v3.2.0
Policy Nodes: v9.2.0
NATS: v3.2.0
configmap-init: v0.1.0
Updates
- Audit log CSV export includes CAIP-2 chain identifiers alongside existing columns.
- Solana cold-wallet registration requests use the same CAIP-19-based asset path pattern as other assets.
- Cold signing views refresh when batch WebSocket updates arrive instead of relying on synchronous batch polling.
- Staking withdrawal requests accept an optional CAIP-19 field for consistency with other asset-aware transfer APIs.
- Pending operations lists and detail views surface approver and rejector attribution using the supported operations APIs.
- Vault per-asset detail requests use a single CAIP-19 path segment instead of separate protocol, network, and symbol segments.
Fixes
- Canton Contract Management derives CAIP-2 for signing and registry calls from the connected ledger synchronizer instead of a static gateway CAIP-2 field, preventing chain registration mismatches.
Breaking Changes
- Deprecated v2 configuration, compliance screening, events, automated approver listing, group listing, key backup download, raw transfer, user listing, user-by-id, staking listing, staking withdrawal submission, transaction listing, transaction detail, and transaction deletion. Use GET /api/transactions, the v1 transaction detail routes, GET /api/operations/{id}, and other v1 or CWP routes described in the published OpenAPI specifications.
- POST /api/transactions/transfer and POST /api/staking/stake request bodies require a CAIP19 field instead of separate Asset, Protocol, and Network fields.
Versions
Text
Institutional Vault: v3.1.0
Policy Nodes: v9.2.0
NATS: v3.1.0
configmap-init: v0.1.0
Updates
- New Audit log CSV export produces a simplified flat-column human-readable format safe for Excel and Google Sheets. The forensics raw-JSON format is available via the format=forensics-zip query parameter
- Audit-log settings page now displays recent audit entries inline.
- Approvals now include mint and burn outputs with resolved instrument identifiers in Canton transaction intents.
- Approvals now include ERC-20 decoded outputs (recipient and amount) in transaction intents for improved approver visibility.
- CAIP-19 identifiers are included in /api/vaults account responses.
- Client-side search bars added to the accounts list, account assets tab, assets list, and asset detail accounts tab.
- Vault and CWP OpenAPI specifications are combined into a single spec.
- /api/v2/transfers accepts a caip19 field in place of the integer assetID.
- Group rename supported in the wallet UI under Settings > Groups with validation and CWP operation submission.
- Solana cold wallet displays a Transactions per Batch modal showing the current allowed batch size with an option to increase it.
- Legacy policy v1 UI references removed and the confirmation toast defaults to off when policy data is unavailable.
- Read-only POST endpoints under /api/cwp (operations/search, canton/getKeys, canton/getTransaction) no longer write audit rows. The audit log is now scoped to state-changing operations only.
- Azure Key Vault secret writes now include a contentType attribute (application/json or text/plain) to satisfy Azure Policy requirements.
- Policy Nodes expose a /ready health endpoint alongside the existing /live endpoint.
- Support for UnregisterToken and UnregisterChain operations.
- Wallet listener backfills local database rows when registerUser, resetUser, createAccount, updateGroup, and renameGroup operations are issued via the direct CWP HTTP interface.
Fixes
- WalletConnect sessions are now correctly displayed in the wallet UI for EVM chains.
- Wallet startup no longer crashes when a registered blockchain protocol is missing from the internal L1 asset map.
- NATS authentication failure resolved when adding a new EVM tracker to an existing deployment where the tracker certificate was signed by a different intermediate CA than the one trusted by the NATS server.
- NATS authentication failure resolved for existing services whose client certificates were not reissued after an intermediate CA rotation.
- Supported chain cache now expires periodically instead of persisting indefinitely, preventing stale chain data after registration changes.
- Configurator no_auth_token flag no longer removes UTXO service and Ubiquity configuration blocks from generated wallet config.
- Policy Nodes fixed rate lookup is now checked before calling the external pricing service, avoiding unnecessary network calls when a fixed rate is configured.
- Policy Nodes approval fetch corrected to prevent missed pending approvals.
Breaking Changes
- None in this release.
Versions
Text
Institutional Vault: v3.0.1
Policy Nodes: v9.0.1
NATS: v3.0.1
configmap-init: v0.1.0
Updates
- Canton Contracts side menu hidden from frontend when Canton driver is not configured.
- Addition of default_host and frontend_host variables within deployment to support custom API and frontend host configuration.
Fixes
- Conflicting Terraform variable declarations for default_host/frontend_host resolved.
- Key vault name resolution from Terraform outputs corrected to detect when secrets have already been populated.
- Azure key vault names updated to ensure uniqueness.
- Polkadot icon corrected within wallet frontend.
Breaking Changes
- /api/transactions/assetDetails/:asset endpoint removed.
Versions
Text
Institutional Vault: v3.0.0
Policy Nodes: v9.0.1
NATS: v3.0.0
configmap-init: v0.1.0
Updates
- KAIA asset and KAIA tokens added for Kairos testnet and mainnet.
- Inflight Operations tab added to frontend Settings menu with quick navigation button in header, displaying all intents pending confirmation or approval.
- Canton tokenisation application introduced, supporting external party creation, end investor onboarding invites, token allow list management, mint/burn requests and approvals, trade proposals, and multi-party trade allocation.
- Policy V1 replaced by Policy V2, introducing transaction-attribute filtering, category-scoped restrictions (config, policy, transaction), and multiple independent rules per category.
- /api/assets updated to return assets with CAIP-19 identifier.
- /api/transactions/transferDetails and GET /api/staking/assets now accept CAIP-19 identifier as URL parameter instead of protocol, network, and symbol.
- Network naming changed from assethub-polkadot to assethub-mainnet.
- Expire tags added to NATS and DB setup for Azure, and DB setup can now run multiple times for Azure.
- Conditional logic added to prevent resource conflicts when deploying two instances in a single AKS cluster.
Breaking Changes
- /api/transactions/blockchainProgress endpoint removed.