POST/v1/payouts
Create Payout
Send a customer withdrawal from available USD. Same payout_id for a workspace returns the stored payout (idempotent create). There is no checkout URL.
Request body
payout_idstringrequiredYour payout ID. Unique per workspace. Reuse returns the stored payout and does not debit again.
amountstringrequiredUSD amount as a decimal string, greater than 0.
assetstringrequiredTicker from GET /v1/coins payout_coins[].symbol, for example USDT.
networkstringrequiredNetwork display name from payout_coins[].network, for example Tron.
addressstringrequiredDestination address on that network.
payer_idstringoptionalYour user id. Shown on the dashboard Withdrawals list.
callback_urlstringoptionalPer-payout webhook URL. Defaults to Settings → Notifications.
Headers
AuthorizationheaderrequiredBearer pk_… from dashboard Settings → Developer.
Content-Typeheaderoptionalapplication/json on POST bodies. Not required on GET.
Response data
Wrapped as { code, msg, data }. HTTP 201 on a new payout, 200 when payout_id already exists.
idstringrequiredBytix payout id. Stable. Use it with query if you stored it.
payout_idstringrequiredYour payout id. Unique per workspace. Repeating it on create returns this same payout.
amountstringrequiredUSD amount as a decimal string.
currencystringrequiredAlways USD.
assetstringrequiredTicker sent on-chain, for example USDT.
networkstringrequiredNetwork display name, for example Tron.
addressstringrequiredDestination address.
crypto_amountstringoptionalQuoted crypto amount as a decimal string.
quote_ratestringoptionalUSD per unit of asset used for the quote.
statusstringrequiredpending, submitted, completed, or failed.
txidstringoptionalOn-chain transaction id when completed, else null.
payer_idstringoptionalYour user id, if sent on create.
created_atstringrequiredISO-8601 create time.
Errors
Failures still return JSON. Read code, not only the HTTP status. Full table: Errors.
40000HTTP 400optionalValidation: missing fields, amount ≤ 0, unknown asset/network, invalid address, or insufficient available balance.
40100HTTP 401optionalMissing or invalid API key, or the workspace is not active.