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 19 days ago