Cashlink digital security smart contracts have multiple participants/roles which are allowed to perform different actions related to the security. The most important ones are:
- The issuer represents the emitting party of a contract. It is allowed to issue securities to individual investors, and manage certain meta-data of the security such as the calculation factor, or the hash of a legal document binding the smart contract to a real-world security.
- The approver configures the logic by which the legitimacy of security transfers is decided. In addition to the pool of known investors in the Cashlink database and those of our partners, an explicit whitelist per contract allows additional, individual investors to receive securities.
For certain actions that are exposed via the Cashlink API, such as the issuance of securities, a confirmation signed with the private key of the corresponding party is required. This means that you can operate the API without Cashlink ever having administrative access to your smart contracts. This mode is called client-side mode.
In client-side mode, you as the user of the API will have the responsibility of handling your private keys in a secure way. Currently we support client-side operations only for the issuer role.
We also offer a second, more convenient mode of operation: During contract creation, you can mandate Cashlink to take on one or more of the above roles, which lets you use the API without having to manage any private keys on the client side. This mode is called managed mode. For you to be able to regain control of your deployed contracts at a future point in time, you can provide a backup wallet at deployment time, which will be able to take back ownership via a call to one of the deployed smart contracts.
In managed mode, we recommend the use of a securely stored offline wallet as a backup wallet, such as a paper wallet.