What Are Payouts and Why They Matter
Payouts enable your application to seamlessly transfer funds to your customers’ bank accounts, using cryptocurrency as the funding source. Whether you’re a developer or a business owner, this guide will help you integrate DollarPe’s Payout system.Prerequisites:
- Ensure you have completed the authentication setup
- Configure your webhook endpoint for real-time updates
- Review the following guides to ensure compatibility:
- supported geographies
- supported stablecoins and blockchains
- supported fiat methods
- Verify your users have completed KYC and have at least one verified bank account
Integration at a Glance
The Payout integration flow for centralized exchanges involves the following key steps:- Fetch Configurations - Retrieve the basic configuration to understand supported assets, networks, and limits.
- Validate user requirements – Ensure the customer has completed KYC verification and has at least one verified bank account added.
- Fetch payout limits – Retrieve payout limits to check daily limits, available limits, and whether Enhanced Due Diligence (EDD) is required.
- Fetch exchange rates – Retrieve the latest cryptocurrency exchange rates.
- Create a quotation – Generate a quote for the desired payout amount.
- Initiate the payout – Start the payout using the exchange order ID.
- Link exchange transfer ID – Link the exchange transfer ID with the payout.
- Monitor transaction status – Track the progress of the transaction.
- Handle completion – Finalize the payout once the transaction is confirmed.
Visual Integration Flow
Process Flow Diagram
Sequence Diagram: Detailed Process Flow
Step-by-Step Integration Guide
Step 1: Fetch Configurations
Before starting the integration, fetch the basic configuration to understand supported assets, networks, and limits:- API Request
- Response
supported_fiats: List of supported fiat currenciessupported_assets: List of supported cryptocurrenciessupported_networks: List of supported blockchain networkscoin_limits: Minimum and maximum limits for each supported cryptocurrency
Step 2: Check Customer KYC and Bank Account status
Before initiating any payout, ensure the customer is KYC-verified and has a verified bank account.- Fetch Customer Info
- Fetch Bank Account Info
Step 3: Check if EDD is Required
Before proceeding with the payout, check if Enhanced Due Diligence (EDD) is required for the customer. This step also returns current daily/available payout limits.- API Request
- Response
daily_limit: Maximum daily payout limit for the assetavailable_limit: Remaining available payout limit for the current daylimit_reset_timestamp: Unix timestamp when the daily limit will resetis_edd_required: Whether Enhanced Due Diligence (EDD) is required (true or false)is_limit_increase_available: Whether the customer can apply for a higher daily limit
Step 4: Fetch Exchange Rate
Get the real-time exchange rate for a given crypto asset.- API Request
- Response
asset: Cryptocurrency to be used (e.g., “USDT”, “USDC”)amount: Amount in cryptocurrencyrate: Current exchange rate (amount of fiat per 1 unit of crypto)
Step 5: Create a Quotation
After getting the current rate, create a quotation to lock in the rate.- API Request
- Response
asset: Cryptocurrency to be usedfiat: Fiat currency to receive (e.g., “INR” for Indian Rupee)sending_amount: Amount in cryptocurrencycustomer_id: ID of the KYC-verified customerexpiry_time: Time until the quotation expires
You must complete your transaction before this time expires.
Step 6: Initiate the Payout
Create a payout request with the exchange order ID:- API Request
- Response
quotation_id: ID received from Step 3customer_id: ID of the KYC-verified customerclient_reference_id: Your internal reference ID for tracking (optional)bank_id: ID of the verified bank accountexchange_order_id: ID of the order placed at the centralized exchangestatus: Current status of the payout
Most payouts are processed within 30-60 minutes, but can take up to 24 hours
during high volume periods or in case of bank processing delays.
Step 7: Monitor Transaction Status
After linking the exchange transfer ID, you need to track the payout status. There are two ways to monitor this status:Option A: Webhook Integration (Recommended)
Webhooks provide real-time updates about payout status changes. Configure your webhook endpoint to receive these notifications:Option B: Status Polling
If webhooks aren’t feasible, you can periodically check the status using the payout endpoint:- API Request
- Response
PROCESSING: Initial state, waiting for crypto confirmationSUCCESS: Payout has been successfully completed and UTR is generatedFAILED: Payout has failed and failure_reason is updated
Step 8: Handle Transaction Completion
Successful Transactions
When a payout is completed successfully:- Update your internal records with the transaction details
- Notify your user that the funds have been sent to their bank account
- Provide the bank reference number for their records (if available)
- Store the transaction details for future reference and customer support
Step 9: Link Exchange Order ID with Exchange Transfer ID
After the payout is successful, you must link the exchange transfer ID related to the crypto sent with the exchange order ID:- API Request
- Response
exchange_order_id: The order ID from your centralized exchangeexchange_transfer_id: The transfer ID associated with the crypto transaction
Testing Your Integration
Sandbox Environment
Before going live, test your integration thoroughly in our sandbox environment:- Use the base URL:
https://sandbox-api.dollarpe.xyz - Follow the same steps as production
- Test both successful and failed transaction scenarios
Getting Help
If you encounter any issues with your payout integration:- Check our API documentation for detailed endpoint information
- Visit the Troubleshooting Guide for common solutions
- Contact our support team with your customer_id and transaction logs
Our support team is available 24/7 to help with integration issues. For urgent
matters, use the in-app chat or call our technical support hotline.

