This page is for advanced / cryptocurrency-native companies. If that’s not you, head back to the Quickstart for the standard flows.
When users control their own crypto wallets, Coinflow uses the wallet address as their unique identifier. This eliminates the need for separate account systems and enables seamless Web3 experiences where users connect their wallets and cash out directly.
Use wallet addresses when your users own crypto wallets
User flow: Connect wallet → Complete KYC → Link bank → Withdraw
These scenarios require internal user IDs
Key Decision Factor: Who Controls the Funds?
If users control their own crypto wallets and balances, use wallet-based identification. If you manage user balances internally (database, internal ledger), use user ID-based identification. See Understanding Payout Flows for more details.
When using the API, pass the wallet address in the appropriate field:
x-coinflow-auth-wallet headerCoinflow supports wallet identification across multiple blockchain networks:
Users withdraw directly from their own wallets:
→ See User Self-Custodial Wallet Payouts for implementation details
Merchants can use wallet addresses to identify users even when paying from merchant wallets:
→ See Merchant Payout from BYO Wallet
Q: Can I use wallet addresses with Coinflow-managed wallets? A: Typically no. Coinflow In-App Wallets are designed for user ID-based identification. If you want wallet-based IDs, use user self-custodial or merchant BYO wallet flows.
Q: Do users need gas fees? A: For user self-custodial withdrawals, yes (unless using gasless EVM USDC). For merchant-initiated payouts, the merchant covers gas fees.
Q: Can users change their wallet? A: Users can link additional wallets, but each wallet creates a separate Coinflow identity. The original wallet-to-bank link remains tied to that specific wallet address.