Catalog
CryptoPOSTlive

Wallet PnL details

Get per-token realized and unrealized profit/loss detail for a wallet address or named entity.

$0.01
per call
Success
100%
p50 latency
2.21s
p95 latency
2.60s
Calls (30d)
2

Provider contract

Call path
/routes/nansen/crypto/wallet-pnl-details
Method
POST
Selected provider
nansendefault
Provider price
$0.01
Settlement
Base USDC · x402 · 5% h402 fee

Quickstart

Both commands call the selected provider directly.

cURL
curl -X POST '/routes/nansen/crypto/wallet-pnl-details' \
  -H 'content-type: application/json' \
  -d '{"address":"0x39d52da6beec991f075eebe577474fd105c5caec","chain":"ethereum","date":{"from":"2026-05-01T00:00:00Z","to":"2026-05-21T23:59:59Z"}}'
CLI
h402 call 'crypto/wallet-pnl-details' --provider 'nansen' --method POST --json '{"address":"0x39d52da6beec991f075eebe577474fd105c5caec","chain":"ethereum","date":{"from":"2026-05-01T00:00:00Z","to":"2026-05-21T23:59:59Z"}}'

Parameters & live test

pays real USDC

Fill the request fields, quote the exact per-call total, then choose x402 or eligible bonus credit explicitly before sending. Only the selected provider's listed parameters are accepted.

addressstringoptional *

Wallet address to get per-token PnL for. Provide either walletAddress or entityName.

e.g.
entity_namestringoptional *

Nansen entity name to get per-token PnL for. Provide either walletAddress or entityName.

e.g.
chainstringrequired

Nansen chain slug supported by PnL analytics.

One of
dateobjectoptional

Optional ISO 8601 date-time range for the PnL window, with from and to fields.

date.fromstringrequired

Inclusive range start.

e.g.
date.tostringrequired

Inclusive range end.

e.g.
paginationobjectoptional

Optional pagination, e.g. { "page": 1, "perPage": 10 }.

pagination.pageintegeroptional≥ 1

1-based page number.

pagination.per_pageintegeroptional1–1000

Results per page (max 1000).

Provide at least one of address, entity_name.
POST/routes/nansen/crypto/wallet-pnl-details
Request body
{
  "address": "0x39d52da6beec991f075eebe577474fd105c5caec",
  "chain": "ethereum",
  "date": {
    "from": "2026-05-01T00:00:00Z",
    "to": "2026-05-21T23:59:59Z"
  }
}

ResponseExample response
{
  "data": {
    "pagination": {
      "page": 1,
      "per_page": 10,
      "is_last_page": true
    },
    "data": [
      {
        "token_address": "0x56072c95faa701256059aa122697b133aded9279",
        "token_symbol": "SKY",
        "token_price": 0.07069083833975649,
        "roi_percent_realised": -0.000004965788389144604,
        "pnl_usd_realised": -0.0063072615901448095,
        "pnl_usd_unrealised": 0.009584610186761483,
        "roi_percent_unrealised": 0.2218252246052874,
        "bought_amount": 20841.97540167959,
        "bought_usd": 1270.186253889082,
        "cost_basis_usd": 0.05785675145362405,
        "sold_amount": 20841.228592789183,
        "sold_usd": 1270.1367386911363,
        "avg_sold_price_usd": 0.06094346756172466,
        "holding_amount": 0.7468088904024721,
        "holding_usd": 0.05279254654213408,
        "nof_buys": "2",
        "nof_sells": "2",
        "max_balance_held": 18070.920978018912,
        "max_balance_held_usd": 1277.4485535076492
      },
      {
        "token_address": "0xae78736cd615f374d3085123a210448e74fc6393",
        "token_symbol": "RETH",
        "token_price": 2483.4440908982306,
        "roi_percent_realised": null,
        "pnl_usd_realised": 0,
        "pnl_usd_unrealised": -4314.7242187038955,
        "roi_percent_unrealised": -0.07992656540530298,
        "bought_amount": 20,
        "bought_usd": 53983.606036668505,
        "cost_basis_usd": 2699.1803018334253,
        "sold_amount": 0,
        "sold_usd": 0,
        "avg_sold_price_usd": null,
        "holding_amount": 20,
        "holding_usd": 49668.88181796461,
        "nof_buys": "1",
        "nof_sells": "0",
        "max_balance_held": 20,
        "max_balance_held_usd": 49668.88181796461
      }
    ]
  },
  "h402": {
    "routeId": "crypto/wallet-pnl-details",
    "provider": "nansen",
    "selectedCandidateId": "crypto/wallet-pnl-details/nansen",
    "routing": "manual",
    "paidBy": "x402-exact"
  }
}

Providers

Choose a provider for this task. The catalog recommends the current default from quality, reliability, and price; your selected provider stays pinned. Listed prices are provider prices; settlement adds a 5% h402 fee.

nansen
x402
100
Success
100%
p50
2.21s
Calls
2
100%
$0.01$0.010/call
Last successful call: 27d ago· Aggregated by h402 — not the source provider