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

# Get projected user open orders

> Read a current proposed, voted, or finalized open-order snapshot.

> [!NOTE]
>
> Response JSON below is an illustrative testnet snapshot, not a live mainnet result. Use the selected server and its network-specific addresses for actual requests.

**userId** `string` *required*

Unsigned decimal Kuru user ID.

**state** `string` (default: finalized)

`proposed`, `voted`, or `finalized`. Short forms `p`, `v`, and `f` are also
accepted.

**feedEpoch** `integer` *required*

Epoch namespace for `globalSeq` and `globalUserSeq`.

**data** `array` *required*

Up to 2,000 open orders in immutable snapshot order.

**orderId** `string` *required*

Protocol order ID.

**marketAddress** `string` *required*

Lowercase market contract address.

**slotIdx** `integer` *required*

Protocol slot index inside the maker page, from `0` through `255`.

**symbol** `string | null` *required*

Configured market symbol, or `null` when it is absent from the catalog.

**isBuy** `boolean` *required*

`true` for a buy order and `false` for a sell order.

**orderType** `string` *required*

Always `limit` in this version.

**price** `string` *required*

Signed integer price in market price precision (pp).

**remainingSize** `string` *required*

Remaining native market size units.

**minSizeAfterBlock** `integer | null` *required*

Block threshold associated with reduce-after-block behavior, when present.

**createdAt** `integer` *required*

Creation-block Unix timestamp in seconds. Retained through partial fills and
checkpoint restore; matches the userOrders WebSocket snapshot creation time.

**clientOrderId** `string | null` *required*

Optional client-supplied order correlation ID.

**state** `string` *required*

Requested projection view.

**servedView** `string` *required*

Projection view that served the request.

**globalSeq** `integer | null` *required*

Global sequence represented by the projection snapshot.

**globalUserSeq** `integer | null` *required*

User sequence represented by the projection snapshot.

**truncated** `boolean` *required*

`true` when additional open orders were omitted.

```json 200 theme={null}
{
  "feedEpoch": 7,
  "data": [{
    "orderId": "77738308",
    "marketAddress": "0x0a082280e4ea3d822e23ec1186685477241a039d",
    "slotIdx": 3,
    "symbol": "WETHUSDC",
    "isBuy": true,
    "orderType": "limit",
    "price": "230000000",
    "remainingSize": "750000000000000000000",
    "minSizeAfterBlock": null,
    "clientOrderId": null,
    "createdAt": 1700000000
  }],
  "state": "finalized",
  "servedView": "finalized",
  "globalSeq": 124367,
  "globalUserSeq": 2951,
  "truncated": false
}
```

For a finalized REST-to-WebSocket bootstrap with an epoch-qualified cursor,
use the [Data Source user-orders route](https://docs.kuru.io/api/data-source/reference/user-orders.md).


## OpenAPI

````yaml api/exchange/openapi.yaml GET /api/v1/users/{userId}/orders
openapi: 3.1.0
info:
  title: Kuru Exchange Gateway API
  version: 1.0.0
servers:
  - url: https://gateway.mainnet.kuru.io
    description: Monad mainnet (default)
  - url: https://gateway.testnet.kuru.io
    description: Monad testnet
security: []
paths:
  /api/v1/users/{userId}/orders:
    get:
      summary: Get user orders
      operationId: getUserOrders
      parameters:
        - name: userId
          in: path
          required: true
          schema:
            type: integer
        - name: state
          in: query
          schema:
            type: string
            default: finalized
      responses:
        '200':
          description: Projected orders

````

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