Overview

User deposit addresses are commonly used by retail-facing platforms to receive funds from external users. These addresses are assigned to each user to easily distinguish the source of deposit transactions.

With Cobo Wallet-as-a-Service, you can create and manage deposit addresses for your applications in both Custodial Wallet and MPC Wallet.

Create Addresses

You can create up to 200 addresses by using Cobo SDKs and corresponding APIs (Custodial Wallet API, MPC Wallet API )

Custodial Wallet

from cobo_custody.client import Client
from cobo_custody.config import DEV_ENV
from cobo_custody.signer.local_signer import LocalSigner

api_secret = "your_api_secret"  # your wallet api secret
# init cobo client
client = Client(signer=LocalSigner(api_secret), env=DEV_ENV, debug=False)

# new deposit addresses
response = client.batch_new_deposit_address("GETH",1)
print(f"New deposit addresses: {response.result}")

MPC Wallet

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

api_secret = "your api secret"  # your wallet api secret

# init cobo client
mpc_client = MPCClient(signer=LocalSigner(api_secret), env=DEV_ENV, debug=False)

response = mpc_client.generate_addresses("GETH",1)
print(f"New deposit addresses: {response.result}")

You need to specify the Coin field in the format of Chain Code_Token Code (e.g., “ETH_USDT”, “TRON_USDC”). Token Code is not required for native coins (e.g., “BTC”, “ETH”). You can query the types of coins supported by your wallet via the Get Supported Coins.

These addresses can be used to receive coins under the same chain, and EVM addresses can be used to receive coins for all EVM-compatible chains.

For BTC, Cobo supports both segwit (3 address) and native_segwit (bc1 address) addresses. You can input “True” in the native_segwit field to generate bc1 addresses.

Please make sure you have added coins on Cobo Custody Web before creating any deposit addresses via API.

Manage Addresses

You can view your address list using the Get Address History (Cusotidal Wallet API, MPC Wallet API). This API allows you to retrieve addresses by coin types. Each API request can retrieve up to 20 addresses, in either ascending or descending order.

Cusotidal Wallet

from cobo_custody.client import Client
from cobo_custody.config import DEV_ENV
from cobo_custody.signer.local_signer import LocalSigner

api_secret = "your_api_secret"  # your wallet api secret
# init cobo client
client = Client(signer=LocalSigner(api_secret), env=DEV_ENV, debug=False)

# get address history
response = client.get_address_history("GETH")
print(f"Transaction history: {response.result}")

MPC Wallet

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

api_secret = "your api secret"  # your wallet api secret

# init cobo client
mpc_client = MPCClient(signer=LocalSigner(api_secret), env=DEV_ENV, debug=False)

# get address history
response = mpc_client.list_addresses("GETH")
print(f"Address History: {response.result}")