> ## 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 Summaries Batch

> 最多 100 个独立钱包的 PnL 摘要、身份与标签；未收录的在 `notFound`，非法地址在 `invalid`，超限会截断并返回 `truncated`。

## SDK Example

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

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

  const data = await client.batchPnlV2WalletSummaries(['FbMxP3GVq8TQ36nbYgx4NP9iygMpwAwFWJwW81ioCiSF']);

  ```
</CodeGroup>


## OpenAPI

````yaml /cn/data-api/pnl-v2/openapi.json post /v2/pnl/wallets/batch
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/batch:
    post:
      tags:
        - Batch
      summary: Get Wallet Summaries Batch
      description: >-
        最多 100 个独立钱包的 PnL 摘要、身份与标签；未收录的在 `notFound`，非法地址在 `invalid`，超限会截断并返回
        `truncated`。
      operationId: batchWalletSummaries
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - wallets
              properties:
                wallets:
                  type: array
                  description: >-
                    Wallet addresses to summarize. Up to 100 unique valid
                    wallets are processed.
                  maxItems: 100
                  items:
                    type: string
                  example:
                    - CyaE1VxvBrahnPWkqm5VsdCvyS2QmNht2UFrKJHga54o
                    - vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg
      responses:
        '200':
          description: Wallet summaries found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: Number of wallets returned.
                  wallets:
                    type: array
                    items:
                      type: object
                      properties:
                        wallet:
                          type: string
                        identity:
                          $ref: '#/components/schemas/Identity'
                        summary:
                          $ref: '#/components/schemas/Summary'
                        tags:
                          type: object
                          properties:
                            isArbitrage:
                              type: boolean
                            platforms:
                              type: array
                              items:
                                type: string
                        updatedAt:
                          type:
                            - string
                            - integer
                            - 'null'
                          description: >-
                            Wallet summary update timestamp as returned by the
                            API.
                  notFound:
                    type: array
                    items:
                      type: string
                    description: Valid wallets with no indexed summary. Omitted when empty.
                  invalid:
                    type: array
                    items:
                      type: string
                    description: >-
                      Wallet addresses that failed Base58 validation. Omitted
                      when empty.
                  truncated:
                    type: object
                    description: >-
                      Returned when more than 100 unique valid wallets are
                      submitted.
                    properties:
                      requested:
                        type: integer
                      limit:
                        type: integer
              example:
                count: 1
                wallets:
                  - wallet: CyaE1VxvBrahnPWkqm5VsdCvyS2QmNht2UFrKJHga54o
                    identity:
                      name: Cented
                      twitter: '@Cented7'
                      avatar: >-
                        https://kol-avatar.solanatracker.io/CyaE1VxvBrahnPWkqm5VsdCvyS2QmNht2UFrKJHga54o
                      platforms:
                        - axiom
                        - bloom
                      type: kol
                      tags:
                        - kol
                        - axiom
                        - bloom
                    summary:
                      pnl:
                        realized: 10705447.32
                        unrealized: 1395.74
                        total: 10706843.06
                      invested: 49779099.94
                      proceeds: 60484547.26
                      openPositions:
                        cost: 8614.39
                        value: 10010.13
                      counts:
                        buys: 193041
                        sells: 141762
                        trades: 334803
                        tokensTraded: 78676
                        tokensHeldEver: 78195
                      averages:
                        buy: 257.87
                        sell: 426.66
                      roi: 21.51
                      timing:
                        firstTrade: 1713909067699
                        lastTrade: 1777034218124
                    tags:
                      isArbitrage: false
                      platforms:
                        - axiom
                        - bloom
                    updatedAt: 1777034218124
                notFound:
                  - vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg
        '400':
          description: Missing wallets array or no valid wallet addresses provided.
          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.batchPnlV2WalletSummaries(['FbMxP3GVq8TQ36nbYgx4NP9iygMpwAwFWJwW81ioCiSF']);
      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.batchPnlV2WalletSummaries(['FbMxP3GVq8TQ36nbYgx4NP9iygMpwAwFWJwW81ioCiSF']);
components:
  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'
    Summary:
      type: object
      description: Aggregated wallet-level PnL summary across all positions.
      properties:
        pnl:
          $ref: '#/components/schemas/PnlBlock'
        invested:
          type:
            - number
            - 'null'
          description: Total USD spent buying tokens.
        proceeds:
          type:
            - number
            - 'null'
          description: Total USD received from selling tokens.
        openPositions:
          type: object
          properties:
            cost:
              type:
                - number
                - 'null'
              description: Total cost basis of currently-held positions.
            value:
              type:
                - number
                - 'null'
              description: Current market value of held positions.
        counts:
          type: object
          properties:
            buys:
              type: integer
            sells:
              type: integer
            trades:
              type: integer
              description: Total number of buy + sell transactions.
            tokensTraded:
              type: integer
              description: Number of distinct tokens traded.
            tokensHeldEver:
              type: integer
              description: Total tokens ever held (including sold).
        averages:
          type: object
          properties:
            buy:
              type:
                - number
                - 'null'
              description: Average USD per buy transaction.
            sell:
              type:
                - number
                - 'null'
              description: Average USD per sell transaction.
        roi:
          type:
            - number
            - 'null'
          description: 'Return on investment as a percentage: (totalPnl / invested) * 100.'
        timing:
          type: object
          properties:
            firstTrade:
              type:
                - integer
                - 'null'
              description: Unix ms timestamp of the wallet's first trade.
            lastTrade:
              type:
                - integer
                - 'null'
              description: Unix ms timestamp of the wallet's most recent trade.
            avgHoldTimeSecs:
              type:
                - integer
                - 'null'
              description: >-
                Average hold duration across all positions with a first buy, in
                seconds. Uses the same per-position formula as
                `timing.holdTimeSecs` on positions and traders (first buy to
                last sell for closed bags, live duration for open bags). Not the
                same as `/chart` → `summary.averages.holdTimeSecs`, which is
                day-weighted from daily snapshots.
    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.
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: 用于鉴权的 API Key

````