Errors & Response Codes
Error format and common response codes.
A successful request returns HTTP 200 with a JSON body. Any other status carries a JSON error object with a numeric code and a human-readable message.
HTTP status families
| Status | Meaning |
|---|---|
| 2XX | Success |
| 4XX | Malformed request or a problem on your side (bad params, auth, balance) |
| 429 | Rate limit exceeded, slow down |
| 418 | IP temporarily blocked for ignoring 429s |
| 5XX | An error on the SPACEDEX side. The action's outcome is unknown; do not blindly retry a trade |
Common error codes
| Code | Message | Cause |
|---|---|---|
| -1000 | Unknown error | An unexpected internal condition |
| -1021 | Timestamp outside recvWindow | Clock drift or a slow request; sync your clock |
| -1022 | Invalid signature | The signature did not match the payload |
| -1100 | Illegal characters in parameter | A parameter contained invalid characters |
| -1121 | Invalid symbol | The symbol does not exist or is not trading |
| -2010 | Insufficient balance | Not enough free balance for the order |
| -2011 | Unknown order | The order id or client order id was not found |
| -2013 | Order does not exist | Querying an order that never existed |
| -2014 | Invalid API key format | The API key header was malformed |
| -2015 | Rejected API key, IP, or permissions | Key disabled, IP not allowed, or missing permission |