Admin Login
HomeGuidesAPI ReferenceChangelogBlockdaemon Main Docs
Log In
Guides

DTCC Tokenization Service - Canton Vault User Onboarding

This guide is for Institutional Vault users onboarding to the DTCC Tokenization Service on Canton: Participant Members (banks, broker-dealers) and End Investors (asset managers, hedge funds, corporates) that a Participant Member onboards.

It walks through shared Vault setup in the web UI and ApproverApp (authentication, external party ID creation in Canton Contracts, transaction policies, DTCC registrar and party IDs), then splits into Participant Member and End Investor ledger workflows. For deployment topology and egress, see DTCC Tokenization Service deployment options.


Who should read which section

RoleRead
Any Vault user (Participant or End Investor)Common setup
Participant Member operations teamCommon setup + Participant Member flows
End Investor operations teamCommon setup + End Investor flows
Participant Members and End Investors (DvP)Common setup + DvP via Tradeweb

Prerequisites

  • Access to your Institutional Vault URL and a user email pre-provisioned with Blockdaemon (Blockdaemon-hosted models use the Blockdaemon OIDC Identity Provider).
  • ApproverApp installed on mobile or desktop (onboarding steps).
  • Canton enabled on your Vault (Blockdaemon configures the Canton network and validator connectivity).

Common setup (all users)

Complete these steps in order before role-specific Canton ledger work. All steps below use the Institutional Vault UI and ApproverApp unless noted.

1. Authenticate to Institutional Vault

  1. Open your Vault UI URL (for example https://<customer>.blockdaemon-wallet.com/).
  2. Sign in with the email Blockdaemon registered for you. If this is your first login, complete sign-up and email verification as described in Sandbox enrollment and onboarding (Part 2, environment access).

Reference: Onboarding the Wallet (browser sign-in overview).

2. Enroll ApproverApp

Institutional Vault uses a maker/checker model: sensitive operations require approval on ApproverApp.

  1. In the browser UI, follow the prompt to link ApproverApp (QR code on mobile, or desktop deep link where supported).
  2. On the device: create a PIN, complete biometrics/push steps if shown, then finish OIDC sign-in with the same identity as the Vault user.

Reference: Onboarding the Wallet.

3. Optional Emergency Recovery System (ERS) backup

If prompted after enrollment, download the ERS master-key backup package and store it per your organization's recovery policy. You can run additional backups later via Vault APIs; see Back Up Master Key.

Reference: Emergency Recovery.

4. Create your external party ID

  1. Open Canton Contracts and select Address book in the side menu.
  2. Click New party.
  3. Confirm Institutional Vault Master Key Name (Default is fine unless your deployment uses another master key).
  4. Enter a Party hint (for example your firm short name; alphanumeric and underscores). The hint becomes the display name in your party ID and is visible on-chain in block explorers. Then click Create on Canton.
  5. Wait for creation to finish. The key is generated through the Vault MPC policy nodes, so the private key never exists in one place.
  6. Copy your external party ID (<hint>::<namespace>) from the party selector at the top of the screen or from the Address book. DTCC and Participant Member onboarding need this value.

Approve on ApproverApp when the Vault UI prompts during party creation.

5. Configure Canton transaction policies

Add one default catch-all transaction restriction before Canton work:

  1. Open Policies (or Restrictions > Transaction).
  2. Add a rule with Asset: Any, Source accounts: Any, Amount: Any (or 0 USD if your UI treats that as any amount).
  3. Set Action to 1 of owner (one approval from the owner approver group).

Tighten or add rules later if your organization needs stricter limits.

Reference: Transaction Restrictions

6. Add the DTCC Registrar and collect DTCC party IDs

The DTCC Registrar is added once in Settings. The other DTCC party IDs are entered directly into the Participant Onboarding Request contract (Participant Member flows, step A), so keep the table for your environment to hand.

Add the DTCC Registrar

  1. Open Settings (gear icon, top right).
  2. In the Registrar section, click Add.
  3. Under Add registrar, select Custom URL or on-ledger registry.
  4. Enter the Registrar party ID from the table below in Registrar party ID.
  5. Enter the Registry Token Standard base URL from the table below in Registry base URL.
  6. Click Add, then Refresh. Confirm the DTCC registrar appears in the Registrar list with its instruments.

Use PSE / TestNet values only on the Canton TestNet that DTCC assigns for client testing. Do not mix PSE and Production values. Party IDs and endpoints do not carry over between environments.

Values below match the DTCC Wallet Solution Provider Connectivity Guide v2.3, Section 5.3 (Canton Public APIs). These replace the values published for the July event.

DTCC party IDs (PSE / TestNet)

SettingValue
Operatoroperator::12201f35613afb7ab587b420f7f0e856e16d60dc4cf63978a4be6d7c8e590235f9cb
Compliancecompliance::12201f35613afb7ab587b420f7f0e856e16d60dc4cf63978a4be6d7c8e590235f9cb
Registrarregistrar::12201f35613afb7ab587b420f7f0e856e16d60dc4cf63978a4be6d7c8e590235f9cb
Client OnboarderclientOnboarder::12201f35613afb7ab587b420f7f0e856e16d60dc4cf63978a4be6d7c8e590235f9cb
Upgraderupgrader::1220319bf9c8a284c9c849c1f2911757a3b04c2b29b1d8c3a624f2682bbfbafa384b
Securitysecurity::12201f35613afb7ab587b420f7f0e856e16d60dc4cf63978a4be6d7c8e590235f9cb
Registry Token Standard base URLhttps://api.pse.dtcc-da.com/canton/token-standard/v0/

DTCC party IDs (Production / MainNet)

SettingValue
Operatoroperator::1220393f2ad360ddab86dc3da5e05f9f027cba3fb43271f36fcc738c1aa65e20f9b0
Compliancecompliance::1220393f2ad360ddab86dc3da5e05f9f027cba3fb43271f36fcc738c1aa65e20f9b0
Registrarregistrar::1220393f2ad360ddab86dc3da5e05f9f027cba3fb43271f36fcc738c1aa65e20f9b0
Client OnboarderclientOnboarder::1220393f2ad360ddab86dc3da5e05f9f027cba3fb43271f36fcc738c1aa65e20f9b0
Upgraderupgrader::122066223a52cf989feedfd7fedc3be35dc5e851629d50a2a0a8ee6673c5062086a5
Securitysecurity::1220393f2ad360ddab86dc3da5e05f9f027cba3fb43271f36fcc738c1aa65e20f9b0
Registry Token Standard base URLhttps://api.dtcc-da.com/canton/token-standard/v0/

Token Standard API version in DTCC endpoint paths: v1 for CIP-0056, v2 for CIP-0112.


Participant Member flows

Participant Members onboard on Canton as Participant Services, manage allow-lists, and onboard End Investors. Perform ledger steps in Canton Contracts; use Institutional Vault and ApproverApp for MPC signing and approvals.

Choosing the right template. The same template names appear under several package versions. In Contracts, set Packages to dtc and use templates whose module starts with Dtc.Registry.App.V3 (package dtc-registry-app). Allow-list contracts use Dtc.Registry.V3 (package dtc-registry).

A. Onboard as a Participant Member on Canton

See deployment options - Participant Member onboarding for the ledger sequence diagram.

  1. Open Contracts, select Templates, and find Participant Onboarding Request (Dtc.Registry.App.V3.Service.Participant).
  2. Click Create (or View, then Create contract) and fill the create arguments. Enter Operator, Compliance, Registrar, Client Onboarder, and Upgrader from the step 6 table for your environment. Set Participant to the external party ID you created in step 4, and set an Expiration time for the request.
  3. Submit, then approve on ApproverApp when the Vault UI prompts.
  4. The DTCC Client Onboarder validates and accepts on-ledger (the Accept choice is controlled by the Registrar, Client Onboarder, and Operator). Wait for their completion and notice.
  5. When accepted, a Participant Service contract is created for your party, and you can run investor and token workflows.
  6. Open Observer and confirm a Credential contract issued by the DTCC Registrar party ID.

B. Onboard End Investors (Participant Member action)

End Investor onboarding has three stages: the Participant Member requests it, DTCC approves it, and the End Investor accepts the resulting offer.

  1. In Contracts > Templates, find Participant Service (Dtc.Registry.App.V3.Service.Participant) and click View. Under Active contracts, click Open on your Participant Service contract.
  2. Run Request End Investor Onboarding with the End Investor's external party ID. Submit and approve on ApproverApp. This creates an End Investor Onboarding Request. You can Cancel a request while it is pending.
  3. DTCC (Operator, Client Onboarder, and Registrar) reviews the request and either approves it, which issues an End Investor Onboarding Offer to the investor, or rejects it.
  4. After the End Investor accepts the offer, open your Participant Service contract again and run Add Wallets To Allow List for the investor.
  5. Confirm the investor appears on your Allow List contract before they transfer.

The same Participant Service contract also holds Remove Wallets From Allow List and Offboard End Investor. See End Investor flows for the investor side.

C. Participant Member operations (transfer, allocation)

  1. Open Home. To send, click Transfer (top right), or use an instrument button on a Transfer Factory row under Contracts you can act on. Submit in the Vault UI and approve on ApproverApp.
  2. Incoming work appears under Contracts you can act on: use Accept or Reject on a Transfer Instruction, and Allocate or Reject on an Allocation Request.
  3. Confirm completion under Recent activity on Home or Activity in the side menu, and check Balances.

References:


End Investor flows

End Investors are onboarded through a Participant Member. The Participant Member requests onboarding, DTCC approves it, and the End Investor accepts the offer.

A. Accept the onboarding offer

  1. Finish Common setup and send your external party ID to your Participant Member.
  2. When DTCC approves your Participant Member's request, an End Investor Onboarding Offer is issued to your party. In Contracts > Templates, find End Investor Onboarding Offer (Dtc.Registry.App.V3.Service.EndInvestor), click View, and Open the contract under Active contracts.
  3. Run Accept (or Reject). Approve on ApproverApp when prompted.

B. Wait for allow-list membership

Your Participant Member must run Add Wallets To Allow List on its Participant Service contract before allow-list-gated transfers or allocations succeed.

C. Request a conversion order and receive tokens

Before transfers or allocations, request a conversion order through your Participant Member and DTCC event process. The DTCC Registrar fulfils it with a one-step Direct Mint (RegistrarHoldingOperationsDelegation > Mint) to your party.

  1. Submit the conversion order per DTCC instructions for your instrument and amount.
  2. Wait for DTCC to complete the mint and for the holding to appear under Balances on Home.
  3. Confirm receipt before starting transfer or allocation work.

D. Transfer, allocation, and related flows

After tokens are in your wallet, open Home and click Transfer, or use an instrument button on a Transfer Factory row. Submit and approve in the Vault UI and ApproverApp. Incoming Transfer Instructions and Allocation Requests appear under Contracts you can act on with Accept, Reject, or Allocate. Track status under Recent activity or Activity.

References:


DvP via Tradeweb

After Participant Member and End Investor onboarding, use Canton Contracts to propose and settle delivery versus payment (DvP) through the Tradeweb operator flow. Complete Common setup and the role-specific onboarding sections first.

One-time setup: accept the Tradeweb cosigning delegation

Before your first DvP, accept the Cosigning Delegation Proposal issued to your party. This is a one-time step.

  1. Open Contracts and set Packages to tradeweb.
  2. Select the Contracts tab and keep the Can act filter on.
  3. Find the Cosigning Delegation Proposal row where Signer is your party, and click Accept in the Actions column.
  4. In the Accept dialog, click Submit. No fields are required. Approve on ApproverApp when prompted.
  5. Switch the filter to All and confirm a Cosigning Delegation contract now appears for your party.

Did this page help you?