# Nansen TGM Transfers

> Nansen TGM Transfers is a paid API for AI agents from api.nansen.ai, paid per call via MPP or x402, $0.01/call, status unknown (last checked 2026-09-14, last successful call 2026-05-27).

Retrieves token transfer data from TGM (Token General Market) on-chain activity via Nansen's analytics platform

## Facts

- Endpoint: GET https://api.nansen.ai/api/v1/tgm/transfers
- Price: $0.01/call
- Payment: MPP, x402
- Status: unknown
- Last checked: 2026-09-14
- Last successful call: 2026-05-27
- Success rate: 33% of calls made through Zero
- Activations on Zero: 3
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-nansen-ai-febe3a22
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_BZ1sSjeAGogBYnw0UpJeo

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

Example prompt: Can you pull the TGM transfer data from Nansen for the token at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 so I can see which wallets have been moving it recently?

## When to prefer this

Use this endpoint when you need labeled, enriched token transfer data from Nansen's TGM dataset — especially when wallet identity labels (smart money, exchanges, whales) matter. Prefer this over raw RPC calls or block explorers when you want Nansen's proprietary entity tagging layered on top of transfer activity.

## Known failure modes

- Invalid or unsupported token/contract address returns 400 error
- Unauthenticated or unauthorized request returns 401/403
- No transfers found for the given parameters returns empty result set
- Rate limiting or quota exceeded returns 429
- Malformed request body returns 400 with validation error

## How this service works

Get "Token God Mode" (TGM) transfers data

## Output

A list of TGM token transfer records including sender and receiver addresses, token amounts, transaction hashes, timestamps, and Nansen wallet labels (e.g. smart money, exchange, whale) enriching each address involved in the transfers.

## Example request

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

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "title": "TGMTransfersRequest",
 "required": [
  "chain",
  "token_address",
  "date"
 ],
 "properties": {
  "date": {
   "type": "object",
   "title": "DateRangeMaxOneYear",
   "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 with a maximum duration of 1 year.\n\nInherits all functionality from DateRange but adds validation to ensure\nthe date range does not exceed 366 days (to account for leap years).\n\nThis limit ensures optimal query performance."
  },
  "chain": {
   "enum": [
    "arbitrum",
    "avalanche",
    "base",
    "bitcoin",
    "bnb",
    "ethereum",
    "hyperevm",
    "injective",
    "iotaevm",
    "linea",
    "mantle",
    "mantra",
    "monad",
    "near",
    "optimism",
    "plasma",
    "polygon",
    "ronin",
    "scroll",
    "sei",
    "solana",
    "sonic",
    "starknet",
    "sui",
    "ton",
    "tron"
   ],
   "type": "string",
   "title": "TGMTransfersChain",
   "description": "Chains supported for TGM transfers endpoint."
  },
  "filters": {
   "anyOf": [
    {
     "type": "object",
     "title": "TGMTransfersFilters",
     "properties": {
      "to_address": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "array",
         "items": {
          "type": "string"
         }
        },
        {
         "type": "null"
        }
       ],
       "title": "To Address",
       "examples": [
        "0x28c6c06298d514db089934071355e5743bf21d60"
       ],
       "description": "To address filter"
      },
      "include_cex": {
       "anyOf": [
        {
         "type": "boolean"
        }
       ],
       "title": "Include Cex",
       "examples": [
        true
       ],
       "description": "Whether to include CEX transfers"
      },
      "include_dex": {
       "anyOf": [
        {
         "type": "boolean"
        }
       ],
       "title": "Include Dex",
       "examples": [
        true
       ],
       "description": "Whether to include D
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "TGMTransfersResponse",
 "required": [
  "data",
  "pagination"
 ],
 "properties": {
  "data": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "TGMTransfer",
    "required": [
     "block_timestamp",
     "transaction_hash",
     "from_address",
     "to_address"
    ],
    "properties": {
     "to_address": {
      "type": "string",
      "title": "To Address",
      "examples": [
       "0x742d35cc6634c0532925a3b8d4c9db96c4b4d8b6"
      ],
      "description": "to address"
     },
     "from_address": {
      "type": "string",
      "title": "From Address",
      "examples": [
       "0x28c6c06298d514db089934071355e5743bf21d60"
      ],
      "description": "from address"
     },
     "block_timestamp": {
      "type": "string",
      "title": "Block Timestamp",
      "examples": [
       "2025-05-01T12:00:00Z"
      ],
      "description": "The block timestamp for the transaction"
     },
     "transfer_amount": {
      "anyOf": [
       {
        "type": "number"
       }
      ],
      "title": "Transfer Amount",
      "examples": [
       1000
      ],
      "description": "value of the token traded"
     },
     "to_address_label": {
      "anyOf": [
       {
        "type": "string"
       }
      ],
      "title": "To Address Label",
      "examples": [
       "High Balance"
      ],
      "description": "to address label"
     },
     "transaction_hash": {
      "type": "string",
      "title": "Transaction Hash",
      "examples": [
       "0x1234567890abcdef..."
      ],
      "description": "The transaction hash for the transaction"
     },
     "transaction_type": {
      "anyOf": [
       {
        "type": "string"
       }
      ],
      "title": "Transaction Type",
      "examples": [
       "DEX"
      ],
      "description": "Transaction type"
     },
     "from_address_label": {
      "anyOf": [
       {
        "type": "string"
       }
      ],
      "title": "From Address Label",
      "examples": [
       "🏦 Binance 14 [0x28c6c0]"
      ],
      "description": "from address label"
     },
     "transfer_value_usd": {
      "anyOf": [
       {
        "type": "number"
       }
      ],
      "title": "Transfer Value Usd",
      "examples": [
       2500
      ],
      "description": "value of the token traded in USD"
     }
    },
    "description": "Individual TGM transfer record.\n\nRepresents a single token transfer with transaction details and participant information."
   },

… (truncated)
```

## More

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