Errors
Rate limits: creating invoices (POST /v1/invoices and the dashboard form) and permanent deposit addresses (POST /v1/deposit-addresses) is limited to 60 per minute per merchant and 120 per minute per client IP, shared between both kinds. Over the limit the API answers 429 with code RATE_LIMITED and a Retry-After header in seconds. Back off for that long and retry with the same Idempotency-Key. Other API key requests are limited to 120 per minute per key.
Errors use { error: { code, message, requestId } }. INVALID_AMOUNT, UNSUPPORTED_ASSET, UNSUPPORTED_NETWORK, INVALID_IDEMPOTENCY_KEY, IDEMPOTENCY_CONFLICT, UNAUTHORIZED, FORBIDDEN, NOT_FOUND, RATE_LIMITED, MAINNET_DISABLED, INVALID_WEBHOOK_URL, GAS_REQUIRED, INSUFFICIENT_BALANCE, INVALID_ADDRESS, PRICE_UNAVAILABLE, INVALID_REFERENCE, INVALID_TOKEN, NOTHING_TO_RECOVER and AMOUNT_TOO_HIGH are stable codes. GAS_REQUIRED (HTTP 400, “Gas fees required for transactions. Please top up your gas fees account.”) means the merchant gas address needs more BNB: at least 5 USDT worth, and enough for owed fees, network gas, and this withdrawal’s fee. See Fees. Responses do not include stack traces, private keys, or database details.