Get Deposit Address
Retrieves the deposit address for a specific cryptocurrency on a chosen blockchain network.
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.,
USDT,BTC,ETH). - Network - The blockchain network (e.g.,
BSC,ETH,TRX,BTC).
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 the deposit address and related information (tag/memo if required).
How It Works
The Get Deposit Address node retrieves your Binance deposit address for a specific coin and network.
When executed, the node:
- Retrieves the Binance client (from Client Id or creates one from credentials)
- Validates Currency and Network inputs
- Queries Binance for the deposit address on the specified network
- Returns the address and any required tag/memo information
Requirements
- Either a Client Id from Connect node OR API credentials in options
- Valid cryptocurrency symbol
- Valid network identifier that supports the cryptocurrency
- Appropriate API permissions (account reading enabled)
- The coin/network combination must be supported by Binance
Error Handling
The node will return specific errors in the following cases:
- ErrInternal - Failed to retrieve input values
- ErrInvalidArg - Empty Currency or Network
- ErrGetDepositAddress - Failed to retrieve deposit address (e.g., invalid coin/network combination, deposits disabled)
- ErrSetResult - Failed to set the output result
Usage Notes
- The deposit address is unique to your Binance account
- Some coins require a tag/memo in addition to the address
- Network must match the sending wallet's network
- Deposits to wrong network addresses may result in permanent loss
- Some networks may have deposits temporarily disabled
Deposit Address Response
The result object includes:
{
"address": "0x1234567890abcdef1234567890abcdef12345678",
"coin": "USDT",
"tag": "",
"url": "https://bscscan.com/address/0x1234567890abcdef1234567890abcdef12345678"
}
For coins requiring a memo/tag:
{
"address": "rEb8TK3gBgk5auZkwc6sHnwrGVJH8DuaLh",
"coin": "XRP",
"tag": "12345678",
"url": "https://xrpscan.com/account/rEb8TK3gBgk5auZkwc6sHnwrGVJH8DuaLh"
}
Response Fields
- address - The deposit address for receiving funds
- coin - The cryptocurrency symbol
- tag - Memo/tag if required (empty string if not required)
- url - Blockchain explorer URL for the address
Example: Get USDT Deposit Address on BSC
Scenario: Get your Binance USDT (BEP20) deposit address
Inputs:
- Client Id: (from Connect node)
- Currency:
USDT - Network:
BSC
Output:
{
"address": "0xabc...",
"coin": "USDT",
"tag": "",
"url": "https://bscscan.com/address/0xabc..."
}
Example: Generate Deposit QR Code
[Connect]
|
v
[Get Deposit Address]
| Currency: BTC
| Network: BTC
v
[Generate QR Code]
| Data: result.address
| Save: /images/btc_deposit_qr.png
v
[Send Email]
| Body: "Deposit BTC to: " + result.address
| Attachment: btc_deposit_qr.png
v
[Disconnect]
Example: Display Multi-Network Deposit Options
[Connect]
|
v
[Get Coin Detail: USDT]
|
v
[For Each: network in result.networkList where depositEnable]
|
v
[Get Deposit Address]
| Currency: USDT
| Network: network.network
v
[Display Option]
| Network: network.name
| Address: result.address
| Fee: network.withdrawFee
v
[Next Network]
|
v
[Disconnect]
Example: Create Payment Request
[Get Deposit Address: BTC, BTC]
|
v
[Create Payment Request]
|
+---> Address: result.address
+---> Amount: 0.001 BTC
+---> QR Code: bitcoin:{address}?amount=0.001
+---> Explorer Link: result.url
v
[Display to User]
Common Network Identifiers
Major Networks:
BTC- BitcoinETH- EthereumBSC- Binance Smart Chain (BEP20)TRX- Tron (TRC20)
Other Networks:
BNB- Binance Chain (BEP2)MATIC- PolygonAVAXC- Avalanche C-ChainSOL- SolanaARBITRUM- ArbitrumOPTIMISM- Optimism
Coins Requiring Tag/Memo
Some cryptocurrencies require a tag or memo in addition to the address:
With Tag:
- XRP (Ripple) - Tag required
- XLM (Stellar) - Memo required
- EOS - Memo required
- ATOM (Cosmos) - Memo required
Without Tag (most coins):
- BTC, ETH, USDT, BNB, etc. - Address only
Important Warnings
Always ensure the sending wallet uses the exact same network. Sending from a different network (e.g., sending ERC20 USDT to a BSC address) will result in permanent loss of funds.
If the result includes a non-empty tag field, you MUST include this tag/memo when sending funds. Failing to include the tag may result in lost funds or significant delays.
Use Cases
Receiving Deposits:
- Generate deposit addresses for users
- Create payment requests
- Display deposit instructions
Automation:
- Monitor deposits to specific addresses
- Auto-generate addresses for customers
- Create invoices with deposit information
Multi-Network Support:
- Offer multiple deposit options to users
- Show fees for different networks
- Let users choose preferred network
QR Code Generation:
- Create scannable deposit QR codes
- Include amount in QR code
- Make deposits easier for mobile users
Best Practices
- Always verify the network matches the sending wallet
- Display both address and network clearly to users
- Include tag/memo prominently if required
- Generate QR codes for easier mobile deposits
- Provide blockchain explorer links for transparency
- Warn users about network compatibility
- Show estimated confirmation times
- Display any minimum deposit amounts
- Check if deposits are enabled for the network before displaying address
Validating Deposits
After sharing a deposit address, you can monitor for incoming deposits using List Deposits node:
[Share Deposit Address]
|
v
[Loop: Every 30 seconds]
|
v
[List Deposits]
| Limit: 10
v
[Filter: deposits to our address]
|
v
[Check: for new deposits]
|
+---> [If: new deposit found]
|
v
[Process Deposit]
|
v
[Notify User]
Creating Payment URIs
For Bitcoin and some other cryptocurrencies, you can create payment URIs:
// Bitcoin
const paymentUri = `bitcoin:${address}?amount=${amount}`;
// Ethereum
const paymentUri = `ethereum:${address}?value=${amountInWei}`;
Network Selection Guide
Choose network based on:
- Sending Platform - What networks does the sender support?
- Speed - How fast do you need the deposit?
- Fees - What are the sender's transaction fees?
- Reliability - Is the network currently stable?
Common Patterns
Simple Deposit:
Get Deposit Address
→ Display to user
→ Monitor for deposit
→ Process when confirmed
Multi-Option Deposit:
Get Coin Detail (all networks)
→ For each enabled network:
→ Get Deposit Address
→ Display option with fees
→ User selects preferred network
Automated Invoice:
Calculate amount needed
→ Get Deposit Address
→ Generate QR code
→ Create invoice
→ Send to customer
→ Monitor for payment
Security Considerations
- Never share your API keys when sharing deposit addresses
- Deposit addresses are safe to share publicly
- Verify addresses haven't been modified (e.g., by malware)
- Use HTTPS when displaying addresses on web applications
- Consider address reuse implications for privacy
- Implement deposit limits for security