USDT / USDC payout API: fees, single payouts, and unknown results
A payout is complete when chain confirmation and business settlement agree. Before creating it, validate the source funds, network fees, destination, and business reference; persist subsequent platform status.
Choose the network and payment model
The public API offers single payouts; batch payouts are available in the merchant dashboard. Supported routes are TRON-USDT, BSC-USDT, BSC-USDC, and SOL-USDC. Destinations must match the network and cannot be the merchant’s own wallet. Watch-only wallets cannot sign payouts.
API parameters and integration steps
POST /openapi/payout/orders takes the network, asset, amount, toAddress, merchantOrderNo, and notifyUrl. fromAddress is optional; the platform can select a qualifying source. Replace the illustrative destination placeholder with a verified address. Keep deletion of the source disabled unless explicitly needed.
This request body is illustrative. No request is sent and no real merchant, key, or transaction is included. A complete server-side request also needs the documented UID, API Key, timestamp, nonce, and signature. Send amounts as strings and use precise arithmetic for accounting.
{
"chainCode": "TRON",
"tokenSymbol": "USDT",
"toAddress": "REPLACE_WITH_VERIFIED_TRON_ADDRESS",
"amount": "35.50",
"merchantOrderNo": "DEMO_PAYOUT_001",
"notifyUrl": "https://merchant.example.com/payouts/notify"
}
Statuses, callbacks, and exceptions
Save the PO orderNo and query GET /openapi/payout/orders/{orderNo}. confirmed is success and failed is failure. submitted, broadcasted, or an unknown result is not settlement success. Do not switch references to pay again. If a signed transaction is uncertain, verify the original transaction before any further action.
Wallet principal and the fee account are separate. Before payout, check the actual source balance and sufficient fee balance for network fees. A negative fee balance blocks critical operations. Compare current plan prices, address quotas, and payout or sweep fees separately; historical prices and raw gas estimates are not the platform charge.
Use the API Key associated with the original order and the unchanged rawBody. Verify HMAC-SHA256(timestamp + "." + nonce + "." + rawBody) against x-callback-signature. Then validate identity, order, asset, network, and amount. Use a database transaction and uniqueness constraint to process once; acknowledge with HTTP 2xx only after reliable persistence. A browser redirect is not payment confirmation.
Illustrative integration from API to fulfillment
Illustration: settle 35.50 USDT to a partner and save the payout orderNo. After a network interruption, query the original order and post settlement once only after confirmed. Unknown results remain pending while txHash is checked. Investigate a failure and the original transaction before following the documented recovery rules. No funds were sent for this example.
Checks before launch
- Valid signatures pass; changing the raw callback body causes verification to fail.
- Duplicate notifications credit once; interrupted processing can resume.
- Queries, callbacks, business entries, and on-chain transactions reconcile.
- Wrong networks, amount exceptions, expiry, and unknown results require investigation rather than immediate success.
Integration and technical references
- API parameters
- Request signing
- Callback verification
- Plans and network fees
- Related tutorial
- USDT payment API
- USDC payment API
- Dedicated address collection
- Node.js SDK
- PHP / Laravel SDK
- Node.js: HMAC and timing-safe comparison
These sources explain underlying standards and implementation. They do not imply endorsement of UUGate. Follow the current UUGate documentation for integration parameters.
USDT batch payouts: console entry, fees and per-payment results
The public API exposes single payouts only. USDT batch payouts are available in the merchant console. Developers seeking a batch payout API should distinguish this from looping over single requests: there is no promised atomic batch API or all-or-nothing completion.
Follow the payout tutorial, check each destination and network, source funds, and fee-account funds sufficient for the whole batch. Complete the entry's required 2FA. Wallet principal and the fee account are checked separately.
Reconcile every payout record, status and transaction hash. For partial failures or unknown results, retain and query the original records. A signed unknown result requires verification or replay of the original signature, never a new signature that could pay twice.