Pre request for crypto deposit [Private]
A pre-request for a deposit operation is required in order to receive information about the available deposit methods.
Method name: | /v2/deposit/pre-request |
Request type: | POST |
To call private endpoints, you need to get a JWT token or an API key for authentication.
Here you can learn in detail how to successfully authenticate.
As part of crypto-deposit, in response to pre-requests, payment methods are returned with the necessary details regarding the asset to be deposited. In fact, within a crypto-deposit, one payment method corresponds to a unique source
value.
In order to make a crypto deposit using /v2/deposit/address
, you need to have the following information:
- whether there is an available payment method for making such a deposit. If not, the deposit is not possible;
- which source is provided for the asset. That is, several payment methods with different sources may be available for some assets. For example USDT_TRX and USDT_ETH.
For each payment method, the pre-request also returns the value of the fees for deposit transaction and the minimum and maximum deposit amount.
By default (if the walletType is not specified in the request), the response will return information that is relevant only for wallets of the Customer type. If you need to obtain a list of methods, fees, and restrictions related to other wallet types (such as Institution or Wallet), you should include the walletType field in the request and specify the type of wallet for which the transaction is intended.
Data dictionary
Name | Type | Parameter type | Required | Range | Description |
---|---|---|---|---|---|
asset | string | BODY | YES | - | Asset(Currency) code, e.g. BTC - Bitcoin, ETH - Ethereum. |
Exemplary request
const url = BASE_URL;
const path = "/v2/deposit/pre-request";
const body = { asset: "USDT" };
const options = {
method: "POST",
headers: {
accept: "application/json",
"Content-Type": "application/json",
"Authorization": `Bearer ${data.accessToken}` // data.accessToken - generated a JWT token via /v2/auth/login.
},
body: JSON.stringify(body),
};
fetch(url + path, options)
.then((response) => response.json())
.then((showResponse) => console.log(showResponse.data));
import requests
url = BASE_URL
path = "/v2/deposit/pre-request"
headers = {
"accept": "application/json",
"Content-Type": "application/json",
"Authorization": "Bearer " + data.accessToken # data.accessToken - generated a JWT token via /v2/auth/login.
}
body = { "asset": "USDT" }
request = requests.post(url + path, headers=headers, json=body)
print(request.json())
How to call private endpoints here
Response
{
"data": [
{
"asset": "USDT", // Asset name.
"code": "crypto_deposit_eth_usdt", // Asset code.
"name": { // Text name of the method.
"en": "On wallet ERC20",
"ru": "На кошелек ERC20",
"uk": "На гаманець ERC20"
},
"position": 0, // Field positions.
"source": "ETH", // Network name.
"type": "Deposit", // Method type.
"fields": [], // Additional method fields.
"product": { // Object with information about the method.
"feeFixed": "0.0", // Fixed Fee.
"feeRate": "2.1", // Percentage fee.
"feeStrategy": "external", // external - commission paid by customer; internal - commission paid by the merchant.
"maxAmount": "1000", // Maximum deposit amount.
"minAmount": "1.5" // Minimum deposit amount.
}
},
{
"asset": "USDT",
"code": "crypto_deposit_trx_usdt",
"name": {
"en": "On wallet TRC20",
"ru": "На кошелек TRC20",
"uk": "На гаманець TRC20"
},
"position": 0,
"source": "TRX",
"type": "Deposit",
"fields": [],
"product": {
"feeFixed": "0.0",
"feeRate": "2.0",
"feeStrategy": "external",
"maxAmount": "1000",
"minAmount": "1.5"
}
}
]
}
Updated about 2 months ago