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

# Get Hyperliquid TWAP order events by wallet JSON Schema

> Get Hyperliquid TWAP order events by wallet JSON Schema contract. Includes route metadata, schemas, examples, and implementation notes.

Source OpenAPI: 0xArchive API 1.8.0; 227 paths; 217 component schemas.

TWAP order status events: `activated`, `waitingForTrigger`, `finished`, `terminated`, `stopped`, and `error`. Each event carries the TWAP size, executed size and notional, duration, and trigger settings. This route returns the events of one wallet on Hyperliquid perpetuals. History starts June 17, 2026 18:00 UTC. Events are ordered oldest first. Page with `meta.next_cursor` until `meta.has_more` is false. A page never ends partway through a millisecond, so it can hold fewer events than `limit`.

## Route Metadata

| Field | Value |
| - | - |
| Method | `GET` |
| Path | `/v1/hyperliquid/twap/user/{user}` |
| operationId | `getHyperliquidUserTwap` |
| Tag | Hyperliquid - Orders |
| Family | Hyperliquid Core |
| Deprecated or legacy | no |

## Human endpoint reference

Open [`GET /v1/hyperliquid/twap/user/{user}`](/api-reference/hyperliquid--orders/get-hyperliquid-twap-order-events-by-wallet) for authentication, parameters, responses, and examples.

## Request Parameters

### Path Parameters

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getHyperliquidUserTwap path parameters",
  "type": "object",
  "required": [
    "user"
  ],
  "properties": {
    "user": {
      "description": "Wallet address: 0x followed by 40 hex characters (case-insensitive).",
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "example": "0x31ca8395cf837de08b24da3f660e77761dfb974b",
      "x-parameter-location": "path"
    }
  }
}
```

### Query Parameters

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getHyperliquidUserTwap query parameters",
  "type": "object",
  "properties": {
    "start": {
      "description": "Start of the window: Unix milliseconds or an RFC 3339 timestamp. Defaults to 24 hours ago.",
      "oneOf": [
        {
          "type": "integer",
          "format": "int64",
          "example": 1790812800000
        },
        {
          "type": "string",
          "format": "date-time",
          "example": "2026-10-01T00:00:00Z"
        }
      ],
      "x-parameter-location": "query"
    },
    "end": {
      "description": "End of the window: Unix milliseconds or an RFC 3339 timestamp. Defaults to now.",
      "oneOf": [
        {
          "type": "integer",
          "format": "int64",
          "example": 1790899200000
        },
        {
          "type": "string",
          "format": "date-time",
          "example": "2026-10-02T00:00:00Z"
        }
      ],
      "x-parameter-location": "query"
    },
    "cursor": {
      "description": "Value of `meta.next_cursor` from the previous page. The next page starts after it.",
      "type": "string",
      "x-parameter-location": "query"
    },
    "limit": {
      "description": "Maximum number of events to return (default: 100, max: 1000; larger values are capped at 1000).",
      "type": "integer",
      "default": 100,
      "minimum": 1,
      "maximum": 1000,
      "x-parameter-location": "query"
    }
  }
}
```

## Response Contracts

### Status 200

TWAP order status events for the wallet

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getHyperliquidUserTwap response 200",
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "description": "One TWAP order status event.",
        "type": "object",
        "required": [
          "block_number",
          "block_time",
          "coin",
          "executed_notional",
          "executed_size",
          "minutes",
          "randomize",
          "reduce_only",
          "side",
          "size",
          "started_at",
          "status",
          "timestamp",
          "twap_id",
          "user_address"
        ],
        "properties": {
          "block_number": {
            "description": "Hyperliquid block number.",
            "type": "integer",
            "format": "int64"
          },
          "block_time": {
            "description": "Time of the block that carried the event (RFC 3339, UTC).",
            "type": "string",
            "format": "date-time"
          },
          "coin": {
            "description": "Market symbol.",
            "type": "string",
            "example": "HYPE"
          },
          "executed_notional": {
            "description": "Notional filled so far, in quote units.",
            "type": "number"
          },
          "executed_size": {
            "description": "Size filled so far, in base units.",
            "type": "number"
          },
          "minutes": {
            "description": "TWAP duration in minutes.",
            "type": "integer"
          },
          "randomize": {
            "description": "True when slice timing is randomized.",
            "type": "boolean"
          },
          "reduce_only": {
            "description": "True for a reduce-only TWAP.",
            "type": "boolean"
          },
          "side": {
            "description": "`B` (buy) or `A` (sell).",
            "type": "string",
            "enum": [
              "B",
              "A"
            ]
          },
          "size": {
            "description": "Total TWAP size, in base units.",
            "type": "number"
          },
          "started_at": {
            "description": "When the TWAP started (RFC 3339, UTC).",
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "description": "`activated`, `waitingForTrigger`, `finished`, `terminated`, `stopped`, or `error`.",
            "type": "string",
            "example": "activated"
          },
          "stop_px": {
            "description": "Price bound that ends the TWAP: the highest price for a buy, the lowest for a sell. Omitted when not set.",
            "type": "number"
          },
          "timestamp": {
            "description": "When the status event happened (RFC 3339, UTC).",
            "type": "string",
            "format": "date-time"
          },
          "trigger_above": {
            "description": "True when the TWAP activates at or above `trigger_px`. Omitted for a TWAP without a trigger.",
            "type": "boolean"
          },
          "trigger_px": {
            "description": "Activation trigger price. Omitted for a TWAP without a trigger.",
            "type": "number"
          },
          "twap_id": {
            "description": "TWAP order ID. Every event of one TWAP carries the same ID.",
            "type": "integer",
            "format": "int64"
          },
          "user_address": {
            "description": "Wallet that placed the TWAP, lowercase.",
            "type": "string"
          }
        }
      }
    },
    "meta": {
      "description": "Response metadata",
      "type": "object",
      "properties": {
        "count": {
          "description": "Number of records returned",
          "type": "integer"
        },
        "coverage_from": {
          "description": "Earliest coverage for the requested symbol and data type. Present only when the requested window ends before coverage begins.",
          "type": "string",
          "format": "date-time"
        },
        "has_more": {
          "description": "Present on cursor-paged routes: true when another page exists. `next_cursor` is present exactly when it is true.",
          "type": "boolean"
        },
        "next_cursor": {
          "description": "Cursor for pagination (timestamp). Use this value as the `cursor` parameter to fetch the next page of results.",
          "type": "string",
          "nullable": true
        },
        "notice": {
          "description": "Human-readable advisory about the response. Used when the requested window ends before coverage begins for the symbol, and on CVD responses that are one page of several; may carry other advisories in future.",
          "type": "string"
        },
        "request_id": {
          "description": "Unique request ID for support",
          "type": "string",
          "format": "uuid"
        },
        "symbol": {
          "description": "Present on per-symbol routes: the symbol the response covers.",
          "type": "string"
        },
        "venue": {
          "description": "Present on per-symbol routes: the venue the response covers, for example `hyperliquid` or `hip3`.",
          "type": "string"
        }
      }
    },
    "success": {
      "type": "boolean",
      "example": true
    }
  }
}
```

### Status 400

Invalid request

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getHyperliquidUserTwap response 400",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    },
    "error_code": {
      "description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
      "type": "string"
    },
    "param": {
      "description": "The parameter at fault, when the error is about one parameter.",
      "type": "string"
    },
    "request_id": {
      "description": "Unique request ID for support",
      "type": "string",
      "format": "uuid"
    },
    "success": {
      "description": "Always false on an error.",
      "type": "boolean",
      "example": false
    }
  }
}
```

##### OpenAPI example

```json theme={"theme":"github-dark"}
{
  "code": 400,
  "error": "Failed to deserialize query string: limit: invalid digit found in string",
  "error_code": "invalid_query_params",
  "param": "limit",
  "request_id": "3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05",
  "success": false
}
```

### Status 401

Authentication required

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getHyperliquidUserTwap response 401",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    },
    "error_code": {
      "description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
      "type": "string"
    },
    "param": {
      "description": "The parameter at fault, when the error is about one parameter.",
      "type": "string"
    },
    "request_id": {
      "description": "Unique request ID for support",
      "type": "string",
      "format": "uuid"
    },
    "success": {
      "description": "Always false on an error.",
      "type": "boolean",
      "example": false
    }
  }
}
```

##### OpenAPI example

```json theme={"theme":"github-dark"}
{
  "code": 401,
  "error": "Missing authentication credentials. Provide X-API-Key header or Bearer token.",
  "error_code": "unauthorized",
  "request_id": "71ed4b6f-63ef-4ae1-a123-07ffa47c1c14",
  "success": false
}
```

### Status 429

Rate limit exceeded

#### application/json

```json theme={"theme":"github-dark"}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "getHyperliquidUserTwap response 429",
  "description": "Error response",
  "type": "object",
  "properties": {
    "code": {
      "description": "HTTP status code",
      "type": "integer"
    },
    "error": {
      "description": "Error message",
      "type": "string"
    },
    "error_code": {
      "description": "Machine-readable error code. Common values: `invalid_query_params` (a query parameter failed to parse or validate) and `invalid_path_params` (a path parameter failed to parse). Other endpoint-specific codes exist; treat unknown codes as generic errors of the given HTTP status.",
      "type": "string"
    },
    "param": {
      "description": "The parameter at fault, when the error is about one parameter.",
      "type": "string"
    },
    "request_id": {
      "description": "Unique request ID for support",
      "type": "string",
      "format": "uuid"
    },
    "success": {
      "description": "Always false on an error.",
      "type": "boolean",
      "example": false
    }
  }
}
```

##### OpenAPI example

```json theme={"theme":"github-dark"}
{
  "code": 429,
  "error": "Rate limit exceeded"
}
```


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