Skip to main content
POST
Validate a perp order (execution unavailable)

Authorizations

Authorization
string
header
required

An OceanX API key, created in the app under Settings → Developer API. Send it as Authorization: Bearer ox_live_…. Required scopes are operation-specific: market reads use md.read, tracker uses tracker.read, copy reads use copy.read, alert operations use alerts.read or alerts.write, and owned wallet/funding reads require explicit account.read. New scopes require explicit selection and grant no trading authority. Existing perps operations retain their documented scopes.

Body

application/json
venue
enum<string>
required
Available options:
hl,
pacifica,
lighter,
aster,
dydx,
gmx,
ostium
venueSymbol
string
required
Required string length: 1 - 64
side
enum<string>
required
Available options:
buy,
sell
orderType
enum<string>
required
Available options:
market,
limit,
stop_market,
stop_limit,
take_market,
take_limit,
trailing_stop
size
number
required
Required range: x <= 1000000000000
limitPx
number
Required range: x <= 1000000000000
triggerPx
number
Required range: x <= 1000000000000
trailPct
number
Required range: x <= 100
leverage
Required range: 0 < x <= 1000
marginMode
enum<string>
Available options:
cross,
isolated
tif
string
Required string length: 1 - 16
reduceOnly
boolean
postOnly
boolean
clientOrderId
string
Required string length: 1 - 128
notionalCapUsd
number
Required range: x <= 1000000000000
holdHintHours
number
Required range: 0 <= x <= 8760
slippageBps
integer
Required range: 1 <= x <= 10000
perpLeg
object

Only an empty object is accepted; execution overrides are rejected.

Response

Failed validation before reaching the engine.

error
object
required
requestId
string

Request identifier on new token endpoints.