Error Handling

All error responses use a consistent JSON format:

json
{
  "status": 400,
  "name": "invalid_amount",
  "description": "invalid amount: strconv.ParseFloat: parsing \"abc\": invalid syntax"
}
FieldTypeDescription
statusintegerHTTP status code
namestringMachine-readable error name (see table below)
descriptionstringHuman-readable explanation (may include internal details; do not display to end users)

The name field is stable and intended for programmatic error handling. The description field may change between releases and is intended for debugging.

Error Names

Validation (400)

NameDescription
missing_fieldRequired parameter or header is missing
invalid_paramParameter has an invalid format or value
invalid_request_bodyJSON body could not be parsed or fails schema validation
invalid_amountAmount is not a valid decimal or violates the market's lot size
invalid_pricePrice is not a valid decimal or violates the market's tick size
invalid_currencyCurrency code is not part of the market pair
invalid_orderOrder body could not be parsed
invalid_order_typeUnknown or unsupported order type, or an order type not permitted for the chosen fundingSource (see note below)
invalid_order_idOrder ID is not a valid format
invalid_fund_sourceFunding source is incompatible with the chosen order type (see note below)
invalid_intervalUnsupported candle interval
invalid_messageSIWE message could not be parsed

Authentication (401 / 403)

NameDescription
unauthorizedMissing or invalid bearer token
invalid_nonceSIWE nonce is invalid or expired
invalid_signatureSIWE signature verification failed
domain_mismatchSIWE domain does not match the server
wallet_not_allowedWallet is not authorized (403)

Not Found (404)

NameDescription
market_not_foundMarket symbol does not exist
order_not_foundOrder ID does not exist

Server (500 / 503)

NameDescription
internal_errorUnexpected server error
rpc_unavailableBlockchain node is unreachable (503)
not_implementedEndpoint is not yet implemented

The Error-Name response header also contains the error name for quick inspection without parsing the body.

Funding source and order type must be compatible. invalid_fund_source / invalid_order_type mean the fundingSource + orderType combination on your prepare-order request is not accepted for that path. Resting maker types (GTC, PostOnly) settle through the vault / auto-pull placeOrder path. See the funding source to function map.