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

# List wagers

> Retrieve a paginated list of wagers, with optional filters by user, event, activity status, and currency mode.

Retrieve a list of wagers. You can filter by active status, event, currency mode, or by bets placed by users you follow. Authenticated requests return your own wagers by default. Public wagers can also be accessed without authentication.

## Endpoint

```
GET https://api.futuur.com/wagers/
```

## Authentication

<Note>
  Authentication is optional for this endpoint. Unauthenticated requests can access public wager data. To access your own private wagers or filter by followed users, include the `Key`, `Timestamp`, and `HMAC` headers.
</Note>

## Request

<ParamField query="active" type="boolean">
  When `true`, returns only active wagers with a status of `purchased`.
</ParamField>

<ParamField query="past_bets" type="boolean">
  When `true`, returns only inactive wagers — those that are sold, won, lost, cancelled, or disabled.
</ParamField>

<ParamField query="event" type="integer">
  Filter wagers by event ID.
</ParamField>

<ParamField query="user" type="integer">
  Filter wagers by user ID.
</ParamField>

<ParamField query="following" type="boolean">
  When `true`, returns only wagers placed by users you follow.
</ParamField>

<ParamField query="currency_mode" type="string">
  Filter by currency mode: `play_money`, `real_money`, or an empty string to return all.
</ParamField>

<ParamField query="limit" type="integer">
  Number of results to return per page.
</ParamField>

<ParamField query="offset" type="integer">
  Pagination offset. Number of results to skip before returning results.
</ParamField>

## Response

Returns a paginated list of wager objects.

<ResponseField name="pagination" type="object" required>
  Pagination metadata for the result set.

  <Expandable title="properties">
    <ResponseField name="total" type="integer">
      Total number of wagers matching the query.
    </ResponseField>

    <ResponseField name="next" type="string">
      URL for the next page of results. `null` if there are no more pages.
    </ResponseField>

    <ResponseField name="previous" type="string">
      URL for the previous page of results. `null` if on the first page.
    </ResponseField>

    <ResponseField name="page_size" type="integer">
      Number of results returned per page.
    </ResponseField>

    <ResponseField name="offset" type="integer">
      Current pagination offset.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="results" type="object[]" required>
  Array of `WagerList` objects.

  <Expandable title="Wager properties">
    <ResponseField name="id" type="integer" required>
      Unique wager ID.
    </ResponseField>

    <ResponseField name="status" type="string" required>
      Wager status: `purchased`, `sold`, `won`, `lost`, `cancelled`, or `disabled`.
    </ResponseField>

    <ResponseField name="status_display" type="string" required>
      Human-readable status label.
    </ResponseField>

    <ResponseField name="user" type="string" required>
      User resource reference (read-only).
    </ResponseField>

    <ResponseField name="event" type="string" required>
      Event resource reference (read-only).
    </ResponseField>

    <ResponseField name="market" type="string" required>
      Market resource reference (read-only).
    </ResponseField>

    <ResponseField name="position" type="string" required>
      Position direction: `long` (in favor of the outcome) or `short` (against).
    </ResponseField>

    <ResponseField name="position_display" type="string" required>
      Human-readable position label.
    </ResponseField>

    <ResponseField name="currency" type="string">
      Currency code for the wager (for example `OOM`, `USDC`).
    </ResponseField>

    <ResponseField name="shares" type="number" required>
      Consolidated shares held in this wager.
    </ResponseField>

    <ResponseField name="shares_in_canonical" type="number" required>
      Consolidated shares expressed in the event's canonical currency.
    </ResponseField>

    <ResponseField name="total_amount" type="string" required>
      Total amount associated with the wager.
    </ResponseField>

    <ResponseField name="purchases_amount" type="number">
      Cost basis of the open position, adjusted for partial sales.
    </ResponseField>

    <ResponseField name="active_purchases_amount" type="string" required>
      Amount from active purchases on this wager.
    </ResponseField>

    <ResponseField name="active_purchases">
      Purchases from the last outcome bought in this event.
    </ResponseField>

    <ResponseField name="roi" type="string" required>
      Return on investment for the wager.
    </ResponseField>

    <ResponseField name="earnings" type="string" required>
      Earnings associated with the wager.
    </ResponseField>

    <ResponseField name="amount_on_win" type="string" required>
      Projected payout if the wager wins.
    </ResponseField>

    <ResponseField name="amount_on_sell" type="string" required>
      Amount available if the position is sold now.
    </ResponseField>

    <ResponseField name="last_profit" type="number">
      Last profit when the event resolved or the wager was sold. `null` if not applicable.
    </ResponseField>

    <ResponseField name="last_sell_amount" type="number">
      Last sale amount when the wager was sold. Always positive when set.
    </ResponseField>

    <ResponseField name="last_purchase" type="string" required>
      ISO 8601 datetime of the most recent purchase.
    </ResponseField>

    <ResponseField name="last_update" type="string" required>
      ISO 8601 datetime of the most recent wager update.
    </ResponseField>

    <ResponseField name="last_action">
      Serialized data about the most recent `WagerAction` on this wager.
    </ResponseField>

    <ResponseField name="actions_count" type="integer">
      Number of user-triggered actions (purchases, sales) on this wager.
    </ResponseField>
  </Expandable>
</ResponseField>

## Example

<CodeGroup>
  ```bash cURL theme={null}
  curl --request GET \
    --url "https://api.futuur.com/wagers/?active=true&currency_mode=real_money&limit=2" \
    --header "Key: pk_live_abc123def456" \
    --header "Timestamp: 1712534400" \
    --header "HMAC: 3a9f2c1b...sha512signature"
  ```
</CodeGroup>

```json Sample response theme={null}
{
  "pagination": {
    "total": 12,
    "next": "https://api.futuur.com/wagers/?active=true&currency_mode=real_money&limit=2&offset=2",
    "previous": null,
    "page_size": 2,
    "offset": 0
  },
  "results": [
    {
      "id": 88201,
      "status": "purchased",
      "status_display": "Purchased",
      "user": "https://api.futuur.com/users/5042/",
      "event": "https://api.futuur.com/events/901/",
      "market": "https://api.futuur.com/markets/3801/",
      "position": "long",
      "position_display": "Long",
      "currency": "USDC",
      "shares": 100.0,
      "shares_in_canonical": 100.0,
      "total_amount": "65.00",
      "purchases_amount": 65.0,
      "active_purchases_amount": "65.00",
      "roi": "10.00",
      "earnings": "6.50",
      "amount_on_win": "100.00",
      "amount_on_sell": "71.50",
      "last_profit": null,
      "last_sell_amount": null,
      "last_purchase": "2026-04-05T14:22:10Z",
      "last_update": "2026-04-07T08:15:44Z",
      "last_action": null,
      "actions_count": 1
    }
  ]
}
```
