---
title: "A wallet's QSwap liquidity positions"
method: GET
path: "/v1/liquidity/positions"
---

# A wallet's QSwap liquidity positions

`GET /v1/liquidity/positions`

## Request

- Base URL: `https://qmax.exchange/api`
- URL: `https://qmax.exchange/api/v1/liquidity/positions`
- Auth: none declared

Every QSwap pool the wallet has liquidity in: its units, share of the pool, what removing it all would pay and its value in QU. Read live from the QSwap contract (GetLiquidityOf, GetPoolBasicState). valueQu = quOut + assetOut x (reserveQu / reserveAsset), where quOut = floor(liquidity x reserveQu / totalLiquidity) and assetOut = floor(liquidity x reserveAsset / totalLiquidity) are what removing everything pays before QSwap's flat 100,000 QU fee; the tokens are valued at the pool's own price, an estimate. earnedFees is the contract's own figure: the fees are already inside what you get when you remove, nothing pays them separately. Cached for 30 seconds per wallet.

## Query parameters

- `identity` string, required
- `fresh` '1'

## Response `200`

The positions (complete is false when a pool could not be read).

## Other responses

- `400`: Not a Qubic identity.
- `503`: Too many wallets being read at once; retry shortly.

---

[API](https://skmtc.dev/qmax/apis/qmax-api.md) · [All operations](https://skmtc.dev/qmax/apis/qmax-api/llms.txt) · [OpenAPI document](https://skmtc.dev/qmax/apis/qmax-api/revisions/af70e2813a7a?raw)
