Order Update WebSocket
Receive real-time order execution events — fills, rejections, modifications, and status changes — over a persistent WebSocket connection.
Connection
Order updates connect automatically when you call client.ws.connect():
ts
await client.ws.connect();Listen for Updates
ts
client.ws.orders.on("order", (order) => {
console.log(order.status, order.averageTradedPrice, order.tradedQty);
});Order Tracking
The OrderTracker resolves a placed order to its fill using order-update events instead of polling:
ts
import { OrderTracker } from "@nemesis-oss/dhanhq-sdk";
const tracker = new OrderTracker();
client.ws.orders.on("order", (state) => tracker.onOrderUpdate(state));
// Register the waiter before placing
const correlationId = "entry-001";
const settled = tracker.waitFor(correlationId, { timeoutMs: 60_000 });
await client.orders.place({ correlationId, /* ... */ });
const fill = await settled;
console.log(fill.status, fill.filledQuantity, fill.averagePrice);Full Example
See examples/ws-execution.ts for the complete order placement → fill tracking → exit signal loop.