---
title: "Get claimable positions"
method: GET
path: "/token-launch/claimable-positions"
tags: ["Fee Claiming"]
---

# Get claimable positions

`GET /token-launch/claimable-positions`

Retrieve all claimable fee positions for a wallet. Returns positions with fee information from virtual pools and DAMM v2.

## Query parameters

- `wallet` string, required

## Response `200`

Successfully retrieved claimable positions

- object
  - `success` boolean, required
  - `response` ClaimablePosition[]
    - `programId` string — Fee share program ID (v1 or v2)
    - `isCustomFeeVault` boolean, required — Whether this position uses a custom fee vault
    - `baseMint` string, required — Base token mint public key
    - `quoteMint` string, nullable — Quote token mint public key (for v2)
    - `virtualPool` string — Virtual pool address
    - `virtualPoolAddress` string, nullable — Virtual pool address (alternative field name)
    - `virtualPoolClaimableAmount` number, nullable — Claimable amount from virtual pool (v1)
    - `virtualPoolClaimableLamportsUserShare` number, nullable — User's share of claimable lamports from virtual pool (v2)
    - `dammPoolClaimableAmount` number, nullable — Claimable amount from DAMM pool (v1)
    - `dammPoolClaimableLamportsUserShare` number, nullable — User's share of claimable lamports from DAMM pool (v2)
    - `isMigrated` boolean, required — Whether the pool has migrated to DAMM v2
    - `dammPoolAddress` string, nullable — DAMM pool address
    - `dammPositionInfo` DammPositionInfo
      - `position` string — DAMM v2 position public key
      - `pool` string — DAMM v2 pool public key
      - `positionNftAccount` string — Position NFT account public key
      - `tokenAMint` string — Token A mint public key
      - `tokenBMint` string — Token B mint public key
      - `tokenAVault` string — Token A vault public key
      - `tokenBVault` string — Token B vault public key
    - `totalClaimableLamportsUserShare` number, required — Total claimable lamports for the user
    - `claimableDisplayAmount` number, nullable — Human-readable claimable amount
    - `user` string, nullable — User wallet address (v2)
    - `claimerIndex` number, nullable — Index of the claimer in the config (v2)
    - `userBps` number, nullable — User's basis points allocation (v2)
    - `customFeeVault` string, nullable — Custom fee vault address (v1)
    - `customFeeVaultClaimerA` string, nullable — Custom fee vault claimer A (v1)
    - `customFeeVaultClaimerB` string, nullable — Custom fee vault claimer B (v1)
    - `customFeeVaultClaimerSide` 'A' | 'B', nullable — Which side of the custom fee vault the user is on (v1)

## Other responses

- `400` — Bad request - Invalid wallet address
- `401` — Unauthorized - Invalid or missing API key
- `500` — Internal server error

---

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