> ## Documentation Index
> Fetch the complete documentation index at: https://docs.0xmonaco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# V1.0.77

# Monaco Protocol SDK v1.0.77

This release makes an edit to a **margin reduce-only order** read `quantity` as the order's new **total**, like every other order. The all-markets `market_stats` rows carry perp index, funding and open-interest notional values, the `instruments` snapshot includes inactive markets, and TWAP taker slices now send the same WebSocket frames as any other taker fill. **Action items:** send the order's total, not `total - filled`, when editing a reduce-only order; filter `instruments` rows on `isActive` when you need the tradable set.

## Breaking

### Reduce-only edits take the order's total

`sdk.trading.replaceOrder` (`PUT /api/v1/orders/{orderId}`; gRPC `OrdersService.ReplaceOrder`) and each item of `sdk.trading.batchReplace` (`POST /api/v1/orders/batch-replace`; gRPC `OrdersService.BatchReplaceOrders`) now read a margin reduce-only order's `quantity` as its new total. The replacement rests `total - filled`: a close of 0.8 with 0.3 filled, edited to `quantity: "0.5"`, rests 0.2 and reads 0.3/0.5. Before, it rested 0.5 and read 0.3/0.8.

* A total at or below the filled amount is refused with `New quantity N must be greater than filled quantity F`, where it used to be accepted as a smaller close.
* What the replacement rests is still bounded by the live position, so a total whose remainder exceeds the position is refused.
* An exact full close of the remaining position is still admitted below the minimum order size.
* With `quantity` omitted, the order keeps its total and rests the live remainder, as before. `updatedFields.quantity` (gRPC `updated_quantity`) now reports that total, not the remaining close size.

No request or response fields changed. Callers that sent `total - filled` as a workaround must now send the total. See [Replace Orders](/developers/trade#replace-orders).

## Added

### Index, funding and open-interest notional on `marketStatsAll` rows

Each perp row of `sdk.ws.marketStatsAll` (the all-markets `market_stats` frame and its subscribe-time snapshot) carries `indexPrice`, `fundingRate`, `premium` and `openInterestNotional`. `fundingRate` is the estimated next-window rate; `currentFundingRate` stays the last settled one. `openInterestNotional` is open interest priced at the mark, falling back to the last trade price, in quote units. It is omitted (never `"0"`) until both open interest and a price are known, while REST `getPerpMarketSummary` reports `"0"` in that case. All four are omitted on spot rows and on rows from an older server. See [WebSockets](/sdk/typescript/websockets).

## Changed

### The `instruments` snapshot includes inactive markets

`sdk.ws.instruments` baselines, both the server snapshot and the replay a late subscriber gets, now include inactive (delisted) markets flagged `isActive: false`, so positions, orders and history on a delisted market can still resolve its metadata. `useInstruments` keeps those rows too. Filter on `isActive` to build the tradable set. See [useInstruments](/sdk/react/hooks/use-instruments).

## Fixed

* **TWAP taker slices send every taker frame** — a slice that takes now sends the public trade (`sdk.ws.trades`), order book and live candle updates, both sides' `balances` updates, and `positions` updates for both sides, including the terminal `CLOSED` update when it closes a position. Before, it sent only its own `orders` frames. A passive TWAP child that rests or leaves the book now updates the order book, and a spot child that leaves it sends its owner the `movements` frame for the released lock, as a manual cancel does.

## Upgrade

```bash theme={null}
npm install @0xmonaco/core@1.0.77 @0xmonaco/types@1.0.77 @0xmonaco/react@1.0.77
# or bun
bun add @0xmonaco/core@1.0.77 @0xmonaco/types@1.0.77 @0xmonaco/react@1.0.77
```

Send the order's total when editing a reduce-only order. Filter `instruments` rows on `isActive` for the tradable set.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.