Skip to main content

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.
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., 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:

  1. Retrieves the Binance client (from Client Id or creates one from credentials)
  2. Validates Currency and Network inputs
  3. Queries Binance for the deposit address on the specified network
  4. 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 - Bitcoin
  • ETH - Ethereum
  • BSC - Binance Smart Chain (BEP20)
  • TRX - Tron (TRC20)

Other Networks:

  • BNB - Binance Chain (BEP2)
  • MATIC - Polygon
  • AVAXC - Avalanche C-Chain
  • SOL - Solana
  • ARBITRUM - Arbitrum
  • OPTIMISM - 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

Network Compatibility

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.

Tag/Memo Required

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:

  1. Sending Platform - What networks does the sender support?
  2. Speed - How fast do you need the deposit?
  3. Fees - What are the sender's transaction fees?
  4. 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