Processes
Multi-signature
Typically, the transaction initiated by the first signer is automatically signed. The partially signed transaction is then stored in IPFS, allowing other signers within your organisation, or even signers from different organisations utilising CoKeeps Wallet, to sign the transaction.
Any deviation from the policy rules set up for this multi-signature account will result in a transaction error. Policy enforcement is crucial for custodial accounts, as it may dictate who can initiate transactions, specify maximum transfer amounts, or limit destination addresses.
Once all signers have met the threshold requirement, the final signer relays the transaction to the blockchain network and assumes sole responsibility for paying the transaction fees. However, in the case of Solana at present, each signature constitutes an on-chain action, requiring SOL to cover the approval process by each individual signer.
If some owners of the multi-signature account are not utilising CoKeeps Wallet, they can initiate and sign the transaction independently. Subsequently, they can forward the partially signed transaction to you, which you can import into CoKeeps Wallet to proceed with the signing process as usual. Alternatively, they may provide you with the transaction to be signed, and you can directly sign it via the CoKeeps wallet. Do ensure the legitimacy of the transaction before proceeding.
Recovery
There are two (2) types of recovery procedures, each serving a specific purpose and independent of one another.
Wallet
This pertains to the key generation process for managed self-custody accounts. When signers begins using CoKeeps Wallet for the first time, they are presented with two recovery shards. They are responsible for securely storing one shard, while the other shard should be entrusted to a responsible individual within the organisation. To perform shard recovery, a minimum of two shards is required to combine and retrieve the recovery information.
If a signer forgets the passphrase and PIN, the CoKeeps Wallet can guide the recovery process. In the event that a signer is missing and your organisation wishes to recover all the balances associated with their single signatures, the shard stored by the organisation can be utilised for recovery.
It's important to note that CoKeeps alone cannot perform the recovery. The shard kept by CoKeeps is meant to facilitate the recovery process in the event of a signer going missing. Additionally, if there are no balances associated with any of the accounts created by the signer's single signature, this recovery process is unnecessary.
The wallet recovery procedure is not intended to replace the signer with another individual. We strongly recommend creating a new signer if the old signer needs to be replaced.
Multi-signature
The recovery procedure for multi-signature accounts involves transferring the entire asset balance of the account to a new multi-signature account. This may be necessary if one or more existing signers are missing or no longer serving the organisation.
We recommend that the newly elected multi-signature account be of equal or higher security level than the existing one. For example, a 2-of-3 multi-signature account should recover to another 2-of-3 or a 3-of-5 multi-signature account. Downgrading from a 3-of-5 multi-signature to a 2-of-3 multi-signature account is not advisable.
Hot Wallet
Sweep
This procedure transfers all balances from Deposit addresses uniquely generated for each of your users via the Hot Wallet to a Holding (multi-signature) account. The sweep action is performed using the CoKeeps Wallet by a signer who has been delegated the necessary scope permission.
Re-balance
Re-balancing is a procedure that ensures the balance ratio between the Holding and Withdrawal accounts meets the predefined ratio set via the CoKeeps Administration. For example, if a ratio of 70% Holding to 30% Withdrawal is established, the re-balance procedure will execute transfers as needed to maintain this balance.
Re-balancing typically occurs daily and should be conducted promptly when the withdrawal account balance is low. The ratio should be adjusted based on your platform's withdrawal activity, with an increase in withdrawals suggesting a need for a higher ratio balance toward the withdrawal account.
Re-balancing is not an automated action and must be manually initiated and checked.
Withdrawal
Withdrawal requests are not executed instantly upon the submission of a new destination address. Depending on your compliance and policy procedures, requests may undergo screening and an audit process. The CoKeeps Hot Wallet manages the entire request process flow from submission to approval. Alternatively, you can manage these procedures through your own administration platform interface using our Hot Wallet SDK.
Once a withdrawal request to a specific destination address has been approved, subsequent withdrawals to the same address may occur instantly, depending on your preferences.
Travel Rule
By default, all withdrawal procedures require the destination address to be approved by your organisation as mentioned previously. The information provided by your users when specifying the destination address must comply with the requirements outlined by the Financial Crimes Enforcement Network (FinCEN) under the Travel Rule. Our JavaScript Front-End SDK can assist you with this process.
Monitoring and tools
We offer a comprehensive toolset accessible via REST API or Web-hook, allowing you to monitor transaction statuses or access address history. Additionally, our suite includes supplementary tools such as address validation, balance lookup, average fee calculation, and more.