Execution Reports
Real-time order and account event notifications via WebSocket
Execution reports are automatically streamed after calling subscribeTrading. All execution reports use the same wrapper format:
{
"type": "executionReport",
...
}Note: Execution reports echo back the signatures sent in requests. The signature.payload field contains the hex-encoded payload with type discriminator that was originally submitted (see Signatures for payload format details).
Execution reports provide:
Resting order snapshot
Initial snapshot - All resting orders as
OrderStatusmessages. The snapshot contains all active, pending, partially filled, and suspended orders for the account.
Real-time updates - Ongoing execution reports
Order status changes (new, filled, cancelled, etc.)
Trade execution notifications
Account events (deposits, withdrawals, leverage updates, liquidations, funding)
Message Types
Execution reports contain a messageType field indicating the event type:
Order Events
Add
Order accepted and added to book
Executed
Order partially or fully filled
Cancelled
Order cancelled
Modified
Order replaced
Suspended
Stop order waiting for trigger
OrderStatus
Order snapshot (sent during initial subscription)
TradeReport
Trade execution details
TradeCancel
Trade cancellation
Account Events
DepositMargin
Collateral deposit
WithdrawMargin
Collateral withdrawal
TransferMargin
Cross ↔ isolated margin transfer
UpdateLeverage
Leverage update
FundingRates
Funding rate payment
Liquidation
Position liquidation
ManualLiquidation
Manual liquidation / ADL execution
Order Execution Reports
Add
Order accepted and added to order book.
Executed
Order partially or fully filled.
filledQuantity
Total filled quantity (cumulative)
filledPrice
Weighted average filled price
lastFilledQuantity
Quantity filled in this execution
lastFilledPrice
Price of this execution
makerTaker
Maker or Taker
matchId
Unique match identifier
Cancelled
Order cancelled (by user or system).
cancelReason
Reason for cancellation
cancelledQuantity
Quantity cancelled in this event
Modified
Order replaced with new parameters.
Suspended
Stop order waiting for trigger price.
OrderStatus
Order snapshot (sent during initial subscription).
For a resting SL/TP leg, the snapshot also carries closePosition:
Order Status Values:
Active- Order resting in order bookSuspended- Stop order awaiting triggerExecuted- Order executed (partially or fully filled)Cancelled- Order cancelledPending- Order accepted, awaiting processingEnded- Order is no longer active (expired or otherwise terminated)
TradeReport
Report sent for every trade.
TradeCancel
Trade busted because its on-chain settlement failed (dropped or reverted). The fill is reversed.
Account Event Reports
DepositMargin
Collateral deposit event.
WithdrawMargin
Collateral withdrawal event.
TransferMargin
Cross ↔ isolated margin transfer event.
direction is crossToIsolated or isolatedToCross. A failed transfer carries status: "failed" and a reason field instead of transactionHash.
UpdateLeverage
Leverage update event.
Note: leverage value is leverage × 100 (e.g., 1000 = 10x leverage)
FundingRates
Funding rate payment event.
Liquidation
Position liquidation event.
instrument
string
Instrument being liquidated
ManualLiquidation
Manual liquidation or ADL (auto-deleveraging) execution event.
matchId
u64
Match identifier for the liquidation fill
status
string
Transaction status (see below)
reason
string
(Optional) Reason for the liquidation
transactionHash
string
(Optional) On-chain transaction hash
Transaction Status
Account events include a status field:
submitted
Operation submitted, pending processing
settled
Operation completed successfully
failed
Operation failed
Common Fields
All execution reports include:
type
string
Always "executionReport"
messageType
string
Event type (see tables above)
eventTimestamp
i64
Event timestamp (Unix nanoseconds)
Order events include:
side
string
Buy or Sell
instrument
string
Instrument symbol
orderId
u64
Exchange order ID
traderOrderId
u64
(Optional) Your client order ID. Omitted for system-generated orders (e.g. liquidations), which have no client ID
quantity
string
Order quantity
price
string
Order price
reduceOnly
boolean
(Optional) Whether the order was signed reduce-only. Omitted when the report carries no order payload, so absent means unknown, not false
closePosition
boolean
(Optional) SL/TP only: true = managed (auto-syncs to position size), false = unmanaged (fixed qty)
Note: reduceOnly tells you why a resting order changed size or was cancelled on its own — a reduce-only order is kept in step with your position. See Reduce-Only Orders.
Note: The signature field is included in Add, Executed, Cancelled, Modified, and Suspended messages to provide cryptographic proof of the original order. It is also included in OrderStatus snapshots, and omitted from TradeReport and TradeCancel messages.
Last updated