Account Opening

To create an account in the development environment, please head to For a seamless account creation process, please refer to this user guide.

Note that you only need to create an account in the development environment if you fall under the following categories. Otherwise, please use the production environment instead.

  1. You require a testing environment that is entirely independent of the production environment
  2. You need to use the API Playground feature on Developer Hub

To improve security, you will need to download Google Authenticator (GA) on your mobile device. To complete the setup, please use your GA to scan the QR code displayed on the web interface. You are also required to install Cobo Guard, which is a dedicated mobile application that leverages cutting-edge Trusted Execution Environment (TEE) technologies for secure authentication, risk control verification, and MPC-TSS key share management. It provides robust protection for your account, particularly during critical actions such as withdrawals and risk policy adjustments. Currently, Cobo Guard only supports the iOS system. The app is compatible with iPhone 5s and newer models, and the operating system must be iOS 13.0 or later. Prior to installation, kindly make sure that your mobile device meets the aforementioned requirements.

To download Cobo Guard, whether for a production or development environment, please visit the Apple Store.

For more information on how to set up Cobo Guard for your MPC Lite account, please refer to this user guide.

MPC Setup

After successfully opening an account, you can navigate to Settings > MPC Settings > Generate Kay to complete your MPC setup. After you click on the “Generate Key” button, a message will be pushed to your Cobo Guard.

You can approve the key generation request on your Cobo Guard. Then, a 2-2 key generation ceremony will be automatically triggered. One MPC key-share will be generated and stored on your Cobo Guard, while the other MPC key-share will be managed by Cobo.

Following the key generation ceremony, you are required to back up your MPC key-share. This precautionary measure ensures that in the event of a lost mobile device or accidental uninstallation of the Cobo Guard app, you can use the backup to reconstruct your private key.

Upon completion of the above processes, the status of your MPC key-share will be updated to “Generated” on the web interface.

MPC Wallet Setup

Once the MPC key-shares are successfully generated, you can proceed to create one or multiple types of MPC wallets on the web interface.

To add coins to MPC wallet, simply click “+Add Coins” and then search for your preferred coin types. Currently, Cobo Custody Web supports four mainnets (BTC, ETH, TRON, XRP) and two testnets (GETH, XTN).

Please make sure that you have added coins to your MPC Custody wallets first before making any API calls.

API Integration

If you are using APIs, please first choose an appropriate SDK from Cobo’s GitHub repository. Cobo Custody provides SDKs in five programming languages - Java, PHP, Python, JavaScript and Go.

Next, you will need to generate an API key and secret. The following code snippet provides an example using the Python SDK. You can locate instructions for generating API keys in the GitHub SDK README for your chosen programming language.

from cobo_custody.signer.local_signer import generate_new_key
api_secret, api_key = generate_new_key()

api_secret is your private key and should be stored securely.

api_key is your public key and needs to be set in your WaaS account via Cobo Custody web interface.

After successfully generating an API key and opening an account, you can head to the API dashboard on the Cobo Custody Web.

Please manually enter your key into the “API Key” field and ensure that the status of your API key is displayed as “Active”. You can now proceed to use the relevant SDKs to make API calls.

Test API by SDKs

from cobo_custody.client.mpc_client import MPCClient
from cobo_custody.config import DEV_ENV
from cobo_custody.signer.local_signer import LocalSigner

# input your API SECRET
signer = LocalSigner("YOUR_API_SECRET")
mpc_client = MPCClient(signer=signer, env=DEV_ENV, debug=True)
res = mpc_client.get_supported_chains()

Test API by Playground

To learn what is Playground, please refer to the (Interactive API Playground) section.