Building a Non-Custodial Wallet Solution on the Canton Network
Hi team,
I have a few questions regarding building a non-custodial wallet solution on the Canton Network, and I would appreciate your guidance:
1. If I want to set up multiple wallets, do I need to run a separate Validator node for each wallet, or is running a Participant node sufficient?
2. What are the steps required to run a Participant node?
3. Does a Participant node connect directly with a Validator node, or is it required to connect with a Super Validator node?
4. My main concern is ensuring that users have full custody of their wallet keys and wallet data. If the platform provides wallet services, is it still possible to maintain full user custody?
5. As a platform offering non-custodial wallets, how can this architecture be implemented and managed effectively on the Canton Network?
- toggle quoted message Show quoted textHi Rahil,I'll start with your question 4. You already make the distinction between custody of keys vs custody of (private) data. The latter is not a topic in networks without privacy,as you can get the data from any node/RPC. In Canton, custody of private data is given to a node. A wallet always consists of a private key used for signing transactions, and a node which is authorized by that private key to process the private data, participate in consensus on behalf of the wallet, and make the private data available to the user.In the most general self-custodial setup, the user thus picks a place to keep their key (hardware device, desktop wallet, cloud wallet, embedded wallet, etc.), and a node to host their data (self-hosted, Node as a service, shared node). I expect many wallets will be constructed with a default node, just like wallets in other networks have default RPCs.Next up, question 3.: A Validator Node is a Participant node with a bit of extra tooling around it. For the purposes of building non-custodial wallets, the distinction isn't important. You do not need to connect to Super Validator nodes, other than maybe to get some Canton Coin context from the Scan API.On 1.: A single node can host many wallets.2.: My recommendation would be to follow the docs for running a validator node. https://docs.sync.global/validator_operator/index.html5.: The end of the answer to 4 is the way I look at it. To offer a non-custodial wallet on other networks, you build a wallet that holds the keys, shows the user's holdings, and signs transactions. The wallet has a default RPC node it connects to which is configured and often provided by the developer of the wallet. E.g. Infura offers the backend to MetaMask. You construct wallets the same way in Canton except that the default RPC node also offers to users to host their private data.BernhardOn Wed, Apr 23, 2025 at 9:32 AM Rahil Mansuri via lists.sync.global <rahil=pointsville.com@...> wrote:
Hi team,
I have a few questions regarding building a non-custodial wallet solution on the Canton Network, and I would appreciate your guidance:
1. If I want to set up multiple wallets, do I need to run a separate Validator node for each wallet, or is running a Participant node sufficient?
2. What are the steps required to run a Participant node?
3. Does a Participant node connect directly with a Validator node, or is it required to connect with a Super Validator node?
4. My main concern is ensuring that users have full custody of their wallet keys and wallet data. If the platform provides wallet services, is it still possible to maintain full user custody?
5. As a platform offering non-custodial wallets, how can this architecture be implemented and managed effectively on the Canton Network?
--
This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.digitalasset.com/emaildisclaimer.html. If you are not the intended recipient, please delete this message. Thank you for the answer.
- Based on your response, my understanding of the requirements for a non-custodial wallet on the Canton Network is as follows — could you please confirm if this is correct?
-
-
A wallet that manages the private key and signs transactions.
-
A node (Validator) that hosts the wallet’s private data.
-
-
- Currently, is there any non-custodial wallet available for the Canton Network where I can access all the functionality related to the network?
- To run a validator on the devnet, do we require sponsorship from an SV, and who is responsible for whitelisting the IP of the validator node?
- Based on your response, my understanding of the requirements for a non-custodial wallet on the Canton Network is as follows — could you please confirm if this is correct?
- Hi, Rahul1. Yes, your summary of a non-custodial wallet is correct.2. Dfns currently provides a non-custodial wallet for Canton, and others are coming online soon.3. Yes, you need sponsorship. That sponsor can be either a Super Validator, or an existing Validator Operator currently running a node on MainNet.Wayne Collier