Skip to main content
GET
/
payments
/
topup
/
address
import cobo_waas2
from cobo_waas2.models.top_up_address import TopUpAddress
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.PaymentApi(api_client)
    token_id = "ETH_USDT"
    custom_payer_id = "payer_0001"
    merchant_id = "M1001"

    try:
        # Get top-up address
        api_response = api_instance.get_top_up_address(
            token_id, custom_payer_id, merchant_id=merchant_id
        )
        print("The response of PaymentApi->get_top_up_address:\n")
        pprint(api_response)
    except Exception as e:
        print("Exception when calling PaymentApi->get_top_up_address: %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.PaymentApi;
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>");
    PaymentApi apiInstance = new PaymentApi();
    String tokenId = "ETH_USDT";
    String customPayerId = "payer_0001";
    String merchantId = "M1001";
    try {
      TopUpAddress result = apiInstance.getTopUpAddress(tokenId, customPayerId, merchantId);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling PaymentApi#getTopUpAddress");
      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() {
	tokenId := "ETH_USDT"
	customPayerId := "payer_0001"
	merchantId := "M1001"

	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.PaymentAPI.GetTopUpAddress(ctx).
		TokenId(tokenId).
		CustomPayerId(customPayerId).
		MerchantId(merchantId).
		Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `PaymentAPI.GetTopUpAddress``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetTopUpAddress`: TopUpAddress
	fmt.Fprintf(os.Stdout, "Response from `PaymentAPI.GetTopUpAddress`: %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.PaymentApi();
const token_id = "ETH_USDT";
const custom_payer_id = "payer_0001";
const opts = {
  merchant_id: "M1001",
};
apiInstance.getTopUpAddress(token_id, custom_payer_id, opts).then(
  (data) => {
    console.log("API called successfully. Returned data: " + data);
  },
  (error) => {
    console.error(error);
  },
);

{
  "address": "0x1234567890abcdef...",
  "payer_id": "P20250619T0310056d7aa",
  "custom_payer_id": "user_abc_10001",
  "merchant_id": "M1001",
  "token_id": "ETH_USDT",
  "min_amount": "0.1",
  "chain": "ETH",
  "developer_fee_rate": "0.01",
  "created_timestamp": 1744689600,
  "updated_timestamp": 1744689600
}
{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}
{
"error_code": 123,
"error_message": "<string>",
"error_id": "0b6ddf19083c4bd1a9ca01bec44b24dd"
}
import cobo_waas2
from cobo_waas2.models.top_up_address import TopUpAddress
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.PaymentApi(api_client)
    token_id = "ETH_USDT"
    custom_payer_id = "payer_0001"
    merchant_id = "M1001"

    try:
        # Get top-up address
        api_response = api_instance.get_top_up_address(
            token_id, custom_payer_id, merchant_id=merchant_id
        )
        print("The response of PaymentApi->get_top_up_address:\n")
        pprint(api_response)
    except Exception as e:
        print("Exception when calling PaymentApi->get_top_up_address: %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.PaymentApi;
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>");
    PaymentApi apiInstance = new PaymentApi();
    String tokenId = "ETH_USDT";
    String customPayerId = "payer_0001";
    String merchantId = "M1001";
    try {
      TopUpAddress result = apiInstance.getTopUpAddress(tokenId, customPayerId, merchantId);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling PaymentApi#getTopUpAddress");
      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() {
	tokenId := "ETH_USDT"
	customPayerId := "payer_0001"
	merchantId := "M1001"

	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.PaymentAPI.GetTopUpAddress(ctx).
		TokenId(tokenId).
		CustomPayerId(customPayerId).
		MerchantId(merchantId).
		Execute()
	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `PaymentAPI.GetTopUpAddress``: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}
	// response from `GetTopUpAddress`: TopUpAddress
	fmt.Fprintf(os.Stdout, "Response from `PaymentAPI.GetTopUpAddress`: %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.PaymentApi();
const token_id = "ETH_USDT";
const custom_payer_id = "payer_0001";
const opts = {
  merchant_id: "M1001",
};
apiInstance.getTopUpAddress(token_id, custom_payer_id, opts).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.

Query Parameters

token_id
string
required

The token ID, which is a unique identifier that specifies both the blockchain network and cryptocurrency token in the format {CHAIN}_{TOKEN}. Supported values include:

  • USDC: ETH_USDC, ARBITRUM_USDCOIN, SOL_USDC, BASE_USDC, MATIC_USDC2, BSC_USDC
  • USDT: TRON_USDT, ETH_USDT, ARBITRUM_USDT, SOL_USDT, BASE_USDT, MATIC_USDT, BSC_USDT
custom_payer_id
string
required

Unique customer identifier on the merchant side, used to allocate a dedicated top-up address

merchant_id
string

The merchant ID.

Response

The request was successful.

address
string
required

The dedicated top-up address assigned to a specific payer under a merchant on a specified chain.

Example:

"0x1234567890abcdef..."

payer_id
string
required

A unique identifier assigned by Cobo to track and identify individual payers.

Example:

"P20250619T0310056d7aa"

custom_payer_id
string
required

A unique identifier assigned by the developer to track and identify individual payers in their system.

Example:

"user_abc_10001"

merchant_id
string
required

The merchant ID.

Example:

"M1001"

token_id
string
required

The token ID, which is a unique identifier that specifies both the blockchain network and cryptocurrency token in the format {CHAIN}_{TOKEN}.

Example:

"ETH_USDT"

min_amount
string
required

The minimum top-up amount allowed for this address. Top-ups below this threshold will not be credited to merchant or developer funds.

Example:

"0.1"

chain
string

The chain ID.

Example:

"ETH"

developer_fee_rate
string

The developer fee rate applied to top-up transactions made to this address. Expressed as a decimal string where "0.1" represents 10%.

Example:

"0.01"

created_timestamp
integer

The creation time of the top-up address, represented as a UNIX timestamp in seconds.

Example:

1744689600

updated_timestamp
integer

The last update time of the top-up address, represented as a UNIX timestamp in seconds.

Example:

1744689600