Find temporary crypto addresses [Private]

Returns a list of temporary crypto addresses. Returns a list of temporary crypto addresses objects, newest first, 100 addresses maximum, but not more than specified by the limit parameter.


Available for Merchant accounts only!


To call any private endpoint, headers should include authorization key(s).

You may use a single API key or a public-private key pair based on your current tasks. Here you may find typical Header configurations for both options.

Method name:/v4/deposit/private/crypto/getMerchantAddress
Request type:GET

Data dictionary

NameTypeParameter typeRequiredRangeDescription
sourcestringQUERYNO-Blockchain name (e.g. BTC, XRP, ETH for all ERC20 tokens, TRX for all TRC20 tokens).
typeenumQUERYYESConst, InvoiceConst - list of constant cryptocurrency wallet addresses. Invoice - list of temporary cryptocurrency wallet addresses.
isActivebooleanQUERYNOtrue, falsetrue - active addresses, false - inactive addresses
takeintQUERYNO1 - 100Select the number of addresses. The default return is 20 addresses.
skipintQUERYNO1 - …Select the number of addresses to skip. The default is 0 addresses to skip.


source for TRC20 and ERC20 tokens:

USDT TRC20 and other TRC20 tokens - TRX.
USDT ERC20 and other ERC20 tokens - ETH.

You can learn more about all the blockchains in our knowledge base.


take and skip fields:

The maximum number of addresses you can get at one time is 100. If you have more than 100 addresses, you need to use the take and skip fields.

For example, you have 300 addresses:

  • at the first call, we get the first 100 addresses: /v4/deposit/private/crypto/getMerchantAddress?source=BTC&type=Invoice&take=100&skip=0;
  • to get the second array of the next 100 addresses: /v4/deposit/private/crypto/getMerchantAddress?source=BTC&type=Invoice&take=100&skip=100;
  • to get the third array of 100 addresses: /v4/deposit/private/crypto/getMerchantAddress?source=BTC&type=Invoice&take=100&skip=200.

Exemplary request

Example pathDescription
/v4/deposit/private/crypto/getMerchantAddress?source=TRX&type=Invoice&isActive=true&take=5Returns 5 active temporary addresses for assets on the TRC20 network.
/v4/deposit/private/crypto/getMerchantAddress?source=BTC&type=Const&isActive=true&take=5Returns 5 active constant addresses for BTC.
/v4/deposit/private/crypto/getMerchantAddress?source=ETH&type=Invoice&take=5&isActive=false&take=5Returns 5 inactive temporary addresses for assets in the ERC20 network.
const apiKey = "YOUR_API_KEY"; // put here your Api key

const url = "";
const path = "/v4/deposit/private/crypto/getMerchantAddress?source=BTC&type=Invoice&isActive=true";
const options = {
  method: "GET",
  headers: {
    accept: "application/json",
    "Content-Type": "application/json",
    "api-key": apiKey,

fetch(url + path, options)
    .then((response) => response.json())
    .then((showResponse) => console.log(;
import requests

api_key = "YOUR_API_KEY"  # put here your Api key

url = ""
path = "/v4/deposit/private/crypto/getMerchantAddress?source=BTC&type=Invoice&isActive=true"
headers = {
    "accept": "application/json",
    "Content-Type": "application/json",
    "api-key": api_key,

request = requests.get(url + path, headers=headers)

How to call private endpoints here

Swagger here


    "id": "034be441-8d2a-4938-bdab-e2d96645829b",             // ID of the address.
    "source": "BTC",                                          // Blockchain name for which you want to get the address to deposit into the account.
    "address": "bc1q7gs6trqm95ucpamvsy9m3u2t7mz2dvlmscgeru"   // Your deposit address.
    "id": "0f5a7f85-acfa-4b22-b9e2-8547ec706dfe",
    "source": "BTC",
    "address": "bc1q39jhaphcfv6sjjw8veuwhrwnf5a0xugnsm7pd2"