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

# Get Wallet Token Position

> 返回一对钱包与代币的完整持仓，并附带钱包地址、解析得到的身份及所用 `pnlMode`。

## SDK Example

<CodeGroup>
  ```typescript SDK
  import { Client } from '@solana-tracker/data-api';

  const client = new Client({ apiKey: 'YOUR_API_KEY' });

  const data = await client.getPnlV2WalletTokenPosition('FbMxP3GVq8TQ36nbYgx4NP9iygMpwAwFWJwW81ioCiSF', '6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN');

  ```
</CodeGroup>


## OpenAPI

````yaml /cn/data-api/pnl-v2/openapi.json get /v2/pnl/wallets/{wallet}/tokens/{token}
openapi: 3.1.0
info:
  title: SolanaTracker PnL V2 API
  description: >-
    面向 Solana 钱包的盈亏追踪：钱包级 PnL 汇总、按代币的持仓、排行榜、KOL 榜单、风险分析与历史表现。金额均为美元；除另有说明外，时间戳均为
    Unix 毫秒。
  version: 2.0.0
servers:
  - url: https://data.solanatracker.io
    description: 生产环境
security:
  - apiKey: []
tags:
  - name: Leaderboard
    description: 顶尖交易者、巨鲸与 KOL 排名
  - name: Token
    description: 按代币的交易者与持币数据
  - name: Wallet
    description: 钱包级盈亏、持仓、历史与分析
  - name: Batch
    description: 批量钱包摘要与持仓查询
paths:
  /v2/pnl/wallets/{wallet}/tokens/{token}:
    get:
      tags:
        - Wallet
      summary: Get Wallet Token Position
      description: 返回一对钱包与代币的完整持仓，并附带钱包地址、解析得到的身份及所用 `pnlMode`。
      operationId: getWalletTokenPosition
      parameters:
        - $ref: '#/components/parameters/walletPath'
        - $ref: '#/components/parameters/tokenPath'
        - $ref: '#/components/parameters/pnlMode'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      wallet:
                        type: string
                      identity:
                        $ref: '#/components/schemas/Identity'
                      pnlMode:
                        type: string
                        enum:
                          - strict
                          - adjusted
                          - raw
                  - $ref: '#/components/schemas/Position'
              example:
                wallet: CyaE1VxvBrahnPWkqm5VsdCvyS2QmNht2UFrKJHga54o
                identity:
                  name: Cented
                  twitter: '@Cented7'
                  avatar: >-
                    https://kol-avatar.solanatracker.io/CyaE1VxvBrahnPWkqm5VsdCvyS2QmNht2UFrKJHga54o
                  platforms:
                    - axiom
                    - bloom
                  type: kol
                  tags:
                    - kol
                    - axiom
                    - bloom
                pnlMode: strict
                token: 41kjWDNs9gfJww2FtTUYKk3ZRLRvokSxHNhfXTsapump
                pnl:
                  realized: 62.77
                  realizedRaw: 62.77
                  unrealized: 0
                  total: 62.77
                invested: 305.23
                proceeds: 368
                roi: 20.56
                current:
                  balance: 0
                  costBasis: 0
                  value: 0
                  price: 0.000002870182480858
                  avgCost: 0
                volume:
                  tokensBought: 27789808.22406
                  tokensSold: 27789808.22406
                  buyUsd: 305.23
                  sellUsd: 368
                averages:
                  buy: 101.74
                  sell: 368
                counts:
                  buys: 3
                  sells: 1
                  total: 4
                timing:
                  firstBuy: 1779724371752
                  lastBuy: 1779724381730
                  firstSell: 1779724398824
                  lastSell: 1779724398824
                  firstTrade: 1779724371752
                  lastTrade: 1779724398824
                  holdTimeSecs: 27
                meta:
                  symbol: T&J
                  name: Tom & Jerry
                  price: 0.000002870182480858
                  marketCap: 2870.18
                  liquidity: 5620.34
                  primaryMarket: pumpfun
        '400':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-codeSamples:
        - lang: typescript
          label: SDK
          source: >
            import { Client } from '@solana-tracker/data-api';


            const client = new Client({ apiKey: 'YOUR_API_KEY' });


            const data = await
            client.getPnlV2WalletTokenPosition('FbMxP3GVq8TQ36nbYgx4NP9iygMpwAwFWJwW81ioCiSF',
            '6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN');
      x-code-samples:
        - lang: typescript
          label: SDK
          source: >
            import { Client } from '@solana-tracker/data-api';


            const client = new Client({ apiKey: 'YOUR_API_KEY' });


            const data = await
            client.getPnlV2WalletTokenPosition('FbMxP3GVq8TQ36nbYgx4NP9iygMpwAwFWJwW81ioCiSF',
            '6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN');
components:
  parameters:
    walletPath:
      name: wallet
      in: path
      required: true
      description: Solana 钱包地址（Base58，约 32–44 字符）
      schema:
        type: string
        pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
    tokenPath:
      name: token
      in: path
      required: true
      description: Solana 代币 mint 地址（Base58，约 32–44 字符）
      schema:
        type: string
        pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
    pnlMode:
      name: pnlMode
      in: query
      description: >-
        对被无效 PnL 启发式标记的仓位：`strict` 归零；`adjusted` 按成本基础封顶；`raw` 不改动已实现盈亏。API
        也接受别名 `pnl_mode` 与 `mode`。
      schema:
        type: string
        enum:
          - strict
          - adjusted
          - raw
        default: strict
  schemas:
    Identity:
      type: object
      description: >-
        Unified wallet identity. Only fields with known values are returned; a
        wallet can carry multiple tags at once.
      properties:
        name:
          type:
            - string
            - 'null'
          description: Display name, if known.
        twitter:
          type:
            - string
            - 'null'
          description: Twitter/X handle, if known.
        avatar:
          type:
            - string
            - 'null'
          format: uri
          description: Avatar image URL.
        type:
          type:
            - string
            - 'null'
          description: >-
            Primary label for single-badge UIs, such as `kol`, `developer`,
            `pool`, `bot`, `hacker`, `spam_dusting`, `exchange`, or a platform
            tag.
        tags:
          type: array
          items:
            type: string
          description: >-
            All resolved labels for the wallet, including KOL, platform, pool,
            developer, bot, arbitrage, hacker, spam-dusting, or exchange tags.
        platforms:
          type: array
          items:
            type: string
          description: >-
            Normalized trading frontend tags such as `axiom`, `bloom`, or
            `photon`. Query filters also accept `axiom-flash`, which is
            normalized to `axiom` in identity responses.
        bot:
          type: object
          properties:
            name:
              type:
                - string
                - 'null'
            avatar:
              type:
                - string
                - 'null'
              format: uri
        pool:
          type: object
          properties:
            program:
              type:
                - string
                - 'null'
            poolAddress:
              type:
                - string
                - 'null'
        developer:
          type: object
          properties:
            token:
              type:
                - string
                - 'null'
            via:
              type: array
              items:
                type: string
            pools:
              type: array
              items:
                type: string
            creationTx:
              type:
                - string
                - 'null'
            createdAt:
              type:
                - integer
                - 'null'
              description: Unix timestamp in seconds.
        hacker:
          type: object
          description: Curated exploit/scam wallet label, when known.
          properties:
            label:
              type:
                - string
                - 'null'
        spamDusting:
          type: object
          description: Curated spam-dusting wallet label, when known.
          properties:
            label:
              type:
                - string
                - 'null'
        exchange:
          type: object
          description: Known centralized exchange hot wallet label, when known.
          properties:
            name:
              type:
                - string
                - 'null'
    Position:
      type: object
      description: A single token position for a wallet.
      properties:
        token:
          type: string
          description: Token mint address (base58).
        pnl:
          $ref: '#/components/schemas/PnlBlock'
        invested:
          type:
            - number
            - 'null'
          description: Total cost basis (USD spent buying this token).
        proceeds:
          type:
            - number
            - 'null'
          description: Total USD received from sales of this token.
        roi:
          type:
            - number
            - 'null'
          description: Return on investment percentage.
        current:
          type: object
          properties:
            balance:
              type:
                - number
                - 'null'
              description: Current token balance (native units).
            costBasis:
              type:
                - number
                - 'null'
              description: Cost basis of remaining held tokens.
            value:
              type:
                - number
                - 'null'
              description: Current USD value of held tokens.
            price:
              type:
                - number
                - 'null'
              description: Current token price in USD.
            avgCost:
              type:
                - number
                - 'null'
              description: Average cost per token in USD.
        volume:
          type: object
          properties:
            tokensBought:
              type:
                - number
                - 'null'
              description: Total tokens purchased (native units).
            tokensSold:
              type:
                - number
                - 'null'
              description: Total tokens sold (native units).
            buyUsd:
              type:
                - number
                - 'null'
              description: Total USD spent on buys.
            sellUsd:
              type:
                - number
                - 'null'
              description: Total USD received from sells.
        averages:
          type: object
          properties:
            buy:
              type:
                - number
                - 'null'
              description: Average buy size in USD.
            sell:
              type:
                - number
                - 'null'
              description: Average sell size in USD.
        counts:
          type: object
          properties:
            buys:
              type: integer
            sells:
              type: integer
            total:
              type: integer
              description: Total transactions (buys + sells).
        timing:
          type: object
          properties:
            firstBuy:
              type:
                - integer
                - 'null'
              description: Unix ms.
            lastBuy:
              type:
                - integer
                - 'null'
              description: Unix ms.
            firstSell:
              type:
                - integer
                - 'null'
              description: Unix ms.
            lastSell:
              type:
                - integer
                - 'null'
              description: Unix ms.
            firstTrade:
              type:
                - integer
                - 'null'
              description: Unix ms.
            lastTrade:
              type:
                - integer
                - 'null'
              description: Unix ms.
            holdTimeSecs:
              type:
                - integer
                - 'null'
              description: How long the position has been (or was) held, in seconds.
        meta:
          $ref: '#/components/schemas/TokenMeta'
        portfolioPercent:
          type:
            - number
            - 'null'
          description: >-
            This position's value as a percentage of the wallet's total holdings
            value. Only present on the positions endpoint.
    Error:
      type: object
      properties:
        error:
          type: string
          description: Human-readable error message.
      required:
        - error
    PnlBlock:
      type: object
      description: Realized, unrealized, and total profit/loss in USD.
      properties:
        realized:
          type:
            - number
            - 'null'
          description: Profit/loss from closed trades (tokens fully or partially sold).
        realizedRaw:
          type:
            - number
            - 'null'
          description: >-
            Unfiltered realized PnL before `pnlMode` adjustments. Present on
            position rows and leaderboard period stats when available.
        unrealized:
          type:
            - number
            - 'null'
          description: >-
            Paper profit/loss on tokens still held, based on current market
            price.
        total:
          type:
            - number
            - 'null'
          description: Sum of realized + unrealized PnL.
    TokenMeta:
      type: object
      description: Basic token metadata and current market data.
      properties:
        symbol:
          type:
            - string
            - 'null'
        name:
          type:
            - string
            - 'null'
        decimals:
          type:
            - integer
            - 'null'
        price:
          type:
            - number
            - 'null'
          description: Current price in USD.
        liquidity:
          type:
            - number
            - 'null'
          description: Current liquidity in USD.
        marketCap:
          type:
            - number
            - 'null'
          description: Current market cap in USD.
        primaryMarket:
          type:
            - string
            - 'null'
          description: Primary DEX where this token trades (e.g. Raydium, Orca).
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: 用于鉴权的 API Key

````