---
title: "Get user position in a specific vault"
method: GET
path: "/v1/users/{wallet_address}/positions/{vault_id}"
tags: ["Users"]
---

# Get user position in a specific vault

`GET /v1/users/{wallet_address}/positions/{vault_id}`

Returns the current position snapshot for a wallet in a single vault. Historical points live on `/positions/{vault_id}/timeseries`.

## Path parameters

- `wallet_address` string, required
- `vault_id` string, required

## Response `200`

Single vault position

- UserPositionLatestResponse
  - `data` UserPosition, required
    - `metrics` UserPositionMetrics, required
      - `cost_basis` AmountPair, required — Decimal-string metric paired across native (numeraire-token) and USD. `native` is always present; `usd` is JSON null when pricing is unavailable.
        - `native` string, required
        - `usd` string, nullable
      - `pending_deposit_assets` AmountPair, required — Decimal-string metric paired across native (numeraire-token) and USD. `native` is always present; `usd` is JSON null when pricing is unavailable.
        - `native` string, required
        - `usd` string, nullable
      - `pending_redeem_shares` string, required — Shares escrowed at the Aera Provisioner pending asset return.
      - `pnl` PnlBreakdown, required
        - `realized` AmountPair, required — Decimal-string metric paired across native (numeraire-token) and USD. `native` is always present; `usd` is JSON null when pricing is unavailable.
          - `native` string, required
          - `usd` string, nullable
        - `total` AmountPair, required — Decimal-string metric paired across native (numeraire-token) and USD. `native` is always present; `usd` is JSON null when pricing is unavailable.
          - `native` string, required
          - `usd` string, nullable
        - `unrealized` AmountPair, required — Decimal-string metric paired across native (numeraire-token) and USD. `native` is always present; `usd` is JSON null when pricing is unavailable.
          - `native` string, required
          - `usd` string, nullable
      - `roi_pct` RatioPair, required — JSON-number ratio paired across native (in-kind) and USD denominations. Null when event history is unavailable or cannot support ROI replay.
        - `native` number, double, nullable
        - `usd` number, double, nullable
      - `shares_owned` string, required — Shares currently held by the wallet.
      - `value` AmountPair, required — Decimal-string metric paired across native (numeraire-token) and USD. `native` is always present; `usd` is JSON null when pricing is unavailable.
        - `native` string, required
        - `usd` string, nullable
    - `vault_id` string, required
    - `wallet_address` string, required
  - `meta` BasicMeta, required
    - `refreshed_at` string, date-time, required
    - `request_id` string, required

## Other responses

- `401` — Missing or invalid auth
- `404` — Position not found

---

[API](https://skmtc.net/gauntlet/apis/gauntlet-api.md) · [All operations](https://skmtc.net/gauntlet/apis/gauntlet-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gauntlet/gauntlet-api/revisions/bd6a0a40d4fc/schema)
