Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.xentfi.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Why Use Deposit Addresses?

๐ŸŽฏ Payment Tracking

Each address is unique per customer or invoice, making it easy to identify who paid and for what

๐Ÿ”„ Automated Reconciliation

Match incoming payments to specific customers automatically without manual intervention

๐Ÿ”’ Privacy & Security

Customers donโ€™t share addresses; each transaction uses a unique address for better privacy

๐Ÿ“Š Analytics

Track payment behavior per customer, identify trends, and optimize your payment flow

How It Works

Use Cases

Per-Customer Addresses

Assign a permanent deposit address to each customer for recurring payments:
Use CaseBenefit
Subscription billingSame address for all subscription payments
VIP customersFaster checkout experience
Business accountsEasy reconciliation per client

Per-Invoice Addresses

Generate a unique address for every invoice:
Use CaseBenefit
One-time paymentsClear payment-to-invoice mapping
Marketplace settlementsTrack which order paid
Event ticketsMatch payment to specific attendee

Refund Addresses

Whitelist addresses for processing refunds:
Use CaseBenefit
Customer refundsPre-verified addresses only
Exchange withdrawalsSecure withdrawal destinations
Partner payoutsAutomated distribution

Creating Deposit Addresses

Basic Creation

curl -X POST https://api.xentfi.com/v1/addresses \
  -H "apiKey: your-api-key" \
  -H "orgId: your-org-id" \
  -H "Content-Type: application/json" \
  -d '{
    "masterId": "your-master-wallet-id",
    "name": "Customer: john@example.com"
  }'
{
    "data": {
        "id": "addr_123e4567-e89b-12d3-a456-426614174000",
        "name": "Customer: john@example.com",
        "walletAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0",
        "masterWalletId": "your-master-wallet-id",
        "blockchain": {
            "id": "eth-mainnet",
            "name": "Ethereum",
            "chainId": 1
        },
        "createdAt": "2024-01-15T10:30:00.000Z"
    }
}

Address Lifecycle

Whitelisting External Addresses

For addresses you own (exchange accounts, other wallets), you can whitelist them:
curl -X POST https://api.xentfi.com/v1/addresses/whitelist \
  -H "apiKey: your-api-key" \
  -H "orgId: your-org-id" \
  -H "Content-Type: application/json" \
  -d '{
    "masterId": "your-master-wallet-id",
    "walletAddress": "0xExternalAddress...",
    "name": "Binance Withdrawal Address"
  }'

Benefits of Whitelisting

BenefitDescription
โœ… SecurityPrevents sending to unauthorized addresses
โœ… Faster withdrawalsPre-approved addresses skip verification
โœ… Audit trailTrack all withdrawal destinations
โœ… ComplianceMeet regulatory requirements

Address Monitoring

Enable Monitoring

Get real-time notifications when your deposit address receives funds:
curl -X POST https://api.xentfi.com/v1/addresses/{addressId}/monitoring/enable \
  -H "apiKey: your-api-key" \
  -H "orgId: your-org-id" \
  -H "Content-Type: application/json" \
  -d '{
    "blockchainId": "eth-mainnet"
  }'

What Gets Tracked

EventDescriptionWebhook Event
Payment receivedFirst confirmationpayment.detected
Payment confirmedBlock confirmationpayment.confirmed
Payment completedSettlement finalizedpayment.completed
Payment failedTransaction failedpayment.failed

Transaction History

View all transactions for a specific deposit address:
curl -X GET https://api.xentfi.com/v1/addresses/{addressId}/transfers \
  -H "apiKey: your-api-key" \
  -H "orgId: your-org-id" \
  -G \
  -d "pageSize=20" \
  -d "order=DESC"

Address Management Best Practices

  • Naming Convention: Use consistent naming like customer_{email} or invoice_{id}
  • Metadata: Store additional info (customer ID, order ID) in metadata field
  • Monitoring: Enable for all production addresses
  • Retention: Keep address records for audit purposes
  • Cleanup: Deactivate unused addresses periodically
FeatureDeposit AddressPayment Link
Best forRecurring customers, API integrationOne-time payments, marketing campaigns
Customer experienceCopy/paste addressHosted payment page
Payment methodsCrypto onlyCrypto + Wallet Connect
TrackingPer addressPer link
QR codeCan generate manuallyAuto-generated
ExpirationPermanentConfigurable

Reconciliation Strategies

Per-Customer Strategy

Per-Invoice Strategy

Security Considerations

RiskMitigation
Address reuseGenerate new addresses per customer/invoice
Typo errorsValidate addresses before whitelisting
PhishingUse consistent naming and verification
Key compromiseRotate API keys, monitor suspicious activity
Wrong networkDisplay network warnings to customers

Dashboard View

Deposit Addresses Dashboard The deposit addresses dashboard shows all your addresses with real-time status.

Common Patterns

E-commerce Checkout

  1. Customer places order
  2. Create deposit address with order ID in name
  3. Display address to customer
  4. Monitor for payment
  5. Update order status on webhook

Subscription Billing

  1. Customer signs up
  2. Create permanent deposit address for customer
  3. Store address in customer profile
  4. Customer uses same address for all payments
  5. Webhook triggers subscription renewal

Crypto Payroll

  1. Employee onboarded
  2. Whitelist employeeโ€™s personal wallet
  3. Set up auto-settlement to whitelisted address
  4. Payroll automatically distributed

Troubleshooting

Possible causes:
  • Wrong network selected
  • Address not activated
  • Blockchain congestion
Solutions:
  • Verify network matches senderโ€™s network
  • Check address status in dashboard
  • Wait for block confirmations
Possible causes:
  • Monitoring not enabled
  • Webhook URL not configured
  • Network issues
Solutions:
  • Enable monitoring for the address
  • Verify webhook configuration
  • Check webhook logs
Possible causes:
  • Sender sent wrong amount
  • Decimal place confusion
  • Gas fee deduction
Solutions:
  • Verify expected amount
  • Check token decimals
  • Review transaction details

Performance Metrics

MetricTargetDescription
Address creation time< 1 secondTime to generate new address
Payment detection< 10 secondsTime to detect incoming payment
Confirmation timeNetwork dependentTime for block confirmations
Webhook delivery< 5 secondsTime to send webhook notification

Pricing & Limits

PlanMax AddressesMonitoringSupport
Starter100BasicEmail
Professional1,000AdvancedPriority
Business10,000PremiumDedicated
EnterpriseUnlimitedCustom24/7

Master Wallets

Parent wallet management and treasury

Payment Links

Hosted payment pages for one-time payments

Webhooks

Real-time payment notifications

Next Steps