Phemex · Schema

Phemex Order

Schema for a Phemex trading order across contract, spot, and hedged perpetual markets.

CryptocurrencyDerivativesSpot TradingPerpetual ContractsFuturesWebSocketMarket Data

Properties

Name Type Description
orderID string Unique system-generated order identifier
clOrdID string Client-supplied order identifier
symbol string Trading pair symbol (e.g. BTCUSD, sBTCUSDT)
side string Order side
posSide string Position side for hedged perpetual orders
ordType string Order type
timeInForce string Time in force policy
ordStatus string Current order status
priceEp integer Order price scaled by priceScale (contract API)
priceRp string Order price as real number string (hedged perpetual API)
orderQty integer Order quantity in contracts (contract API)
orderQtyRq string Order quantity as real number string (hedged perpetual API)
baseQtyEv integer Base asset quantity scaled by valueScale (spot API)
quoteQtyEv integer Quote asset quantity scaled by valueScale (spot API)
qtyType string Quantity type for spot orders
reduceOnly boolean If true, order can only reduce an existing position
closeOnTrigger boolean If true, close position on trigger
stopPxEp integer Stop price scaled (contract API)
stopPxRp string Stop price as real number (hedged perpetual API)
takeProfitEp integer Take profit price scaled (contract API)
takeProfitRp string Take profit price as real number (hedged perpetual API)
stopLossEp integer Stop loss price scaled (contract API)
stopLossRp string Stop loss price as real number (hedged perpetual API)
cumQty integer Cumulative filled quantity
leavesQty integer Remaining unfilled quantity
transactTimeNs integer Transaction time in nanoseconds
createTimeNs integer Order creation time in nanoseconds
View JSON Schema on GitHub

JSON Schema

order.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/phemex/main/json-schema/order.json",
  "title": "Phemex Order",
  "description": "Schema for a Phemex trading order across contract, spot, and hedged perpetual markets.",
  "type": "object",
  "properties": {
    "orderID": {
      "type": "string",
      "description": "Unique system-generated order identifier"
    },
    "clOrdID": {
      "type": "string",
      "maxLength": 40,
      "description": "Client-supplied order identifier"
    },
    "symbol": {
      "type": "string",
      "description": "Trading pair symbol (e.g. BTCUSD, sBTCUSDT)"
    },
    "side": {
      "type": "string",
      "enum": ["Buy", "Sell"],
      "description": "Order side"
    },
    "posSide": {
      "type": "string",
      "enum": ["Long", "Short"],
      "description": "Position side for hedged perpetual orders"
    },
    "ordType": {
      "type": "string",
      "enum": ["Limit", "Market", "Stop", "StopLimit"],
      "description": "Order type"
    },
    "timeInForce": {
      "type": "string",
      "enum": ["GoodTillCancel", "ImmediateOrCancel", "FillOrKill", "PostOnly"],
      "description": "Time in force policy"
    },
    "ordStatus": {
      "type": "string",
      "enum": ["New", "PartiallyFilled", "Filled", "Canceled", "Rejected", "Triggered", "Untriggered"],
      "description": "Current order status"
    },
    "priceEp": {
      "type": "integer",
      "description": "Order price scaled by priceScale (contract API)"
    },
    "priceRp": {
      "type": "string",
      "description": "Order price as real number string (hedged perpetual API)"
    },
    "orderQty": {
      "type": "integer",
      "description": "Order quantity in contracts (contract API)"
    },
    "orderQtyRq": {
      "type": "string",
      "description": "Order quantity as real number string (hedged perpetual API)"
    },
    "baseQtyEv": {
      "type": "integer",
      "description": "Base asset quantity scaled by valueScale (spot API)"
    },
    "quoteQtyEv": {
      "type": "integer",
      "description": "Quote asset quantity scaled by valueScale (spot API)"
    },
    "qtyType": {
      "type": "string",
      "enum": ["ByBase", "ByQuote"],
      "description": "Quantity type for spot orders"
    },
    "reduceOnly": {
      "type": "boolean",
      "description": "If true, order can only reduce an existing position"
    },
    "closeOnTrigger": {
      "type": "boolean",
      "description": "If true, close position on trigger"
    },
    "stopPxEp": {
      "type": "integer",
      "description": "Stop price scaled (contract API)"
    },
    "stopPxRp": {
      "type": "string",
      "description": "Stop price as real number (hedged perpetual API)"
    },
    "takeProfitEp": {
      "type": "integer",
      "description": "Take profit price scaled (contract API)"
    },
    "takeProfitRp": {
      "type": "string",
      "description": "Take profit price as real number (hedged perpetual API)"
    },
    "stopLossEp": {
      "type": "integer",
      "description": "Stop loss price scaled (contract API)"
    },
    "stopLossRp": {
      "type": "string",
      "description": "Stop loss price as real number (hedged perpetual API)"
    },
    "cumQty": {
      "type": "integer",
      "description": "Cumulative filled quantity"
    },
    "leavesQty": {
      "type": "integer",
      "description": "Remaining unfilled quantity"
    },
    "transactTimeNs": {
      "type": "integer",
      "description": "Transaction time in nanoseconds"
    },
    "createTimeNs": {
      "type": "integer",
      "description": "Order creation time in nanoseconds"
    }
  },
  "required": ["symbol", "side", "ordType"]
}