# Nansen Prediction Market PnL by Address

> Nansen Prediction Market PnL by Address is a paid API for AI agents from api.nansen.ai, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Returns profit and loss (PnL) data for a specific wallet address across prediction markets

## Facts

- Endpoint: GET https://api.nansen.ai/api/v1/prediction-market/pnl-by-address
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-nansen-ai-a238fbbb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_XEFkGpIROnNX9jjmF-oyi

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 api-nansen-ai-a238fbbb
```

Example prompt: What's the total prediction market PnL for wallet address 0x1234abcd...? I want to see how much profit or loss they've made across all prediction markets.

## When to prefer this

Use this endpoint when you need to evaluate the prediction market trading performance of a specific wallet address — particularly for smart money analysis, portfolio tracking, or due diligence on a trader. Prefer this over general address PnL endpoints when the focus is specifically on prediction market positions.

## Known failure modes

- Invalid or malformed wallet address returns 400 error
- Address with no prediction market activity returns empty or zero PnL
- Rate limiting or quota exceeded returns 429 error
- Unsupported chain or address format returns error
- Network timeout or service unavailability returns 5xx error

## How this service works

Get Prediction Market PnL by Address

## Output

Returns profit and loss breakdown for the specified wallet address across prediction markets, including realized and unrealized gains/losses, trade performance metrics, and net PnL figures.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "title": "PnlByAddressRequest",
 "required": [
  "address"
 ],
 "properties": {
  "address": {
   "type": "string",
   "title": "Address",
   "examples": [
    "0x1234567890abcdef1234567890abcdef12345678"
   ],
   "maxLength": 100,
   "minLength": 1,
   "description": "Wallet address (hex, with or without 0x prefix)"
  },
  "order_by": {
   "anyOf": [
    {
     "type": "array",
     "items": {
      "type": "object",
      "title": "SortOrder[PnlByAddressSortField]",
      "required": [
       "field",
       "direction"
      ],
      "properties": {
       "field": {
        "enum": [
         "total_pnl_usd"
        ],
        "type": "string",
        "title": "PnlByAddressSortField",
        "description": "Sortable fields for PnL by address endpoint."
       },
       "direction": {
        "enum": [
         "ASC",
         "DESC"
        ],
        "type": "string",
        "title": "SortDirection",
        "description": "Enum for sort directions."
       }
      }
     }
    }
   ],
   "title": "Order By",
   "examples": [
    [
     {
      "field": "total_pnl_usd",
      "direction": "DESC"
     }
    ]
   ],
   "description": "Sort order"
  },
  "pagination": {
   "type": "object",
   "title": "PaginationRequest",
   "properties": {
    "page": {
     "type": "integer",
     "title": "Page",
     "default": 1,
     "minimum": 1,
     "description": "Page number (1-based)"
    },
    "per_page": {
     "type": "integer",
     "title": "Per Page",
     "default": 10,
     "maximum": 1000,
     "minimum": 1,
     "description": "Number of records per page (max 1000)"
    }
   },
   "description": "Pagination parameters for API requests."
  }
 },
 "description": "Request for PnL by address endpoint.",
 "additionalProperties": false
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "PnlByAddressResponse",
 "required": [
  "data"
 ],
 "properties": {
  "data": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "PnlByAddressItem",
    "properties": {
     "address": {
      "anyOf": [
       {
        "type": "string"
       }
      ],
      "title": "Address",
      "description": "Trader address (hex)"
     },
     "event_id": {
      "anyOf": [
       {
        "type": "string"
       }
      ],
      "title": "Event Id",
      "description": "Parent event ID"
     },
     "question": {
      "anyOf": [
       {
        "type": "string"
       }
      ],
      "title": "Question",
      "description": "Market question"
     },
     "market_id": {
      "anyOf": [
       {
        "type": "string"
       }
      ],
      "title": "Market Id",
      "description": "Market ID"
     },
     "side_held": {
      "anyOf": [
       {
        "type": "string"
       }
      ],
      "title": "Side Held",
      "examples": [
       "Yes"
      ],
      "description": "Side held (Yes/No)"
     },
     "event_title": {
      "anyOf": [
       {
        "type": "string"
       }
      ],
      "title": "Event Title",
      "description": "Parent event title"
     },
     "total_pnl_usd": {
      "anyOf": [
       {
        "type": "number"
       }
      ],
      "title": "Total Pnl Usd",
      "description": "Total PnL in USD"
     },
     "market_resolved": {
      "anyOf": [
       {
        "type": "boolean"
       }
      ],
      "title": "Market Resolved",
      "description": "Whether market is resolved"
     },
     "net_buy_cost_usd": {
      "anyOf": [
       {
        "type": "number"
       }
      ],
      "title": "Net Buy Cost Usd",
      "description": "Net buy cost in USD"
     },
     "redemption_value_usd": {
      "anyOf": [
       {
        "type": "number"
       }
      ],
      "title": "Redemption Value Usd",
      "description": "Redemption value in USD"
     },
     "unrealized_value_usd": {
      "anyOf": [
       {
        "type": "number"
       }
      ],
      "title": "Unrealized Value Usd",
      "description": "Unrealized value in USD"
     },
     "net_sell_proceeds_usd": {
      "anyOf": [
       {
        "type": "number"
       }
      ],
      "title": "Net Sell Proceeds Usd",
      "description": "Net sell proceeds in USD"
     }
    },
    "description": "PnL by address data from ch_api_pm_pnl_by_address."
   },
   "title": "Data",
   "description": "L
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-nansen-ai-a238fbbb/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.nansen.ai](https://www.zero.xyz/host/api.nansen.ai/llms.txt)
