Create a Payout
Overview
Payouts via the API are executed only from the balances of your master wallets.
Each payout request contains two key fields:
coin — the cryptocurrency in which the payout must be executed
auto_convert — defines whether the system is allowed to automatically convert other assets to complete the payout
The payout behavior depends on the value of auto_convert.
1. Payout in a specific cryptocurrency (auto_convert = false)
auto_convert = false)If auto_convert is set to false, the system will attempt to execute the payout strictly from the balance of the specified coin.
Requirements:
You must have enough balance in the selected
coinYou must have sufficient native token to pay network fees
If the balance in this coin is insufficient, the payout will fail with an error.
Example:
If you request a payout of 20 USD in LTC and auto_convert = false,
the system will withdraw the equivalent amount only from your LTC balance.
If the LTC balance is too low → the payout cannot be executed.
2. Payout with automatic conversion (auto_convert = true)
auto_convert = true)If auto_convert is enabled, the system will:
Collect available balances across your assets
Convert them to the required
coinExecute the payout in that cryptocurrency
This allows payouts to succeed even if your master wallet does not hold enough balance in the selected coin.
Example:
If you request a 20 USD payout in LTC, but only have USDT and ETH,
the system will automatically convert them into LTC and execute the payout.
This mode is ideal when:
you receive deposits in multiple currencies
you want payouts to succeed regardless of which coins you hold
you rely on USDT or a stablecoin as your primary balance
Create a Payout
POST https://api-processing.crypto-chief.com/v1/payout
Headers
Content-Type
application/json
Signature
Signed request body
Merchant
Merchant ID
Body
amount
string
true
Amount to be paid. If the amount includes pennies, use a ‘.’ as a decimal separator. Example: 10.28
coin
string
true
Coin code
order_id
string
true
Order identifier in your system. Must be a string consisting of letters, digits, underscores, and hyphens. No spaces or special characters allowed. order_id must be unique among seller’s invoices
user_id
string
true
Unique user identifier
network
string
true
Blockchain network code
address
string
true
The address of the wallet to which the funds will be withdrawn
url_callback
string
false
After successful payment, the user can click a button on the payment form to return to this URL
auto_convert
boolean
false
default: false Allows the system to automatically convert any available assets to the required payout coin. If set to false, the payout will be executed only from the balance of the specified coin; insufficient balance will result in an error.
course_source
string
false
The service from which exchange rates are taken for recalculation in the invoice. Available values: Binance BinanceP2P Bybit BybitP2P Exmo Kucoin
memo
string
false
An additional identifier for the TON, which is used to indicate a specific recipient or target.
Response
{
type: string, // Payment type PayIn/PayOut
uuid: string, // Unique identifier in our system
order_id: string, // Your order ID sent during creation
user_id: string, // Unique user identifier
lifetime: number | null, // Validity period of the issued invoice (in seconds)
expires_at: number, // Unix timestamp for expiration date/time
amount: string, // Amount of the created order
currency: string, // Currency code
payment_link: string | null, // Link to the payment terminal
fact_amount: string | null, // Amount of actual execution of the order
accuracy_payment_percent: number// Allowable payment inaccuracy
address: string | null // Wallet address for payment
qr_code: string | null, // Wallet address QR code
from: string | null // The wallet address from which the payment was made
txid: string | null // Transaction hash
coins: string[] | null, // List of allowed coins for payment
except_coins: string[] | null, // List of excluded coins for payment
commission: string | null, // Amount taken as commission
is_test: boolean, // Whether the order is a test order
status: string, // Current order status
additional_data: string | null, // Extra info sent at order creation
convert: {
coin: string | null, // Cryptocurrency code for credited amount
network: string | null, // Blockchain network code
rate: string | null, // Conversion rate
course_source: string | null, // Service from which exchange rates are taken
},
extra: null, // Additional invoice information
created_at: string, // ISO-8601 order creation date/time
}{
"data": null,
"error": {
"status": 400,
"name": "BadRequestError",
"message": "Bad request, Order already Exist",
"details": {}
}
}Last updated