Pay-out API
Pay out crypto from platform wallets to external addresses
Pay-out API
The Pay-out API enables you to send cryptocurrency from your customer's platform wallet to any external wallet address. The source wallet is automatically detected based on the payment rail.
Currently, only crypto payouts are supported. Off-ramp (crypto-to-fiat) functionality will be available soon.
How It Works
- Auto-Detection: Specify the customer ID and rail (e.g.,
polygon
) - the system automatically finds the corresponding wallet - Transfer Creation: Creates a blockchain transaction from the customer's wallet to the specified external address
- Tracking: Returns a transfer ID (
tr_...
) for monitoring the payout status - Blockchain Confirmation: Transaction is broadcast to the blockchain and confirmed
API Specification
Endpoint
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
from | string | Yes | Customer ID whose wallet to payout from (e.g., cus_abc123 ) |
to | string | Yes | External wallet address (e.g., 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb ) |
amount | string | Yes | Amount to payout (decimal string, e.g., 20.5 ) |
currency | string | Yes | Currency code (e.g., USDC ) |
rail | string | Yes | Payment rail - currently only polygon is supported |
Example Request
Response Example
Response Fields
Field | Type | Description |
---|---|---|
id | string | Transfer ID for tracking the payout (e.g., tr_abc123 ) |
from | string | Customer ID |
to | string | External wallet address |
amount | string | Pay-out amount |
currency | string | Currency code |
rail | string | Payment rail used |
state | string | Pay-out state (pending , completed , failed , etc.) |
url | string | Blockchain explorer URL when transaction is broadcast |
Error Responses
Status | Error | Solution |
---|---|---|
400 | Off-ramp will be supported soon | Fiat rails (card , wire , etc.) are not yet supported for payouts |
400 | Rail X is not yet supported | Only polygon rail is currently available |
400 | Insufficient balance | Customer's wallet doesn't have enough balance for the payout |
404 | Customer X not found | Verify the customer ID is correct |
404 | No polygon wallet found | Customer doesn't have a wallet for the specified rail - create one first |
Common Use Cases
Cash-Out Flow
Enable customers to payout their crypto balances to their personal wallets:
Pay-outs to External Wallets
Send payments to external wallet addresses:
Best Practices
Balance Check: Always verify the customer has sufficient balance before initiating a payout to avoid errors.
Gas Fees: Pay-out amounts are net of gas fees. The actual amount received may be slightly less due to network fees.
Wallet Validation: Ensure the destination address is valid for the specified rail (e.g., valid Ethereum address for polygon
).