Wallets & SecurityFeatured

What is a destination tag and when do I need to use one for XRP transactions?

Last updated:

A destination tag is a numeric identifier (0 to 4,294,967,295) used to specify which user account should be credited when sending XRP to a shared wallet address, most commonly required when sending to cryptocurrency exchanges, payment processors, or custodial services.

## What Problem Does It Solve?

### The Shared Wallet Architecture

Why Exchanges Use One Address for Multiple Users:

Technical Reality: - Coinbase has 100+ million users - Creating separate XRPL accounts for each user would require: - 1 billion+ XRP locked in reserves (100M users × 10 XRP) - Managing millions of private keys - Monitoring millions of addresses - Expensive and complex infrastructure

Practical Solution: - Exchange uses single (or small number of) XRPL wallet addresses - All users deposit to same address - Destination tag identifies which user account to credit - Exchange's internal database maps tags to user accounts

Analogy: Think of an apartment building: - Address: 123 Main Street (the exchange's XRPL address) - Destination Tag: Apartment #405 (your specific account) - Mail sent to "123 Main Street" without apartment number can't be delivered to correct resident - XRP sent without destination tag can't be credited to correct exchange account

## How Destination Tags Work

### Technical Specifications

Format: - 32-bit unsigned integer: Range from 0 to 4,294,967,295 - Optional field in XRP transactions - No additional fee: Including destination tag doesn't increase transaction cost

In Transaction Structure: ```json { "Account": "rSendersAddress123...", "Destination": "rExchangeAddress456...", "Amount": "100000000", // 100 XRP in drops "DestinationTag": 98765432, "Fee": "12" } ```

### When Destination Tags Are Required

Mandatory Situations:

Cryptocurrency Exchanges: - Coinbase: Required - Binance: Required - Kraken: Required - Bitso: Required - Upbit: Required - All major exchanges: Required

Each user gets unique tag: - Your Coinbase tag: 12345678 - Another user's tag: 87654321 - Same destination address, different tags

Payment Processors: - BitPay (if accepting XRP) - Crypto payment gateways - Merchant services

Custodial Wallets: - Services holding XRP for multiple users - Institutional custody platforms

When NOT Required:

Personal Wallets: - Xaman (your own wallet) - Ledger/Trezor hardware wallet - Any self-custody wallet you control - Wallet-to-wallet transfers between individuals

Decentralized Services: - XRPL DEX (on-chain, direct wallet interaction) - Smart contracts on XRPL

## What Happens If You Forget the Destination Tag?

### The Problem

Your XRP Arrives, But... - Exchange receives the XRP - Exchange cannot identify which user account to credit - Funds go into "unallocated" holding area - Your exchange account balance doesn't update

### Recovery Process

Typical Steps (Exchange-Dependent):

1. Contact Exchange Support: - Submit support ticket immediately - Provide transaction hash (TXID) - Provide source address you sent from - Provide destination tag you should have used - Provide exact amount sent

2. Exchange Investigation: - Support team verifies transaction on blockchain - Matches amount and timing to your account - Manually credits your account

3. Timeline and Fees: - Recovery time: 3-10 business days typically - Recovery fee: $50-200 (varies by exchange) - Not always guaranteed: Some exchanges refuse or take months

Real-World Examples:

Coinbase: - Recovery fee: $100 - Typical timeline: 5-7 business days - Success rate: ~95% if properly documented

Binance: - Recovery fee: $50-150 - Timeline: 3-5 business days - Requires detailed form submission

Kraken: - Recovery fee: $100 - Timeline: 5-10 business days - Generally reliable recovery

### Prevention Is Critical

The cost and hassle of recovery far exceeds the 30 seconds to verify destination tag before sending.

## How to Use Destination Tags Correctly

### Step-by-Step: Sending to Exchange

1. Get Deposit Information from Exchange:

Navigate to your exchange's deposit section: - Select "XRP" or "Ripple" - Click "Deposit" or "Receive" - Exchange displays: - Deposit Address: rExampleAddress123... - Destination Tag: 12345678 (yours uniquely) - Often shows QR code

2. Copy BOTH Pieces of Information: - Copy destination address (long rXXX... address) - Copy destination tag (numeric code) - Never manually type: Use copy/paste to avoid errors

3. Enter in Your Wallet (Example: Xaman): - Open Xaman and tap "Send" - Paste destination address in address field - Important: Look for "Destination Tag" field (may need to expand) - Paste or type destination tag number - Enter amount to send

4. Verify Before Confirming:

Check: - Destination address matches exchange's exactly - Destination tag matches your assigned tag - Amount is correct - Red flag: If destination tag field is empty and sending to exchange, STOP

5. Confirm and Send: - Review one final time - Confirm transaction - Save transaction hash for your records

### Wallet-Specific Guidance

Xaman: - Destination tag field clearly labeled - App warns if sending to known exchange address without tag - QR code scan automatically fills both address and tag

Ledger Live: - Destination tag field under "Advanced options" (easy to miss!) - Must manually expand to see tag field - No automatic warning if omitted

Exchanges (Withdrawing FROM Exchange): - Most exchanges auto-fill destination tag if withdrawing to own exchange - When withdrawing to personal wallet, leave tag blank (unless specific reason)

## Advanced: Destination Tag Best Practices

### For Users

Double-Check Every Time: - Even if you've sent to same exchange 100 times - Tags can change if you close and reopen accounts - Small distraction can lead to $100+ recovery fee

Save Deposit Info Securely: - Screenshot or save exchange deposit info - Store in password manager or secure note - Update if exchange ever changes your tag

Test With Small Amount First: - If sending to new exchange for first time - Send 10-20 XRP as test - Confirm it arrives and credits correctly - Then send larger amount

### For Developers/Merchants

Require Destination Tags: - If operating shared wallet for users - Implement tag requirement at API level - Database: Map each tag to user account ID

Validate Tags: - Check tag is numeric - Check tag is within valid range (0-4,294,967,295) - Check tag is assigned to active user

Monitor Untagged Transactions: - Automated system to flag incoming XRP without tags - Customer support workflow for manual recovery - Consider reject or return policy if feasible

## Destination Tags vs. Other Identifiers

### X-Address Format (Alternative)

What It Is: - New address format combining address and destination tag - Format: XVLhHMPHU98es4dbozjVtdWzVrDjtV5fdx1mHp98tDMoQXb - Starts with "X" instead of "r" - Encodes both destination address and tag in single string

Advantages: - Cannot forget tag: Embedded in address - Simpler user experience (one field instead of two) - Reduces errors

Adoption: - Supported by Xaman, Bithomp, some exchanges - Not yet universal - Most exchanges still use traditional rAddress + tag format

Conversion: - Tools exist to convert rAddress + tag to X-Address and vice versa - Example: https://xrpaddress.info/

### Memos (Different Purpose)

Transaction Memos: - Optional text field in XRPL transactions - Can include arbitrary data (up to 1KB) - Used for notes, invoice numbers, messages - NOT a substitute for destination tags

Exchanges don't use memos for user identification (they use destination tags)

## Common Mistakes and How to Avoid Them

Mistake 1: Confusing Destination Tag with Transaction Hash - Destination tag: Short number you provide BEFORE sending - Transaction hash: Long alphanumeric code created AFTER transaction confirms - Fix: Destination tag is given by receiver, not generated by transaction

Mistake 2: Using Someone Else's Tag - Copying tag from forum post or friend - Result: Your XRP credits their account - Fix: Always get deposit info from YOUR OWN exchange account

Mistake 3: Adding Tag When Not Needed - Sending to personal wallet but including random tag - Result: Usually harmless (tag ignored), but creates confusion - Fix: Only include destination tag when explicitly required by receiver

Mistake 4: Swapping Address and Tag - Pasting tag into address field and vice versa - Result: Transaction fails (invalid address format) - Fix: Address is long (rXXX..., 25-35 characters), tag is short number

Mistake 5: Using Outdated Tag - Using tag from old screenshot or note - Result: May credit wrong account if tag reassigned - Fix: Always get fresh deposit info from exchange before each send

## Recommendation Summary

Key Takeaways: 1. Destination tags are critical when sending to exchanges (almost always required) 2. Not needed for personal wallet-to-wallet transfers 3. Forgetting tag = expensive and slow recovery ($50-200 fee, days/weeks wait) 4. Always verify BOTH address AND tag before confirming transaction 5. Copy/paste, never manually type address or tag 6. When in doubt, check with recipient if destination tag is required

Golden Rule: Treat destination tag with same importance as destination address. Both are required for successful delivery to exchanges and custodial services.

Last updated: February 2026

Was this helpful?

Related Questions

Have more questions?

Browse our complete FAQ or contact support.