Skip to main content
GET
/
data
/
orders
Get Orders
curl --request GET \
  --url https://api.example.com/data/orders
{
  "data": [
    {
      "data[].id": "<string>",
      "data[].status": "<string>",
      "data[].market": "<string>",
      "data[].original_size": "<string>",
      "data[].outcome": "<string>",
      "data[].maker_address": "<string>",
      "data[].owner": "<string>",
      "data[].price": "<string>",
      "data[].side": "<string>",
      "data[].size_matched": "<string>",
      "data[].asset_id": "<string>",
      "data[].expiration": "<string>",
      "data[].type": "<string>",
      "data[].created_at": "<string>",
      "data[].updated_at": "<string>"
    }
  ],
  "next_cursor": "<string>",
  "id": "<string>",
  "side": "<string>",
  "type": "<string>",
  "status": "<string>",
  "price": 123,
  "maker_amount": 123,
  "taker_amount": 123,
  "size_matched": 123,
  "created_at": "<string>",
  "expiration": {},
  "outcome": {
    "outcome.index": 123,
    "outcome.text": "<string>"
  },
  "market": {
    "market.condition_id": "<string>",
    "market.title": "<string>",
    "market.slug": "<string>",
    "market.is_active": true,
    "market.is_resolved": true,
    "market.icon_url": "<string>",
    "market.event_slug": "<string>",
    "market.event_title": "<string>"
  }
}

Overview

The Get Orders endpoint returns a paginated list of the user’s open orders across all markets or filtered by specific criteria. This includes active limit orders and partially filled orders.

Authentication

This endpoint requires CLOB authentication with HMAC signature verification. Required Headers:
  • KUEST_ADDRESS - User’s wallet address
  • KUEST_API_KEY - API key from trading auth credentials
  • KUEST_PASSPHRASE - Passphrase from trading auth credentials
  • KUEST_TIMESTAMP - Current Unix timestamp (seconds)
  • KUEST_SIGNATURE - HMAC signature of the request
  • Accept: application/json

Query Parameters

maker
string
Filter orders by maker address (typically the proxy wallet address)
id
string
Filter to a specific order ID
market
string
Filter orders by market condition ID
asset_id
string
Filter orders by outcome token ID
next_cursor
string
Pagination cursor from previous response (base64 encoded)

Response

data
array
Array of open order objects
data[].id
string
Unique order identifier
data[].status
string
Order status: live, partially_filled, pending
data[].market
string
Market condition ID
data[].original_size
string
Original order size in decimal format
data[].outcome
string
Outcome identifier (optional)
data[].maker_address
string
Maker’s address (proxy wallet)
data[].owner
string
Owner API key
data[].price
string
Order price (decimal between 0 and 1)
data[].side
string
Order side: BUY or SELL
data[].size_matched
string
Amount already filled (decimal format)
data[].asset_id
string
Outcome token ID
data[].expiration
string
Expiration timestamp in seconds (“0” for no expiration)
data[].type
string
Order type: GTC, GTD, FOK, FAK
data[].created_at
string
ISO 8601 timestamp when order was created
data[].updated_at
string
ISO 8601 timestamp when order was last updated
next_cursor
string
Pagination cursor for next page. Returns LTE= when no more results.

Normalized Order Response

The API wrapper normalizes CLOB orders into a user-friendly format:
id
string
Order ID
side
string
buy or sell (lowercase)
type
string
Order type: GTC, GTD, FOK, FAK
status
string
Order status (e.g., live)
price
number
Order price between 0 and 1
maker_amount
number
Maker amount in micro units
taker_amount
number
Taker amount in micro units
size_matched
number
Filled amount in micro units
created_at
string
ISO 8601 creation timestamp
expiration
number | null
Unix timestamp or null if no expiration
outcome
object
Outcome information
outcome.index
number
Outcome index (0 or 1)
outcome.text
string
Outcome label (e.g., “Yes”, “No”)
market
object
Market metadata
market.condition_id
string
Market condition ID
market.title
string
Market title
market.slug
string
Market URL slug
market.is_active
boolean
Whether market is active
market.is_resolved
boolean
Whether market is resolved
market.icon_url
string
Market icon URL (optional)
market.event_slug
string
Parent event slug (optional)
market.event_title
string
Parent event title (optional)

Pagination

The endpoint uses cursor-based pagination:
  1. First request returns orders and next_cursor
  2. Include next_cursor in subsequent requests
  3. When next_cursor is LTE=, no more results exist
  4. Each page returns up to 100 orders

HMAC Signature Generation

For GET requests, sign the following string:
{timestamp}{method}{path}
```bash

Where:
- `timestamp` - Unix timestamp in seconds
- `method` - `GET`
- `path` - Full path including query parameters (e.g., `/data/orders?maker=0x...`)

## Example Request

```bash cURL - All Orders
curl -X GET 'https://api.kuest.io/data/orders?maker=0xproxy...' \
  -H 'Accept: application/json' \
  -H 'KUEST_ADDRESS: 0x1234...' \
  -H 'KUEST_API_KEY: your-api-key' \
  -H 'KUEST_PASSPHRASE: your-passphrase' \
  -H 'KUEST_TIMESTAMP: 1709467200' \
  -H 'KUEST_SIGNATURE: computed-hmac-signature'
```bash

```bash cURL - Filtered by Market
curl -X GET 'https://api.kuest.io/data/orders?market=0xcondition...' \
  -H 'Accept: application/json' \
  -H 'KUEST_ADDRESS: 0x1234...' \
  -H 'KUEST_API_KEY: your-api-key' \
  -H 'KUEST_PASSPHRASE: your-passphrase' \
  -H 'KUEST_TIMESTAMP: 1709467200' \
  -H 'KUEST_SIGNATURE: computed-hmac-signature'
```bash

```bash cURL - Pagination
curl -X GET 'https://api.kuest.io/data/orders?next_cursor=eyJpZCI6MTIzfQ==' \
  -H 'Accept: application/json' \
  -H 'KUEST_ADDRESS: 0x1234...' \
  -H 'KUEST_API_KEY: your-api-key' \
  -H 'KUEST_PASSPHRASE: your-passphrase' \
  -H 'KUEST_TIMESTAMP: 1709467200' \
  -H 'KUEST_SIGNATURE: computed-hmac-signature'
```bash

## Example Response

```json
{
  "data": [
    {
      "id": "ord_abc123",
      "status": "live",
      "market": "0xcondition123...",
      "original_size": "10.5",
      "maker_address": "0xproxy...",
      "price": "0.65",
      "side": "BUY",
      "size_matched": "2.5",
      "asset_id": "123456789",
      "expiration": "0",
      "type": "GTC",
      "created_at": "2026-03-03T12:00:00Z",
      "updated_at": "2026-03-03T12:00:00Z"
    }
  ],
  "next_cursor": "LTE="
}
```bash

## Use Cases

### Monitor All Open Orders
Retrieve all orders without filters to see portfolio-wide order status.

### Track Market-Specific Orders
Filter by `market` parameter to see orders for a specific prediction market.

### Check Order Status
Use `id` parameter to get details for a specific order.

### Build Order Management UI
Combine with WebSocket subscriptions for real-time order updates.

## Performance Tips

1. **Use Filters** - Filter by market or asset_id to reduce response size
2. **Cache Results** - Orders don't change frequently, cache for 10-30 seconds
3. **Pagination** - Process pages incrementally for large order lists
4. **WebSocket** - Use WebSocket feeds for real-time updates instead of polling

## See Also

- [Place Order](/api/trading/place-order) - Submit a new order
- [Cancel Order](/api/trading/cancel-order) - Cancel an order
- [Orderbook](/api/trading/orderbook) - View market orderbook

Build docs developers (and LLMs) love