Getting Started with Implementing Payouts

This guide outlines the core concepts required to implement payout flows supported through Coinflow. Before integrating withdrawals, developers should work with stakeholders to determine the right payout flow for your use case and configure each required step accordingly.

Merchants implementing payouts should determine which flow fits your use case:

Flow TypeSource of FundsWho Owns Wallet?Common Use Case
Merchant PayoutMerchant’s Wallet BalanceMerchantPlatforms that directly manage user balances or paying their users.
User Custodial PayoutWithdrawer’s Wallet BalanceEnd User (Withdrawer)User cashing out their own tokens.

Learn more about Coinflow’s supported payout flows.


Overview of a Payout Flow

Once you’ve selected a withdrawal flow and completed the setup of verification and payout options, the high-level implementation steps are:

  1. Perform KYC/KYB Verification
    Create a withdrawer. Verification ensures the user or business is legitimate before they can proceed with a withdrawal.

  2. Collect and Tokenize Payout Details
    Depending on the payout method, either:

    • Authenticate a bank account (for bank payouts), or
    • Tokenize a debit card (for push-to-card payouts).
  3. Add Payout Destination
    Save the tokenized bank or card details to the user’s profile as their payout destination.

  4. Select Payout Speed
    Pass the appropriate speed parameter depending on the destination and country.

  5. Initiate and Confirm Payout
    Submit the payout request and confirm its success or failure via webhook or response payload.


Payout Concepts

KYC or KYB Verification

A withdrawer must be created by passing Know-Your-Customer (KYC) or Know-Your-Business (KYB) verification before proceeding with a payout. This verification step ensures the identity of the individual or business is legitimate.
Coinflow supports multiple options for verification:

Debit Card Tokenization and Bank Authentication

Debit Card Tokenization

To remain PCI compliant, any merchant offering push-to-card payouts must tokenize card data. Tokenization replaces the actual card number with a secure, encrypted token, ensuring that sensitive card information is never stored or transmitted in raw form. This protects cardholder data and significantly reduces the risk of exposure in the event of a breach. Learn how to implement debit card tokenization for push-to-card payouts.

Bank Authentication

For payouts to bank accounts, Coinflow requires bank authentication in accordance with our AML (Anti-Money Laundering) policies. Bank authentication helps verify ownership of the bank account, mitigating fraud and ensuring funds are only sent to accounts that belong to the verified withdrawer. You can either integrate your own bank authentication provider or use Coinflow’s built-in solution. Learn how to implement bank authentication using Coinflow’s built-in solution.

Payout Destination

Payout destination is where the withdrawer will receive funds. Withdrawers can only select payout destinations that match what’s supported by the country selected on their verification. For example: if the country you select on verification is US, US withdrawers can only add payout destinations that are supported in the US.

Coinflow supports multiple options for payout destinations:

Country Selected on VerificationAllowable Payout DestinationsDefault Currency
United StatesUS Bank Account, Debit CardUSD
European UnionEuropean Bank AccountEUR
United KingdomUK Bank AccountGBP
BrazilBrazilian Bank AccountBRL

Payout Currency

By default, a Withdrawer’s currency will be set according to the country they select during verification. Only under certain scenarios can a withdrawer change the currency they receive. Learn how to change payout currency.

Payout Speeds

Every withdrawal method is associated with different payout speeds, and fees associated with them. On sandbox, the fees for each payout speed are hardcoded, but developers should work with stakeholders to understand what fees are per their MSA to ensure fees are configured correctly during testing. Learn more about payout speeds.