Catalog
Catalog: supported chains and assets, address validation
Validate address
POST /v1/addresses/validateAPI key scope: read
Validate address: whether the format is valid and whether it is an in-platform address (withdrawals to in-platform addresses are internal transfers, not on-chain)
Request body
| Field | Type | Description |
|---|---|---|
address | string | Address |
chain_code | string | Chain code |
Request example:
{
"address": "TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf",
"chain_code": "TRON"
}Response (200, AddressValidation)
| Field | Type | Description |
|---|---|---|
internal | boolean | Whether it is a user deposit address on this platform; if so, withdrawals to it are internal transfers (instant, not on-chain, no fee) |
normalized_address | string | Normalized address (lowercase for EVM); empty when invalid |
valid | boolean | Whether the format is valid |
Response example:
{
"internal": false,
"normalized_address": "TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf",
"valid": false
}On failure the unified error body is returned; see Errors.
Supported assets
GET /v1/assetsAPI key scope: read
Supported assets: chain × token (decimals, contract, minimum deposit / withdrawal, fee); filterable by chain
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
chain_code | query | string | no | Chain code: optional; omit to return assets on all enabled chains |
Response (200, AssetList)
| Field | Type | Description |
|---|---|---|
assets | object (Asset)[] | |
assets[].chain_code | string | |
assets[].contract_address | string | Contract address; empty for native coins |
assets[].decimals | integer | |
assets[].deposit_enabled | boolean | |
assets[].explorer_url_template | string | Block explorer transaction URL template; replace {txHash} with the transaction hash |
assets[].min_deposit_amount | string | Amounts below are decimal strings in the main unit |
assets[].min_withdraw_amount | string | |
assets[].token_code | string | Token code, e.g. USDT |
assets[].token_name | string | |
assets[].withdraw_enabled | boolean | |
assets[].withdraw_fee | string |
Response example:
{
"assets": [
{
"chain_code": "TRON",
"contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
"decimals": 6,
"deposit_enabled": false,
"explorer_url_template": "https://tronscan.org/#/transaction/{txHash}",
"min_deposit_amount": "1",
"min_withdraw_amount": "10",
"token_code": "USDT",
"token_name": "Tether USD",
"withdraw_enabled": false,
"withdraw_fee": "1"
}
]
}On failure the unified error body is returned; see Errors.
Supported chains
GET /v1/chainsAPI key scope: read
Supported chains: only enabled chains are returned
Response (200, ChainList)
| Field | Type | Description |
|---|---|---|
chains | object (Chain)[] | |
chains[].code | string | Chain code: TRON / ETH / BSC |
chains[].evm_chain_id | string | EVM chainId (e.g. "1", "56"); empty for TRON |
chains[].name | string |
Response example:
{
"chains": [
{
"code": "TRON",
"evm_chain_id": "",
"name": "TRON"
}
]
}On failure the unified error body is returned; see Errors.