Error Codes
Market-data, order and account endpoints return errors in this format:
{ "success": false, "message": "PAIR_NOT_FOUND_ERROR", "code": 1027 }
When a field is missing or malformed, data names the field:
{ "success": false, "message": "INVALID_MODEL", "code": 1000, "data": { "quantity": ["INVALID_VALUE"] } }
Handle errors by code, not by message.
| Message | Code | Meaning |
|---|---|---|
| INVALID_MODEL | 1000 | A field is missing or malformed; data names the field |
| PAIR_NOT_FOUND_ERROR | 1027 | The pair does not exist |
| TICKER_NOT_FOUND_ERROR | 1028 | The pair exists but has no ticker yet |
| INVALID_REQUEST_ERROR | 1038 | A parameter is missing or invalid, or the request body is missing (data.body is REQUEST_BODY_REQUIRED) |
| INVALID_WITHDRAWAL_AMOUNT | 1038 | The withdrawal amount is zero, negative or malformed |
| WITHDRAWAL_AMOUNT_EXCEEDED | 1038 | The withdrawal amount is above the maximum for the asset |
| INVALID_ADDRESS_TAG | 1038 | The address tag (memo) is missing or invalid for the network |
| ORDER_COULD_NOT_BE_CANCELED | 1051 | The order cannot be cancelled: it is a market order, it is already filled, or a temporary failure occurred (retry). An order that is already cancelled returns 200 SUCCESS instead |
| NO_ORDER_MATCHES_YOUR_REQUEST | 1052 | The order to cancel does not exist or is not yours |
| BALANCE_NOT_ENOUGH | 1055 | Not enough free balance |
| EXIST_PENDING_REQUEST | 1059 | You already have a pending withdrawal for this currency and network (HTTP 409) |
| CURRENCY_NOT_FOUND | 1064 | The currency does not exist |
| AMOUNT_BELOW_MINIMUM_WITHDRAWAL_AMOUNT | 1068 | The amount is below the minimum withdrawal |
| PAIR_SYMBOL_IS_NECESSARY | 1079 | pairSymbol is required |
| CURRENCY_CHANNEL_NOT_FOUND | 1081 | The network (asset) does not exist |
| WITHDRAWAL_ADDRESS_NOT_WHITELISTED | 1091 | The address is not one of your saved withdrawal addresses for this currency and network |
| FAILED_SET_ORDER_UNEXPECTED | 1117 | An unexpected error occurred while placing the order; check All Orders by orderClientId before retrying |
| FAILED_MARKET_ORDER | 1118 | The market order was rejected; check quantity and pairSymbol |
| FAILED_LIMIT_ORDER | 1120 | The limit order was rejected; check price, quantity and pairSymbol |
| FAILED_ORDER_WITH_OPEN_ORDERS | 1122 | An identical order (same pair, side, price and quantity) is already open |
| FAILED_MIN_TOTAL_AMOUNT | 1123 | Price × quantity is below the pair's minExchangeValue |
| FAILED_INVALID_PRICE_SCALE | 1126 | The price has too many decimals |
| FAILED_INVALID_QUANTITY_SCALE | 1127 | The quantity has too many decimals |
| ORDER_METHOD_NOT_SUPPORTED | 1134 | The order method is unknown, not allowed on this pair, or a stop order (stoplimit, stopmarket), which the API does not accept |
| ORDER_NOT_FOUND | 1152 | The order does not exist or is not yours |
| ORDER_TYPE_NOT_SUPPORTED | 1193 | orderType must be buy or sell |
| PRICE_MUST_BE_LESS_THAN_MAXPRICE | 1226 | A buy price is above the pair's maxPrice |
| PRICE_MUST_BE_GREATER_THAN_MINPRICE | 1227 | A sell price is below the pair's minPrice |
| DUPLICATE_CLIENT_ORDER_ID | 1246 | newOrderClientId was already used in the last 24 hours; data.id holds the existing order's id, or null when the first request's result is not known yet (look the order up by orderClientId in Open Orders or All Orders) |
| ORDER_MAX_PRICE_EXCEEDED | 8003 | The price is above maximumLimitOrderPrice |
| ORDER_MIN_PRICE_EXCEEDED | 8004 | The price is below minimumLimitOrderPrice |
| ORDER_INSERT_BLOCKED | 8005 | Orders on this pair are paused for maintenance; retry later |
| ORDER_CANCEL_BLOCKED | 8006 | Cancels on this pair are paused for maintenance; retry later |
| TOO_MANY_REQUESTS | 8018 | Rate limit exceeded; see Rate Limits |
Create Crypto Withdrawal uses the format above; its page lists every withdrawal error. The other wallet endpoints (deposit addresses, withdrawal addresses, withdrawal lookups) return RFC 7807 problem documents:
{ "title": "Not Found", "type": "crypto-withdrawal-not-found", "status": 404, "detail": "Not found" }
| type | Status |
|---|---|
| symbol-not-found | 400 |
| currency-channel-not-found | 400 |
| crypto-deposit-address-not-found | 404 |
| crypto-withdrawal-address-not-found | 404 |
| crypto-withdrawal-not-found | 404 |
| withdrawal-address-blocked, suspicious-address, user-blocked | 403 |