Skip to main content

Error classes

Public read endpoints can return endpoint-specific 4xx and 5xx responses. The table below summarizes the request-submission HttpError classes most relevant to trading clients. InvalidRequestPayload is the coarse public class for malformed request bodies, including missing or partially populated replay-window fields.
Error reasonStatusRecovery
InvalidRequestPayload400Correct request schema or serialization
SignerNotFound401Sign with the correct trader wallet
InvalidRecvWindow400Keep replay window within accepted bounds
SessionUnauthorized401Rotate or repair delegated session payload
Forbidden403Stop and inspect policy/access posture
KycNotFound404Resolve KYC state before retry
IllegalNonce / ExpiredTimestamp / FutureTimestamp412Rebuild the request with valid replay fields
NotAcceptingRequests421Retry only after confirming the operator can accept durable sequencing work; this can reflect pending durable commit or temporary sequencing-path unavailability rather than a simple client routing mistake
InvalidEncryption422Re-encrypt payload with current key material
SafetyFailure422Fix payload or account/risk state before retry
RateLimit429Retry with bounded exponential backoff
InternalServerError500Retry cautiously after health checks
ServiceUnavailable503Treat as transient market-price unavailability; retry only after checking price availability and operator health

Current spec caveat

The runtime HttpError union is broader than the current generated operator client-request OpenAPI enum. Use Error Reference when you need the authoritative union rather than the generated subset.

Error payload handling

Payload fieldContract
error_reasonThe coarse routing class for retry, abort, or escalation decisions
safety_failurePresent for request-validation failures; parse it for deterministic retry versus fix-before-retry behavior instead of treating every 422 the same
messageHuman-readable operator detail; useful for logs, but not a replacement for machine handling on error_reason and safety_failure

Key safety failures

ReasonMeaning
SignatureRecoveryMismatchsigner mismatch during EIP-712 validation
OMFLessThanIMFpost-trade margin safety constraint violated
PriceNotMultipleOfTickSizeprice violates market tick-size rule
OrderAmountNotMultipleOfMinOrderSizeamount violates minimum size multiple
MaxTakerPriceDeviationBreachedprice-deviation guard rejected request
TooManyOrdersopen-order cap reached for strategy and market

421 and 503 interpretation

StatusTypical operator causeClient posture
421 NotAcceptingRequestsThe sequencer cannot currently admit the request path, including pending durable-commit replay outcomes or temporary request-path unavailabilityPause writes, recheck health, then retry with bounded attempts
503 ServiceUnavailableA request hit MarketPriceNotAvailable during validationRetry only after price inputs recover and the operator is healthy again

Adjacent routes

Last modified on April 13, 2026