Order
Represents an active order on the Drift Protocol.OrderStatus
required
Current order status (INIT, OPEN, FILLED, CANCELED)
OrderType
required
Type of order (LIMIT, MARKET, TRIGGER_MARKET, TRIGGER_LIMIT, ORACLE)
MarketType
required
Market type (PERP or SPOT)
BN
required
Solana slot when order was placed
number
required
Unique order identifier assigned by the protocol
number
required
User-defined order identifier
number
required
Index of the market for this order
BN
required
Limit price in PRICE_PRECISION (1e6)
BN
required
Amount of base asset to trade
BN
required
Amount of quote asset for the order
BN
required
Amount of base asset already filled
BN
required
Amount of quote asset already filled
PositionDirection
required
Order direction (LONG or SHORT)
boolean
required
Whether this order can only reduce position size
BN
required
Price at which trigger order activates
OrderTriggerCondition
required
Condition for trigger activation (ABOVE, BELOW, etc.)
boolean
required
Whether order must be maker-only
boolean
required
Whether order should be cancelled if not immediately filled
number
required
Offset from oracle price for oracle orders
number
required
Duration of order auction in slots
BN
required
Maximum timestamp for order validity
OrderParams
Parameters for placing a new order.OrderType
required
Type of order to place
MarketType
required
Market type (PERP or SPOT)
PositionDirection
required
Order direction (LONG or SHORT)
BN
required
Amount of base asset to trade
BN
required
Limit price in PRICE_PRECISION
number
required
Index of the market
boolean
required
Whether order can only reduce position
PostOnlyParams
required
Post-only behavior (NONE, MUST_POST_ONLY, TRY_POST_ONLY, SLIDE)
number
required
User-defined order identifier
BN | null
Trigger price for trigger orders
OrderTriggerCondition
required
Trigger condition (ABOVE or BELOW)
number | null
Offset from oracle price for oracle orders
number | null
Auction duration in slots
BN | null
Maximum timestamp for order validity
ScaleOrderParams
Parameters for placing scale orders (multiple orders across a price range).MarketType
required
Market type (PERP or SPOT)
PositionDirection
required
Order direction for all orders
number
required
Market index
BN
required
Total base asset amount to distribute across all orders
BN
required
Starting price for the scale (in PRICE_PRECISION)
BN
required
Ending price for the scale (in PRICE_PRECISION)
number
required
Number of orders to place (min 2, max 32)
SizeDistribution
required
How to distribute sizes (FLAT, ASCENDING, DESCENDING)
boolean
required
Whether orders should be reduce-only
PostOnlyParams
required
Post-only setting for all orders
ModifyOrderParams
Parameters for modifying an existing order.ModifyOrderPolicy
Modification policy (MUST_MODIFY, EXCLUDE_PREVIOUS_FILL)
OrderParams can be provided as optional overrides.
OrderRecord
Event record for order placements.BN
required
Timestamp of the order event
PublicKey
required
User account public key
Order
required
The order details
OrderActionRecord
Event record for order actions (fills, cancellations, etc.).BN
required
Timestamp of the action
OrderAction
required
Type of action (PLACE, CANCEL, EXPIRE, FILL, TRIGGER)
OrderActionExplanation
required
Detailed explanation of the action
number
required
Market index
MarketType
required
Market type
PublicKey | null
Account that filled the order (for fills)
BN | null
Amount filled
BN | null
Taker fee paid
BN | null
Maker fee paid/rebate received