Admin Login
HomeGuidesAPI ReferenceChangelogBlockdaemon Main Docs
Log In
Changelog
Added

Institutional Vault Release v3.6.0

Versions

mothership: v3.6.0
wallet-frontend: v3.6.0
policy-node: v9.10.0
nats: v3.6.0
evm-tracker: v3.6.0
cold-wallet: v3.6.0
db-setup: v3.6.0
nats-secrets: v3.6.0
configmap-init: v0.1.0
policy-node-enclave: v3.6.0

Updates

User interface

  • Token registration, group management, and Settings → Assets use the CWP API rather than the legacy wallet endpoints.
  • Custom L1 networks can be registered from Settings → Assets, and network properties can be edited at runtime.
  • The wallet signs users out automatically after 20 minutes of inactivity.
  • The operation details modal shows a Cancelled By field, populated from the user who cancelled the operation.
  • Canton Contract Management adds a Contract v3 view that lists every template in the vetted package catalog, deriving creation forms and available choices from the packages themselves, so a newly vetted package appears without a code change.
  • The header wordmark reads BLOCKDAEMON, and the Canton (CC) asset icon has been refreshed.

Wallet & API

  • Approvals are available on the Core Wallet Platform (CWP) as an integrated, user-aware API: GET /api/cwp/approvals/list, POST /api/cwp/approvals/approve, POST /api/cwp/approvals/reject, POST /api/cwp/approvals/device/register, and POST /api/cwp/approvals/device/unregister, with POST /api/cwp/users/setuppublickey to enrol an approver key. Registered devices receive push notifications when an approval is requested or cancelled. This replaces the standalone approval service.
  • API key management is available on the CWP: POST /api/cwp/users/apikeys/create, POST /api/cwp/users/apikeys/delete, and GET /api/cwp/users/apikeys/list. A CWP API key can be used to authorize requests to the wallet without a JWT token.
  • API keys held in an external system can be imported by hash through the Users API, without exposing the key itself.
  • The bootstrap API key carries expiry information.
  • A user's email address is resolved from the ID token, falling back to the identity provider's userinfo endpoint when the access token does not carry it.
  • The Canton driver no longer depends on the validator wallet application, reaching the validator only through the read-only scan-proxy and the ledger API.
  • A new error code M0011 is returned when a user cannot be deleted because they are still a member of one or more groups. The error lists the groups, which must be cleared before the user can be deleted.
  • The /api/users and /api/systems endpoints are deprecated in the API specification and will be removed in a future release. Use the equivalent CWP endpoints.

Policy Nodes

  • Transaction and configuration restrictions accept an Initiator.Except criterion, so a restriction can apply to everyone except the members of named groups. An empty exception list applies the restriction to every initiator.
  • Private EVM networks that do not charge gas are supported. For the chain IDs of these networks the EVM fee fields default to zero instead of being left unset, and an unset fee is distinguished from an explicit zero fee in the EVM native driver.
  • The Canton token standard holdings-change event log is recognised, so Amulet transfers, accepts and allocations are no longer rejected as unknown transactions.
  • Postgres connections support Microsoft Entra ID authentication for Azure Database for PostgreSQL. Set AzureEntraAuth = true in the [Database] config section and the node fetches short-lived Entra tokens instead of using a static password. This is mutually exclusive with IAMAuthRegion.

Deployment

  • Each Policy Node can be given its own dedicated PostgreSQL Flexible Server, enabled with the dedicated_policy_node_dbs setting, with per-node database setup jobs. Existing environments can be moved with the migrate-policy-db-host configurator command; an in-place shared-to-dedicated migration runbook is included. (Azure)
  • EVM trackers deploy on Azure through the mpc Helm chart, including Workload Identity pod labels and inclusion in NATS authentication services. (Azure)
  • New AKS clusters are provisioned on Kubernetes 1.35, a long-term-support release. (Azure)
  • The busybox init image is configurable from the top-level Helm values, so deployments can source it from a private registry.
  • NATS cluster routes target the mpc Service name, and the configured NATS replica count is passed through to the StatefulSet.

Fixes

User interface

  • Audit log export accepts a single day selected as both the start and end date.
  • Audit log date range selection and table overflow are corrected.
  • Canton Contract Management loads large contracts instead of failing the whole query, correcting a WebSocket message size limit that returned a 502.
  • Canton Contract Management no longer offers Allocate on a delivery-versus-payment leg that is already allocated, which could lock the same holding into duplicate allocations.

Wallet & API

  • Users with the Viewer role can sign in. Access to /api/cwp is gated by a read allow-list instead of requiring an approver role.
  • Raw base-unit amounts are converted to human-readable quantities using the asset's decimal precision, so values display as ETH rather than wei.
  • Large audit log CSV exports stream from the database rather than being assembled in memory, so month-long exports no longer time out.

Policy Nodes

  • Users whose identifiers contain uppercase characters can approve transactions.
  • Addresses resolve correctly when several chains share a BIP44 coin type, and when the same address string is registered more than once.
  • Tokens can no longer be registered before the L1 blockchain is first registered.
  • The orchestrator's concurrency throttle for operations in the execute state is corrected.
  • AWS credentials obtained from the instance metadata service are refreshed before they expire, so audit and log delivery no longer starts failing after several hours.
  • WalletConnect relay subscription requests are acknowledged, improving session reliability.

Deployment

  • The wallet host URL is derived correctly when the frontend is enabled in the mpc Helm chart.

Breaking Changes

Wallet & API

  • GET /api/audit/export.zip is removed. Export audit logs with GET /api/v2/audit-logs/download.
  • The /api/groups endpoints are removed, including /api/groups, /api/groups/createGroup, /api/groups/{id}, /api/groups/{id}/addUsers, /api/groups/{id}/removeUser, and /api/groups/{id}/users/available. Use the CWP equivalents: POST /api/cwp/users/groups/create, GET /api/cwp/users/groups/list, GET /api/cwp/users/groups/members, POST /api/cwp/operations/start/updateGroup, and POST /api/cwp/operations/start/renameGroup.
  • The version 1 cold wallet batch and pairing endpoints are removed: /api/hot-wallet/batch, /api/hot-wallet/batch/accept, /api/hot-wallet/batch/reject, /api/hot-wallet/export-hot-pairing-message, and /api/hot-wallet/import-cold-pairing-message. Use the version 2 equivalents: /api/v2/batches, /api/v2/batches/{batchID}, /api/v2/batches/{batchID}/download, /api/v2/batches/{batchID}/signed/upload, and /api/v2/cold-pairing-messages/upload. The cold wallet transaction batch payload also includes a caip19 field.

Deployment

  • The Azure Key Vault CSI mechanism for evm-tracker RPC header authentication, added in v3.5.0, is removed. The rpc_auth block is no longer accepted on evm_trackers[] entries. Supply RPC authentication headers through the evm-tracker env list of {name, value} objects instead. (Azure)