BxBytix

Withdrawals

Pay a customer from available USD. There is no checkout popup — your CRM calls the API.

Available balance

Paid orders credit a USD available balance. Read it with GET /v1/balance. Each withdrawal debits that balance. The dashboard Available card and Withdrawals list show the same number. You cannot overdraw: create returns 40000 with Insufficient available balance.

Create

POST http://127.0.0.1:43120/v1/payouts with a unique payout_id per workspace. Amounts are USD decimal strings. asset and network must match a row in data.payout_coins from GET /v1/coins (ticker + network name).

bash
curl -X POST "http://127.0.0.1:43120/v1/payouts" \
  -H "Authorization: Bearer pk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "payout_id": "wd_001",
    "amount": "25.00",
    "asset": "USDT",
    "network": "Tron",
    "address": "T...",
    "payer_id": "user_1001"
  }'

Confirm

  1. Handle payout.submitted, then payout.completed or payout.failed. Ack with the plain text body success. See Webhooks.
  2. Or poll POST /v1/payouts/info with payout_id.

On failed, available USD is credited back. Treat only completed as money left the merchant.

Errors

CodeTypical cause
40000Missing fields, amount ≤ 0, unknown asset/network, invalid address, insufficient balance
40100Missing or invalid API key
40400Query with an unknown payout_id