# Nansen Token God Mode PnL Leaderboard

> Nansen Token God Mode PnL Leaderboard is a paid API for AI agents from api.nansen.ai, paid per call via MPP or x402, $0.05/call, status unknown (last checked 2026-09-13).

Retrieves the Token God Mode (TGM) profit-and-loss leaderboard, ranking wallets by trading performance for a given token.

## Facts

- Endpoint: GET https://api.nansen.ai/api/v1/tgm/pnl-leaderboard
- Price: $0.05/call
- Payment: MPP, x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-nansen-ai-10769572
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_rV5_Mh7FjavC1mTxtbd3l

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-10769572
```

Example prompt: Pull up the Nansen Token God Mode PnL leaderboard for BONK so I can see which wallets have made the most profit trading it.

## When to prefer this

Use this endpoint when you need to identify the top-performing wallets by PnL for a specific token using Nansen's on-chain smart money data. It is the right choice when the goal is to rank traders by profitability rather than just monitor flows or positions. Prefer this over general transaction lookup endpoints when the specific need is leaderboard-style PnL ranking for a token.

## Known failure modes

- Invalid or unrecognized token address returns an error or empty result
- Token not indexed in TGM returns no leaderboard data
- Malformed POST body causes 400 bad request
- Insufficient payment or missing x402 payment header causes 402 payment required
- Rate limiting may return 429 if called too frequently
- Network timeout if Nansen backend is slow to respond

## How this service works

Get "Token God Mode" (TGM) PnL leaderboard data

## Output

Returns a ranked list of wallet addresses sorted by profit-and-loss performance for a specified token, including metrics such as realized PnL, unrealized PnL, and trade volume — sourced from Nansen's Token God Mode analytics layer.

## Example request

```json
{
 "date": {
  "to": "2025-01-31",
  "from": "2025-01-01"
 },
 "chain": "ethereum",
 "pagination": {
  "page": 1,
  "per_page": 10
 },
 "token_address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "title": "TGMPnlLeaderboardRequest",
 "required": [
  "chain",
  "token_address",
  "date"
 ],
 "properties": {
  "date": {
   "type": "object",
   "title": "DateRange",
   "properties": {
    "to": {
     "anyOf": [
      {
       "type": "string"
      }
     ],
     "title": "To",
     "examples": [
      "2025-01-31T23:59:59Z"
     ],
     "description": "End date in ISO 8601 format (e.g., 2025-01-31T23:59:59Z or 2025-01-31)"
    },
    "from": {
     "anyOf": [
      {
       "type": "string"
      }
     ],
     "title": "From",
     "examples": [
      "2025-01-01T00:00:00Z"
     ],
     "description": "Start date in ISO 8601 format (e.g., 2025-01-01T00:00:00Z or 2025-01-01)"
    }
   },
   "description": "Date range model matching the API schema."
  },
  "chain": {
   "enum": [
    "arbitrum",
    "avalanche",
    "base",
    "bnb",
    "ethereum",
    "hyperevm",
    "linea",
    "mantle",
    "monad",
    "optimism",
    "plasma",
    "polygon",
    "ronin",
    "scroll",
    "sei",
    "solana",
    "sonic"
   ],
   "type": "string",
   "title": "TGMPnLLeaderboardChain",
   "description": "Chains supported for TGM PnL leaderboard endpoint."
  },
  "filters": {
   "anyOf": [
    {
     "type": "object",
     "title": "TGMPnlLeaderboardFilters",
     "properties": {
      "nof_trades": {
       "anyOf": [
        {
         "type": "object",
         "title": "NumericRangeFilter",
         "properties": {
          "max": {
           "anyOf": [
            {
             "type": "number"
            }
           ],
           "title": "Max",
           "examples": [
            50000,
            10000000,
            100
           ],
           "description": "Maximum value (inclusive)"
          },
          "min": {
           "anyOf": [
            {
             "type": "number"
            }
           ],
           "title": "Min",
           "examples": [
            1000,
            1000000,
            -50,
            0
           ],
           "description": "Minimum value (inclusive)"
          }
         },
         "description": "Filter for numeric values (floats) with optional min/max bounds.\nUse for prices, volumes, ratios, and other decimal values. - Values between -10.5 and 100.75"
        }
       ],
       "examples": [
        {
         "max": 100,
         "min": 10
        }
       ],
       "description": "Number of trades range filter"
      },
      "holding_usd": {
       "anyOf": [
        {

… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "TGMPnlLeaderboardResponse",
 "required": [
  "data",
  "pagination"
 ],
 "properties": {
  "data": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "TGMPnlLeaderboard",
    "required": [
     "trader_address"
    ],
    "properties": {
     "price_usd": {
      "anyOf": [
       {
        "type": "number"
       }
      ],
      "title": "Price Usd",
      "examples": [
       1.23
      ],
      "description": "Token price in USD at date_to. Uses latest spot price if date_to is today or later, otherwise the daily median price for that date."
     },
     "nof_trades": {
      "anyOf": [
       {
        "type": "integer"
       }
      ],
      "title": "Nof Trades",
      "examples": [
       25
      ],
      "description": "Number of trades."
     },
     "holding_usd": {
      "anyOf": [
       {
        "type": "number"
       }
      ],
      "title": "Holding Usd",
      "examples": [
       6000
      ],
      "description": "USD value of token balance"
     },
     "pnl_usd_total": {
      "anyOf": [
       {
        "type": "number"
       }
      ],
      "title": "Pnl Usd Total",
      "examples": [
       1350.75
      ],
      "description": "Total PNL in USD."
     },
     "holding_amount": {
      "anyOf": [
       {
        "type": "number"
       }
      ],
      "title": "Holding Amount",
      "examples": [
       5000
      ],
      "description": "Current token balance"
     },
     "netflow_amount": {
      "anyOf": [
       {
        "type": "number"
       }
      ],
      "title": "Netflow Amount",
      "examples": [
       1500
      ],
      "description": "Netflow amount."
     },
     "trader_address": {
      "type": "string",
      "title": "Trader Address",
      "examples": [
       "0x28c6c06298d514db089934071355e5743bf21d60"
      ],
      "description": "Hexadecimal representation of the trader's address."
     },
     "max_balance_held": {
      "anyOf": [
       {
        "type": "number"
       }
      ],
      "title": "Max Balance Held",
      "examples": [
       10000
      ],
      "description": "Maximum amount of tokens held at some point in time."
     },
     "pnl_usd_realised": {
      "anyOf": [
       {
        "type": "number"
       }
      ],
      "title": "Pnl Usd Realised",
      "examples": [
       1250.5
      ],
      "description": "Realised profit and loss in USD."
     },
     "roi_percent_total": {
      "anyOf": [
       {
        "typ
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-nansen-ai-10769572/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)
