VORDIUM DOCS
API Reference

Error Codes

How the engine reports rejections, and what to do about each.

Shape

Errors return a non-2xx HTTP status and a JSON body:

JSON
{ "error": "insufficient_margin", "message": "free balance below required margin" }

Always branch on error, never on the human-readable message — the wording may change.

HTTP statuses

StatusMeaningRetry?
400Malformed request or failed validationNo — fix the request
401Signature did not recover to an authorised keyNo — re-sign
404Unknown route, pair or addressNo
409Duplicate clientNonceYes — re-sign with a fresh nonce
429Rate limitedYes — back off
5xxEngine or node errorYes — with backoff

Common errors

errorCauseFix
invalid_signatureSigned value differs from the posted bodyRebuild the digest from the exact body
session_expiredSession key past its expiryCreate a new session key
session_not_foundKey was revoked or never registeredRe-create the session
insufficient_marginFree balance below required marginDeposit, or reduce size/leverage
leverage_exceededAbove the 50x maximumLower leverage
reduce_only_violationReduce-only order would increase the positionClear the flag or lower size
market_haltedTrading halted for the pairWait — halts are safety-only
duplicate_nonceclientNonce already usedRe-sign with a new nonce
price_out_of_bandLimit price too far from markMove the price toward the mark
unknown_pairpair_id is not one of the live 15Check /oracle/prices

409 is expected under load

A duplicate nonce is normal when retrying. Re-sign with a fresh clientNonce rather than re-posting the same payload — the SDK does this for you, up to three attempts.