Generate HD Wallet Addresses
Poof's HD wallet infrastructure lets developers generate infinite unique crypto deposit addresses per wallet using secure XPUB-based derivation, ideal for scalable payment processing and privacy. All addresses are programmatically generated, tracked, and flushable back to a root wallet for streamlined treasury and settlement workflows.
📥 Receiving Payments: Infinite Unique Addresses per Wallet
The "Select Address to Receive" screen allows users to choose a specific crypto asset and address to receive payments into their wallet.
This page is Poof’s frontend wallet interface — designed to look and feel like a simple crypto wallet (think: Exodus, Phantom, MetaMask). It gives users a clean, intuitive way to:
- View balances across chains
- Send and receive crypto
- Track transactions
- Access addresses and memos/tags
- Swap and convert tokens (coming soon in licensed states)
But here’s the key: It’s just the frontend. Everything you see on that page is powered by backend APIs — and available to developers, platforms, and businesses.

But what’s happening behind the scenes is even more powerful: Each wallet created in Poof is a Hierarchical Deterministic (HD) Wallet, which means you can generate an infinite number of unique deposit addresses — all tied to the same wallet.

Hierarchical Deterministic (HD) Wallets
- Each asset (BTC, ETH, XRP, etc.) has its own XPUB (Extended Public Key).
- Every time a user wants to receive crypto, Poof derives a new address by incrementing the HD path (e.g. m/44'/0'/0'/0/index).
- This ensures no address reuse, improving both privacy and traceability.
✅ Why This Matters:
- Every address is unique and chain-specific — ideal for payment processing and tracking
- UTXO-based chains (like Bitcoin or Litecoin) will automatically handle multiple inputs per wallet
- Non-UTXO chains (like Ethereum or Solana) treat index 0 as the primary address, but you can still rotate for added obfuscation and accounting.
⚠️ Special Case Chains: XRP, Cosmos, and Others with Destination Tags
Some blockchain networks — including XRP (Ripple), Cosmos (ATOM), Stellar (XLM), and others — work differently from Bitcoin, Ethereum, and similar HD wallet-based systems.
Instead of allowing the generation of unique addresses for each payment, these chains:
- Use a single shared wallet address
- Rely on a destination tag, memo, or reference ID to identify the specific user or payment
🔑 Why No HD Derivation?
- These networks were not designed for address derivation or rotation like BTC/ETH.
- The blockchain itself does not support infinite address generation — only a single wallet per account.
- Instead, each transaction must include a destination tag (XRP), memo (Stellar, Cosmos), or similar identifier to route the payment internally.
🧬 XPUB Management & Derivation
Poof stores a secure XPUB per chain for each wallet, allowing it to:
- Derive new addresses on demand
- Associate them back to your root wallet
- Monitor all balances and transactions seamlessly
🧹 Flush Function: Consolidate Funds
Once you’re done receiving payments to multiple addresses, you can call a flush() function:
- This sweeps funds from all derived addresses back to index 0 (your main/root address).
- Useful for consolidating before a payout, treasury action, or reporting cycle.
- Keeps wallets lean and efficient without losing transaction history.
🌐 Recap
🔢 You can generate unlimited addresses per wallet for clean, trackable payments.
🔐 All addresses are derived from secure XPUBs, with no need to store private keys client-side.
🧼 You can flush funds back to your main address anytime — programmatically.
📈 This system is ideal for businesses processing high volumes of transactions or wanting strong privacy and traceability.
Updated 6 months ago