Skip to main content
GET
/
wallets
/
exchanges
/
{exchange_id}
/
assets
/
{asset_id}
/
chains
import cobo_waas2
from cobo_waas2.models.chain_info import ChainInfo
from cobo_waas2.models.exchange_id import ExchangeId
from cobo_waas2.rest import ApiException
from pprint import pprint

# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
    # Replace `<YOUR_PRIVATE_KEY>` with your private key
    api_private_key="<YOUR_PRIVATE_KEY>",
    # Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
    host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = cobo_waas2.WalletsExchangeWalletApi(api_client)
    exchange_id = cobo_waas2.ExchangeId()
    asset_id = "USDT"

    try:
        # List supported chains
        api_response = api_instance.list_supported_chains_for_exchange(
            exchange_id, asset_id
        )
        print(
            "The response of WalletsExchangeWalletApi->list_supported_chains_for_exchange:\n"
        )
        pprint(api_response)
    except Exception as e:
        print(
            "Exception when calling WalletsExchangeWalletApi->list_supported_chains_for_exchange: %s\n"
            % e
        )

// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.WalletsExchangeWalletApi;
import com.cobo.waas2.model.*;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    // Select the development environment. To use the production environment, replace `Env.DEV` with
    // `Env.PROD
    defaultClient.setEnv(Env.DEV);

    // Replace `<YOUR_PRIVATE_KEY>` with your private key
    defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
    WalletsExchangeWalletApi apiInstance = new WalletsExchangeWalletApi();
    ExchangeId exchangeId = ExchangeId.fromValue("binance");
    String assetId = "USDT";
    try {
      List<ChainInfo> result = apiInstance.listSupportedChainsForExchange(exchangeId, assetId);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println(
          "Exception when calling WalletsExchangeWalletApi#listSupportedChainsForExchange");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

package main

import (
	"context"
	"fmt"
	coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
	"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
	"os"
)

func main() {
	exchangeId := coboWaas2.ExchangeId("binance")
	assetId := "USDT"

	configuration := coboWaas2.NewConfiguration()
	// Initialize the API client
	apiClient := coboWaas2.NewAPIClient(configuration)
	ctx := context.Background()

	// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
	ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
	// Replace `<YOUR_PRIVATE_KEY>` with your private key
	ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
		Secret: "<YOUR_PRIVATE_KEY>",
	})
	resp, r, err := apiClient.WalletsExchangeWalletAPI.ListSupportedChainsForExchange(ctx, exchangeId, assetId).
		Execute()
	if err != nil {
		fmt.Fprintf(
			os.Stderr,
			"Error when calling `WalletsExchangeWalletAPI.ListSupportedChainsForExchange``: %v\n",
			err,
		)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `ListSupportedChainsForExchange`: []ChainInfo
	fmt.Fprintf(
		os.Stdout,
		"Response from `WalletsExchangeWalletAPI.ListSupportedChainsForExchange`: %v\n",
		resp,
	)
}

const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.WalletsExchangeWalletApi();
const exchange_id = new CoboWaas2.ExchangeId();
const asset_id = "USDT";
apiInstance.listSupportedChainsForExchange(exchange_id, asset_id).then(
  (data) => {
    console.log("API called successfully. Returned data: " + data);
  },
  (error) => {
    console.error(error);
  },
);

[
  {
    "chain_id": "ETH",
    "symbol": "ETH",
    "icon_url": "https://d.cobo.com/public/logos/ETH.png",
    "chain_identifier": "ETH",
    "explorer_tx_url": "https://etherscan.io/tx/{txn_id}",
    "explorer_address_url": "https://etherscan.io/address/{address}",
    "require_memo": false,
    "confirming_threshold": 15,
    "coinbase_maturity": 15,
    "caip2_chain_id": "eip155:1"
  }
]
{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}
{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}
Try Cobo WaaS Skill in your AI coding assistant (Claude Code, Cursor, etc.). Describe your needs in natural language to auto-generate production-ready SDK code and debug faster 🚀
import cobo_waas2
from cobo_waas2.models.chain_info import ChainInfo
from cobo_waas2.models.exchange_id import ExchangeId
from cobo_waas2.rest import ApiException
from pprint import pprint

# See configuration.py for a list of all supported configurations.
configuration = cobo_waas2.Configuration(
    # Replace `<YOUR_PRIVATE_KEY>` with your private key
    api_private_key="<YOUR_PRIVATE_KEY>",
    # Select the development environment. To use the production environment, change the URL to https://api.cobo.com/v2.
    host="https://api.dev.cobo.com/v2",
)
# Enter a context with an instance of the API client
with cobo_waas2.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = cobo_waas2.WalletsExchangeWalletApi(api_client)
    exchange_id = cobo_waas2.ExchangeId()
    asset_id = "USDT"

    try:
        # List supported chains
        api_response = api_instance.list_supported_chains_for_exchange(
            exchange_id, asset_id
        )
        print(
            "The response of WalletsExchangeWalletApi->list_supported_chains_for_exchange:\n"
        )
        pprint(api_response)
    except Exception as e:
        print(
            "Exception when calling WalletsExchangeWalletApi->list_supported_chains_for_exchange: %s\n"
            % e
        )

// Import classes:
import com.cobo.waas2.ApiClient;
import com.cobo.waas2.ApiException;
import com.cobo.waas2.Configuration;
import com.cobo.waas2.Env;
import com.cobo.waas2.api.WalletsExchangeWalletApi;
import com.cobo.waas2.model.*;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = Configuration.getDefaultApiClient();
    // Select the development environment. To use the production environment, replace `Env.DEV` with
    // `Env.PROD
    defaultClient.setEnv(Env.DEV);

    // Replace `<YOUR_PRIVATE_KEY>` with your private key
    defaultClient.setPrivKey("<YOUR_PRIVATE_KEY>");
    WalletsExchangeWalletApi apiInstance = new WalletsExchangeWalletApi();
    ExchangeId exchangeId = ExchangeId.fromValue("binance");
    String assetId = "USDT";
    try {
      List<ChainInfo> result = apiInstance.listSupportedChainsForExchange(exchangeId, assetId);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println(
          "Exception when calling WalletsExchangeWalletApi#listSupportedChainsForExchange");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}

package main

import (
	"context"
	"fmt"
	coboWaas2 "github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2"
	"github.com/CoboGlobal/cobo-waas2-go-sdk/cobo_waas2/crypto"
	"os"
)

func main() {
	exchangeId := coboWaas2.ExchangeId("binance")
	assetId := "USDT"

	configuration := coboWaas2.NewConfiguration()
	// Initialize the API client
	apiClient := coboWaas2.NewAPIClient(configuration)
	ctx := context.Background()

	// Select the development environment. To use the production environment, replace coboWaas2.DevEnv with coboWaas2.ProdEnv
	ctx = context.WithValue(ctx, coboWaas2.ContextEnv, coboWaas2.DevEnv)
	// Replace `<YOUR_PRIVATE_KEY>` with your private key
	ctx = context.WithValue(ctx, coboWaas2.ContextPortalSigner, crypto.Ed25519Signer{
		Secret: "<YOUR_PRIVATE_KEY>",
	})
	resp, r, err := apiClient.WalletsExchangeWalletAPI.ListSupportedChainsForExchange(ctx, exchangeId, assetId).
		Execute()
	if err != nil {
		fmt.Fprintf(
			os.Stderr,
			"Error when calling `WalletsExchangeWalletAPI.ListSupportedChainsForExchange``: %v\n",
			err,
		)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `ListSupportedChainsForExchange`: []ChainInfo
	fmt.Fprintf(
		os.Stdout,
		"Response from `WalletsExchangeWalletAPI.ListSupportedChainsForExchange`: %v\n",
		resp,
	)
}

const CoboWaas2 = require("@cobo/cobo-waas2");
// Initialize the API client
const apiClient = CoboWaas2.ApiClient.instance;
// Select the development environment. To use the production environment, replace `Env.DEV` with `Env.PROD`
apiClient.setEnv(CoboWaas2.Env.DEV);
// Replace `<YOUR_PRIVATE_KEY>` with your private key
apiClient.setPrivateKey("<YOUR_PRIVATE_KEY>");
// Call the API
const apiInstance = new CoboWaas2.WalletsExchangeWalletApi();
const exchange_id = new CoboWaas2.ExchangeId();
const asset_id = "USDT";
apiInstance.listSupportedChainsForExchange(exchange_id, asset_id).then(
  (data) => {
    console.log("API called successfully. Returned data: " + data);
  },
  (error) => {
    console.error(error);
  },
);

Authorizations

BIZ-API-KEY
string
header
required

The API key. For more details, refer to API key.

In the API playground, enter your API secret, and your API key will be accordingly calculated.

Path Parameters

exchange_id
enum<string>
required

The ID of the exchange. Possible values include:

  • binance: Binance.
  • okx: OKX.
  • deribit: Deribit.
  • bybit: Bybit.
  • gate: Gate.io
  • bitget: Bitget
  • bitmart: BitMart
  • bitfinex: Bitfinex
Available options:
binance,
okx,
deribit,
bybit,
gate,
bitget,
bitmart,
bitfinex
Example:

"binance"

asset_id
string
required

(This concept applies to Exchange Wallets only) The asset ID. An asset ID is the unique identifier of the asset held within your linked exchange account. You can get the ID of the assets supported by an exchanges by calling List supported assets.

Response

The request was successful.

chain_id
string
required

The chain ID, which is the unique identifier of a blockchain.

Example:

"ETH"

symbol
string

The chain symbol for display purposes, which is the abbreviated name of a chain.

Example:

"ETH"

icon_url
string

The URL of the chain icon.

Example:

"https://d.cobo.com/public/logos/ETH.png"

chain_identifier
string

A functional identifier used to group blockchains with similar execution logic. For example, ETH for all EVM-compatible chains (Ethereum, BNB Smart Chain, Polygon).

Example:

"ETH"

explorer_tx_url
string

The transaction URL pattern on the blockchain explorer. You can use it to concatenate the transaction URLs.

Example:

"https://etherscan.io/tx/{txn_id}"

explorer_address_url
string

The address URL pattern on the blockchain explorer. You can use it to concatenate the address URLs.

Example:

"https://etherscan.io/address/{address}"

require_memo
boolean

Whether the chain requires a memo.

Example:

false

confirming_threshold
integer<int32>

The number of confirmations required for an on-chain transaction, such as 64 for Ethereum.

Example:

15

coinbase_maturity
integer<int32>

The number of confirmations required before a coinbase transaction is considered mature and can be spent, for example, 100 confirmations for BTC.

Example:

15

caip2_chain_id
string

A standardized, unique identifier for blockchain networks (like eip155:1 for Ethereum) that combines a namespace and a reference to ensure cross-chain compatibility.

Example:

"eip155:1"