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

# Pagination

> Walk recent order history with a bounded opaque cursor.

`GET /v1/orders` returns newest orders first. Set `limit` from 1 to 100; the
default is 50.

When `has_more` is true, send `next_cursor` as the next request's `cursor`
parameter. Treat the cursor as opaque and URL-encode it:

```bash theme={null}
curl --get "https://developers.myfundedperpetuals.com/v1/orders" \
  -H "Authorization: Bearer $FP_API_KEY" \
  --data-urlencode "account_id=ACCOUNT_ID" \
  --data-urlencode "limit=50" \
  --data-urlencode "cursor=$NEXT_CURSOR"
```

The same cursor pattern is used by filled orders, closed positions, and scaled
orders. Each endpoint returns its own opaque cursor. Never reuse a cursor with
a different endpoint, account, or filter.

The opaque cursor preserves the exact position in Convex's compound index, so
orders sharing the same millisecond are not skipped. The server reads at most
`limit` indexed rows for each page, regardless of the account's total order
history.

A `client_order_id` lookup is not paginated. Send
`GET /v1/orders?client_order_id=...` to receive the normal page shape with zero
or one order and `has_more: false`. Do not send `limit` or `cursor` with that
lookup.
