Skip to content

Error reference#

REST#

Failed requests return an HTTP error status; order-level failures also carry an error_code (ApiErrorCode) in the response body (OrderSummary.error_code, order status messages).

HTTP statuses#

Status Meaning
401 Unauthorized — missing/invalid API key, bad signature, or timestamp outside X-RECV-WINDOW
429 Rate limit exceeded — back off and retry

error_code values#

Authentication / request

Code Description
AUTHENTICATION_ERROR Key not recognized or not permitted
INVALID_SIGNATURE X-SIGN does not match the payload
INVALID_API_KEY Unknown API key
INVALID_TIMESTAMP X-TIMESTAMP outside the receive window
INVALID_REQUEST Malformed request
INVALID_PARAM A parameter failed validation
BATCH_OVERSIZE Too many orders in one batch call

Order validation

Code Description
INVALID_ORDER Order rejected at validation
INVALID_QUANTITY Quantity missing, non-positive, or below exchange minimum
QUANTITY_EXCEED Quantity above the allowed maximum
INVALID_SYMBOL Symbol unknown on the target exchange
INVALID_EXCHANGE Exchange not supported or not connected for the account
INVALID_TRADE_STRATEGY Unknown strategy value
INVALID_LIMIT_PRICE Limit price fails validation
INVALID_WOULD_PRICE Would price fails validation
INVALID_TRIGGER_PRICE Trigger price fails validation
INVALID_END_TIME End time in the past or before start time
INVALID_TRADE_TIME Execution window fails validation
INVALID_FEE Fee parameter fails validation

Execution / exchange

Code Description
INSUFFICIENT_FUNDS Not enough balance on the venue
EXCHANGE_ERROR Exchange rejected the request (unmapped venue error)
EXCHANGE_NOT_AVAILABLE Venue unreachable or in maintenance
NETWORK_ERROR Transient connectivity failure
SLIPPAGE_EXCEEDED Fill would exceed the slippage tolerance
EXPIRY_REACHED Order expired before completing
PARENT_ORDER_WAS_TERMINATED Child rejected because the parent was cancelled/finished
MAX_FEE_PER_GAS_IS_TOO_LOW DEX: gas fee cap too low
MAX_PRIORITY_FEE_PER_GAS_IS_TOO_LOW DEX: priority fee too low

Platform

Code Description
RATE_LIMIT_EXCEEDED Account request budget exhausted
DDOS_PROTECTION Venue anti-abuse triggered — reduce request rate
EMS_INSTANCES_DOWN Execution engine temporarily unavailable
SYSTEM_ERROR Internal error
SYSTEM_BUSY Platform under load — retry
OTHER Unclassified

WebSocket#

Every subscribe/unsubscribe gets a {code, message} response:

Code Meaning
0 OK — ack; message echoes your request
5 RATE_LIMIT_EXCEEDED — see Rate limits
8054 exchange missing or invalid
7002 Invalid request — unparseable message or missing method
7001 Internal error — the subscription stream terminated; re-subscribe

Close codes: 1001 idle timeout (no client message for 5 min), 1008 policy violation (rate limits, invalid listenKey).