Wallet - PnL (Per Token)

Retrieve all-time trading, holdings, cash flow, PnL, and pricing metrics for each specified token in a given wallet.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Per-token wallet PnL.

  • Maximum number of tokens per request is 50.
  • Notes on data: trade data per protocol aren't backfilled and might affect the calculation of PnL.
  • meta:
    • address: wallet address.
    • currency: the currency in which PnL is calculated, such as USD.
  • tokens[<token_address>] includes counts, quantity, cashflow, PnL, and pricing blocks for each token.
  • Insights in the response:
    • counts:
      • total_buy: Total number of buy trades.
      • total_sell: Total number of sell trades.
      • total_trade: Combined total of buys and sells.
      • total_win: Total trades have profit. Only account for fully realized tokens.
      • total_loss: Total trades in loss. Only account for fully realized tokens.
      • win_rate: Winning rate. Only account for fully realized tokens.
    • cashflow_usd:
      • total_invested: USD spent on all buys.
      • total_sold: USD received from sales.
      • current_value: Current position value in USD.
    • pnl:
      • realized_profit_usd: Profit/loss from completed trades.
      • realized_profit_percent: % gain/loss relative to sold cost basis.
      • unrealized_usd: Profit/loss of current holdings (mark-to-market).
      • total_usd: Sum of realized + unrealized profit in USD.
      • avg_profit_per_trade_usd: Average profit/loss per trade.
  • Quantity fields are already normalized by token decimals.
Compute Unit ⚙️
  • This endpoint consumes 40 CU per request.
Use Cases 💡
  • Break a wallet's PnL down token by token.
  • Identify which assets drove gains, losses, and current unrealized exposure.
  • Power wallet analytics views that need realized and unrealized PnL per holding.
How to Use 🛠️
  • Set the supported PnL chain in x-chain.
  • Pass the wallet address in wallet.
  • Pass up to 50 token addresses in token_addresses.
  • Read pricing, cashflow_usd, and pnl together to understand both execution and current exposure.
Best Practices ✅
  • Use this endpoint when you already know which token set you want to evaluate.
  • Compare current_value with total_invested and total_sold to separate realized outcomes from open positions.
  • Treat this endpoint as deprecated over time and prefer newer summary/detail flows where they better fit the product.

Query Params
string
required

The wallet of the account.

string
required

List of token address.

Headers
string
enum
Defaults to solana

The chain support PNL data.

Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json