# Vybe Solana Wallet PnL Summary

> Vybe Solana Wallet PnL Summary is a paid API for AI agents from x402-api.vybenetwork.xyz, paid per call via x402, $0.015/call, status unknown (last checked 2026-09-28).

Returns a per-token profit-and-loss summary (realized and unrealized PnL, buy/sell volume and trade counts) for a given Solana wallet address over a chosen time resolution.

## Facts

- Endpoint: POST https://x402-api.vybenetwork.xyz/v4/wallets/%7BownerAddress%7D/pnl?utm_source=zero.xyz
- Price: $0.015/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-28
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/vybe-solana-wallet-pnl-summary-33ebd951
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_al0CfZRsM8xJXghyUU64j

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability vybe-solana-wallet-pnl-summary-33ebd951 -d '<json body>'
```

Example prompt: Show me the trading PnL breakdown for Solana wallet 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU over the last 30 days, sorted by realized PnL descending, up to 50 tokens.

## When to prefer this

Use this endpoint when you need a comprehensive per-token profit-and-loss breakdown for a specific Solana wallet, including both realized and unrealized PnL alongside buy/sell volume metrics. Prefer it over general balance or transfer endpoints when the goal is trading performance analysis rather than raw transaction history. Ideal for portfolio analytics dashboards, trader performance scoring, or identifying the most/least profitable tokens for a given address.

## Known failure modes

- Invalid or malformed ownerAddress returns a 400 error
- Using both sortByAsc and sortByDesc simultaneously returns a 400 validation error
- Invalid resolution value (not 1d, 7d, 30d, or Full) returns a 400 error
- Payment not provided or insufficient USDC via x402 returns a 402 Payment Required
- Wallet address with no trading history returns an empty result set
- Nonexistent mintAddress filter returns empty results without error
- Pagination limit exceeding 1000 silently caps at 1000 entries

## How this service works

Read access to Solana on-chain data — tokens, wallets, markets, prices, trades, transfers. No API key, no signup. Pay in USDC per request with the x402 protocol; the per-route price is declared in `x-payment-info`. WebSocket streaming uses prepaid credits.

## Output

Returns an AccountTradesSummaryReturn object containing a paginated list of per-token trading summaries for the wallet, each with realized PnL (USD), unrealized PnL (USD), buy/sell transaction counts, token amounts, and USD volumes, scoped to the requested time resolution.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "ownerAddress"
 ],
 "properties": {
  "page": {
   "type": "integer",
   "description": "The requested page."
  },
  "limit": {
   "type": "integer",
   "description": "The limit of entries to return. If not passed, first 1000 entries are returned (the maximum)."
  },
  "sortByAsc": {
   "type": "string",
   "description": "Sort ascending by 'mintAddress', 'tokenSymbol', 'buysTransactionCount', 'buysTokenAmount', 'buysVolumeUsd', 'sellsTransactionCount', 'sellsTokenAmount', 'sellsVolumeUsd', 'realizedPnlUsd', 'unrealizedPnlUsd'. Only one of sort_by_asc or sort_by_desc can be used."
  },
  "resolution": {
   "type": "string",
   "description": "Resolution of the data. Possible values: 1d, 7d, 30d, Full. Default is \"1d\"."
  },
  "sortByDesc": {
   "type": "string",
   "description": "Sort descending by 'mintAddress', 'tokenSymbol', 'buysTransactionCount', 'buysTokenAmount', 'buysVolumeUsd', 'sellsTransactionCount', 'sellsTokenAmount', 'sellsVolumeUsd', 'realizedPnlUsd', 'unrealizedPnlUsd'. Only one of sort_by_asc or sort_by_desc can be used."
  },
  "mintAddress": {
   "type": "string",
   "description": "The mint address filter for tokens. Provides the mint address to filter the requested data by."
  },
  "ownerAddress": {
   "type": "string",
   "description": "The public key (pubKey) associated with the Solana account."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "$ref": "#/components/schemas/AccountTradesSummaryReturn"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vybe-solana-wallet-pnl-summary-33ebd951/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-api.vybenetwork.xyz](https://www.zero.xyz/host/x402-api.vybenetwork.xyz/llms.txt)
