Skip to main content

Get Coin Detail

Retrieves detailed information about a cryptocurrency, including supported networks, withdrawal settings, and deposit configurations.

Common Properties

  • Name - The custom name of the node.
  • Color - The custom color of the node.
  • Delay Before (sec) - Waits in seconds before executing the node.
  • Delay After (sec) - Waits in seconds after executing node.
  • Continue On Error - Automation will continue regardless of any error. The default value is false.
info

If the ContinueOnError property is true, no error is caught when the project is executed, even if a Catch node is used.

Inputs

  • Client Id - The unique identifier from the Connect node (optional if using direct credentials).
  • Currency - The cryptocurrency symbol (e.g., BTC, ETH, BNB, USDT).

Options

  • Api Key - (Optional) Binance API key credential. Use if not providing Client Id.
  • Secret Key - (Optional) Binance API secret key credential. Use if not providing Client Id.

Output

  • Result - An object containing detailed coin information including network configurations, fees, and withdrawal/deposit settings.

How It Works

The Get Coin Detail node queries Binance for comprehensive cryptocurrency information.

When executed, the node:

  1. Retrieves the Binance client (from Client Id or creates one from credentials)
  2. Validates the Currency input
  3. Queries Binance's asset detail service
  4. Returns detailed coin information including network configurations

Requirements

  • Either a Client Id from Connect node OR API credentials in options
  • Valid cryptocurrency symbol
  • Appropriate API permissions (account reading enabled)

Error Handling

The node will return specific errors in the following cases:

  • ErrInternal - Failed to retrieve input values
  • ErrInvalidArg - Empty or invalid Currency
  • ErrGetAssetDetail - Failed to retrieve asset details from Binance
  • ErrSetResult - Failed to set the output result

Usage Notes

  • Currency symbol must be exact (case-sensitive, usually uppercase)
  • Returns information for all supported networks for the coin
  • Includes withdrawal fees, minimum withdrawal amounts, and network status
  • Network availability can change based on Binance operations
  • Some coins support multiple networks (e.g., USDT on ETH, BSC, TRX)

Coin Detail Structure

The result typically includes:

{
"BTC": {
"coin": "BTC",
"name": "Bitcoin",
"networkList": [
{
"network": "BTC",
"coin": "BTC",
"withdrawIntegerMultiple": "0.00000001",
"isDefault": true,
"depositEnable": true,
"withdrawEnable": true,
"depositDesc": "",
"withdrawDesc": "",
"name": "Bitcoin",
"resetAddressStatus": false,
"addressRegex": "^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^bc1[qzry9x8gf2tvdw0s3jn54khce6mua7l]{39,59}$",
"memoRegex": "",
"withdrawFee": "0.0005",
"withdrawMin": "0.001",
"withdrawMax": "9999999",
"minConfirm": 1,
"unLockConfirm": 2
}
]
}
}

Network Information Fields

Network Settings:

  • network - Network identifier (BTC, ETH, BSC, TRX, etc.)
  • coin - Coin symbol
  • name - Network display name
  • isDefault - Whether this is the default network for this coin

Deposit:

  • depositEnable - Whether deposits are currently enabled
  • depositDesc - Description or notice about deposits
  • minConfirm - Minimum confirmations required for deposit

Withdrawal:

  • withdrawEnable - Whether withdrawals are currently enabled
  • withdrawDesc - Description or notice about withdrawals
  • withdrawFee - Withdrawal fee amount
  • withdrawMin - Minimum withdrawal amount
  • withdrawMax - Maximum withdrawal amount per transaction
  • withdrawIntegerMultiple - Step size for withdrawals
  • unLockConfirm - Confirmations required before unlocking funds

Validation:

  • addressRegex - Regular expression for validating addresses
  • memoRegex - Regular expression for validating memos (if required)

Example: Get Bitcoin Information

Scenario: Check BTC network details and withdrawal fees

Inputs:

  • Client Id: (from Connect node)
  • Currency: BTC

Output: Detailed Bitcoin information including withdrawal fees and network settings.

Example: Check Network Availability

[Connect]
|
v
[Get Coin Detail: USDT]
|
v
[For Each: network in result.networkList]
|
v
[If: network.depositEnable && network.withdrawEnable]
|
v
[Log: network.name + " is available"]
| Withdrawal Fee: network.withdrawFee
| Min Withdrawal: network.withdrawMin
v
[Disconnect]

Example: Find Cheapest Network

[Get Coin Detail: USDT]
|
v
[Filter: networks where withdrawEnable = true]
|
v
[Sort: by withdrawFee ascending]
|
v
[Select: first network (cheapest)]
|
v
[Log: "Cheapest network: " + network.name]
|
v
[Log: "Fee: " + network.withdrawFee + " USDT"]

Example: Validate Withdrawal Before Execution

[Get Coin Detail: BTC]
|
v
[Extract: btc_network = result.networkList[0]]
|
v
[Input: withdrawal_amount = 0.1]
|
v
[Validate Checks]
|
+---> [If: withdrawal_amount < btc_network.withdrawMin]
| |
| +---> [Error: "Below minimum withdrawal"]
|
+---> [If: withdrawal_amount > btc_network.withdrawMax]
| |
| +---> [Error: "Above maximum withdrawal"]
|
+---> [If: !btc_network.withdrawEnable]
| |
| +---> [Error: "Withdrawals currently disabled"]
|
v
[Proceed with Withdrawal]

Multi-Network Coins

Some coins support multiple networks. Common examples:

USDT Networks:

  • ERC20 (Ethereum) - Higher fees, widely supported
  • BEP20 (BSC) - Lower fees, fast
  • TRC20 (Tron) - Very low fees, popular
  • Polygon, Avalanche, etc.

USDC Networks:

  • ERC20 (Ethereum)
  • BEP20 (BSC)
  • Polygon, Avalanche, Solana, etc.

BNB Networks:

  • BEP2 (Binance Chain)
  • BEP20 (BSC)

Choosing the Right Network

Consider these factors:

  1. Withdrawal Fee - Lower is better
  2. Destination Support - Ensure receiving wallet supports the network
  3. Speed - Confirmation times vary by network
  4. Reliability - Some networks may have occasional issues
  5. Network Status - Check depositEnable and withdrawEnable

Use Cases

Pre-Withdrawal Validation:

  • Check if withdrawals are enabled
  • Verify withdrawal amount is within limits
  • Calculate total cost including fees

Network Selection:

  • Find the cheapest network for a coin
  • Identify fastest network
  • Check network availability

Address Validation:

  • Use addressRegex to validate destination addresses
  • Check if memo is required (memoRegex not empty)
  • Prevent sending to invalid addresses

Fee Calculation:

  • Compare withdrawal fees across networks
  • Calculate total withdrawal cost
  • Optimize transfer costs

Best Practices

  • Check network availability before initiating withdrawals
  • Validate withdrawal amounts against min/max limits
  • Choose network based on destination wallet support
  • Consider both speed and cost when selecting networks
  • Verify address format using the provided regex patterns
  • Check for any withdrawal suspension notices in withdrawDesc
  • Cache coin details for a short period to reduce API calls
  • Always confirm network compatibility with receiving party

Common Network Codes

  • BTC - Bitcoin mainnet
  • ETH / ERC20 - Ethereum network
  • BSC / BEP20 - Binance Smart Chain
  • TRX / TRC20 - Tron network
  • MATIC - Polygon network
  • AVAX / AVAXC - Avalanche C-Chain
  • SOL - Solana network
  • ARBITRUM - Arbitrum network
  • OPTIMISM - Optimism network

Network Selection Tips

For Speed:

  • BSC (2-3 minutes)
  • Polygon (1-2 minutes)
  • Tron (1-2 minutes)

For Low Fees:

  • Tron (TRC20) - Usually under $1
  • BSC (BEP20) - Usually $0.50-$2
  • Polygon - Usually under $0.50

For Maximum Compatibility:

  • Ethereum (ERC20) - Most widely supported
  • Bitcoin - Native BTC network

Important Warnings

Network Mismatch

Always ensure the receiving wallet supports the selected network. Sending to the wrong network may result in permanent loss of funds.

Memo/Tag Required

Some networks require a memo or tag (e.g., XRP, XLM). Check memoRegex and ensure you include the memo when required.

Extracting Specific Information

// Get default network
const defaultNetwork = result[currency].networkList.find(n => n.isDefault);

// Get all enabled networks
const enabledNetworks = result[currency].networkList.filter(
n => n.depositEnable && n.withdrawEnable
);

// Find cheapest withdrawal network
const cheapestNetwork = result[currency].networkList
.filter(n => n.withdrawEnable)
.sort((a, b) => parseFloat(a.withdrawFee) - parseFloat(b.withdrawFee))[0];