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.
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:
- Retrieves the Binance client (from Client Id or creates one from credentials)
- Validates the Currency input
- Queries Binance's asset detail service
- 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:
- Withdrawal Fee - Lower is better
- Destination Support - Ensure receiving wallet supports the network
- Speed - Confirmation times vary by network
- Reliability - Some networks may have occasional issues
- 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
Always ensure the receiving wallet supports the selected network. Sending to the wrong network may result in permanent loss of funds.
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];