Wallet PnL details
Get per-token realized and unrealized profit/loss detail for a wallet address or named entity.
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 -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"}}'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 USDCFill 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.
entity_namestringoptional *Nansen entity name to get per-token PnL for. Provide either walletAddress or entityName.
chainstringrequiredNansen chain slug supported by PnL analytics.
dateobjectoptionalOptional ISO 8601 date-time range for the PnL window, with from and to fields.
date.fromstringrequiredInclusive range start.
date.tostringrequiredInclusive range end.
paginationobjectoptionalOptional pagination, e.g. { "page": 1, "perPage": 10 }.
pagination.pageintegeroptional≥ 11-based page number.
pagination.per_pageintegeroptional1–1000Results per page (max 1000).
address, entity_name.{
"address": "0x39d52da6beec991f075eebe577474fd105c5caec",
"chain": "ethereum",
"date": {
"from": "2026-05-01T00:00:00Z",
"to": "2026-05-21T23:59:59Z"
}
}{ "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.
- Success
- 100%
- p50
- 2.21s
- Calls
- 2