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

# Valuation API Overview

> Mark-to-market valuations for positions and accounts

## Endpoints

| Method | Endpoint                                     | Required Scope   | Description                                        |
| ------ | -------------------------------------------- | ---------------- | -------------------------------------------------- |
| `GET`  | `/v1/valuations/positions`                   | `read:positions` | List position valuations (mark-to-market)          |
| `GET`  | `/v1/valuations/positions/download`          | `read:positions` | Download position valuations as CSV                |
| `POST` | `/v1/valuations/accounts/statement/download` | `read:positions` | Batch download multi-account account-statement CSV |

<Note>
  Valuation endpoints are scoped under `read:positions` (the same scope used for `GetAccountBalance`, `ListAccountBalances`, and position queries). Calls without `read:positions` fail with `403 Forbidden` (REST) / `PERMISSION_DENIED` (gRPC).
</Note>

## Mark Price Types

| Type                   | Description                                       |
| ---------------------- | ------------------------------------------------- |
| `MARK_PRICE_TYPE_LAST` | Last traded price (default)                       |
| `MARK_PRICE_TYPE_VWAP` | Volume-weighted average price (notional / volume) |
| `MARK_PRICE_TYPE_MID`  | Mid price ((high + low) / 2)                      |

## Valuation Data

Each position valuation includes:

| Field           | Description                                         |
| --------------- | --------------------------------------------------- |
| `netPosition`   | Current net position quantity                       |
| `cost`          | Total cost basis (scaled integer)                   |
| `markPrice`     | Mark price used for valuation                       |
| `marketValue`   | Position market value = net\_position x mark\_price |
| `unrealizedPnl` | Unrealized P\&L = market\_value - cost              |
| `realized`      | Realized profit/loss                                |
| `valuationTime` | Time of valuation                                   |

## Account Summary

The response includes an account-level summary with:

| Field                | Description                       |
| -------------------- | --------------------------------- |
| `totalCost`          | Sum of all position costs         |
| `totalMarketValue`   | Sum of all position market values |
| `totalUnrealizedPnl` | Sum of all unrealized P\&L        |
| `totalRealizedPnl`   | Sum of all realized P\&L          |
| `positionCount`      | Number of positions               |

## Historical Valuations

Query valuations as they existed at a specific point in time:

| Parameter    | Type              | Description                                        |
| ------------ | ----------------- | -------------------------------------------------- |
| `as_of_time` | RFC3339 timestamp | Exact point-in-time (e.g., `2026-01-02T17:00:00Z`) |
| `as_of_date` | Date object       | End-of-trading-day snapshot (year, month, day)     |

<Warning>
  **Mutually Exclusive**: Use `as_of_time` OR `as_of_date`, not both.
</Warning>

## Position-Level vs Account-Level

| Use Case                            | Endpoint                                          |
| ----------------------------------- | ------------------------------------------------- |
| Full position detail with MTM       | `GET /v1/valuations/positions`                    |
| Export all positions to spreadsheet | `GET /v1/valuations/positions/download`           |
| Multi-account book-close export     | `POST /v1/valuations/accounts/statement/download` |

## Account-Level Valuations

Account-level endpoints return MTM totals without individual position rows. Use these for book-close accounting and balance reporting when you don't need per-position detail.

* `POST /v1/valuations/accounts/statement/download` - CSV with one row per account
