Nansen API
  • ✨Introduction
  • 📌Endpoints Overview
  • 🔴Rate Limits and Quotas
  • Getting Started
    • ☑️Prerequisites
    • 🌐API Structure & Base URL
    • 🔓Authentication
    • 🟢Understanding Responses and Handling Errors
    • ⛓️Chain Coverage
  • API
    • Smart Money
    • Profiler
      • Balances
      • Transactions
      • Counterparties
      • Trade Performance
      • Labels
    • Token God Mode
      • Token Overview
      • Transactions
      • Holders
      • Exchanges
      • PnL Leaderboard
  • Other Endpoints
  • Guides
    • 💻Endpoint Showcase
    • 🙋Frequently Asked Questions
  • 🔗Useful Links
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. API

Profiler

PreviousSmart MoneyNextBalances

Last updated 5 days ago

Was this helpful?

  • POSTprofiler/address/balances
  • POSTprofiler/address/historical-balances
  • POSTprofiler/address/nft-balances
  • POSTprofiler/address/related-wallets
  • POSTprofiler/address/counterparties
  • POSTprofiler/address/transactions
  • POSTprofiler/address/pnl
  • POSTprofiler/address/pnl-summary

profiler/address/balances

post

Token balances for a given set of addresses. For each token balance, it provides details like which chain the token is on, the current price in USD, the token balance value in USD and the token's logo URL.

Parameters

| Parameter | Type | Description | | ---------------- | ------ | ------------------------------------------ | | wallet_addresses | String | Comma separated list of addresses. | | chain | String | 'all' for all chain, otherwise chain name. |

Body
Responses
200
Successful response
application/json
400
Bad request
application/json
401
Authentication error
application/json
403
Forbidden - Subscription tier required
application/json
500
Internal server error
application/json
post
POST /api/beta/profiler/address/balances HTTP/1.1
Host: api.nansen.ai
Content-Type: application/json
Accept: */*
Content-Length: 124

{
  "parameters": {
    "chain": "ethereum",
    "walletAddresses": [
      "0x28c6c06298d514db089934071355e5743bf21d60"
    ],
    "suspiciousFilter": null
  }
}
[
  {
    "chain": "text",
    "tokenAddress": "text",
    "symbol": "text",
    "name": "text",
    "tokenAmount": "text",
    "priceUsd": "text",
    "usdValue": "text",
    "logoUrl": "text"
  }
]

profiler/address/historical-balances

post

Historical native coin & token balances of specific group of addresses. For each date within a defined timeframe, it ranks tokens by their approximate USD balance, consolidating those not in the top 10 or below a 2% total daily balance threshold into an 'Other' category. It also offers functionality to exclude tokens labeled as suspicious. The final view provides a daily breakdown of top tokens, aiding in understanding the historical distribution and significance of token balances by their USD value.

Parameters | Parameter | Type | Description | | --------- |--------|-------------------------------------------------| | wallet_addresses | String | Wallet addresses input. | | param_chain | String | EVM chain to query, or 'all' for combined view. | | suspicious_filter | String | 'on' of 'off' to filter supicious tokens | | time_frame | UInt | Days to query |

Body
Responses
200
Successful response
application/json
400
Bad request
application/json
401
Authentication error
application/json
403
Forbidden - Subscription tier required
application/json
500
Internal server error
application/json
post
POST /api/beta/profiler/address/historical-balances HTTP/1.1
Host: api.nansen.ai
Content-Type: application/json
Accept: */*
Content-Length: 141

{
  "parameters": {
    "walletAddresses": [
      "0x28c6c06298d514db089934071355e5743bf21d60"
    ],
    "chain": "ethereum",
    "suspiciousFilter": null,
    "timeFrame": null
  }
}
[
  {
    "blockTimestamp": "text",
    "tokenAddress": "text",
    "chain": "text",
    "usdBalance": "text",
    "symbol": "text"
  }
]

profiler/address/nft-balances

post

NFT Holdings

Body
Responses
200
Successful response
application/json
400
Bad request
application/json
401
Authentication error
application/json
403
Forbidden - Subscription tier required
application/json
500
Internal server error
application/json
post
POST /api/beta/profiler/address/nft-balances HTTP/1.1
Host: api.nansen.ai
Content-Type: application/json
Accept: */*
Content-Length: 31

{
  "parameters": {
    "address": null
  }
}
[
  {
    "projectId": "0xbd3531da5cf5857e7cfaa92426877b022e612cf8",
    "nftBalance": 18,
    "estimatedValue": 86.32,
    "medianPrice": 4.44,
    "nofSales1d": 13,
    "liquidityVelocity": -1.81,
    "liquidity": "High",
    "name": "Pudgy Penguins",
    "hasName": 1
  }
]

profiler/address/related-wallets

post

This model provides information about related wallets of an input address. The relation can be any of 'First Funder', 'Signer', 'Previous Signer', 'Multisig Signer of', 'Previous Multisig Signer of', 'Deployed via', 'Deployed by', 'Deployed Contract', 'Created Contract', 'Created by'.

Questions you can answer using this model are:

  1. What addresses are related to a specific address?

  2. In which way is an address related to other addresses?

  3. Did the specified address deploy any contracts?

  4. Where did the specified address get its first funds from?

Parameters

Parameter
Type
Description

wallet_addresses

Array(String)

Hexadecimal representation of an address.

Body
Responses
200
Successful response
application/json
400
Bad request
application/json
401
Authentication error
application/json
403
Forbidden - Subscription tier required
application/json
500
Internal server error
application/json
post
POST /api/beta/profiler/address/related-wallets HTTP/1.1
Host: api.nansen.ai
Content-Type: application/json
Accept: */*
Content-Length: 100

{
  "parameters": {
    "chain": "ethereum",
    "walletAddresses": [
      "0x28c6c06298d514db089934071355e5743bf21d60"
    ]
  }
}
[
  {
    "addressHex": "text",
    "addressName": "text",
    "relation": "text",
    "transactionHash": "text"
  }
]

profiler/address/counterparties

post

In this model, we are listing the addresses or entities which have the most common interactions with the input addresses. The model is able to show volume in, volume out and number of transactions in and out for tokens, eth and combined.

Parameters

| Parameter | Type | Description | | ---------------- | ------ | ----------------------------------------- | | wallet_addresses | String | Comma separated list of addresses. | | source_value | Enum | ETH/Tokens/Combined | | date_from | String | Date range start input, format YYYY-MM-DD | | date_to | String | Date range end input, format YYYY-MM-DD | | group_by | String | 'wallet' or 'entity |

Body
Responses
200
Successful response
application/json
400
Bad request
application/json
401
Authentication error
application/json
403
Forbidden - Subscription tier required
application/json
500
Internal server error
application/json
post
POST /api/beta/profiler/address/counterparties HTTP/1.1
Host: api.nansen.ai
Content-Type: application/json
Accept: */*
Content-Length: 252

{
  "parameters": {
    "walletAddresses": [
      "0x28c6c06298d514db089934071355e5743bf21d60"
    ],
    "chain": "ethereum",
    "sourceInput": null,
    "groupBy": null,
    "dateFrom": "1970-01-01T00:00:00Z",
    "dateTo": "2050-01-01T00:00:00Z",
    "timeRange": {
      "from": "2025-05-01",
      "to": "2025-05-03"
    }
  }
}
[
  {
    "chain": "text",
    "interactingWalletAddress": "text",
    "interactingWalletLabel": "text",
    "volumeOut": "text",
    "volumeIn": "text",
    "numberOfOutgoingTransactions": "text",
    "numberOfIncomingTransactions": "text",
    "netInflowInUsd": "text",
    "info": "text"
  }
]

profiler/address/transactions

post

Address and its labels

Body
Responses
200
Successful response
application/json
400
Bad request
application/json
401
Authentication error
application/json
403
Forbidden - Subscription tier required
application/json
500
Internal server error
application/json
post
POST /api/beta/profiler/address/transactions HTTP/1.1
Host: api.nansen.ai
Content-Type: application/json
Accept: */*
Content-Length: 77

{
  "parameters": {
    "chain": "ethereum",
    "address": null,
    "entity": null,
    "label": null
  }
}
[
  {
    "label": "Deployer",
    "category": "others",
    "definition": "Person or smart contract who deploys a smart contract.",
    "smEarnedDate": "01/01/20",
    "fullname": "Alex Svanevik"
  }
]

profiler/address/pnl

post

This question calculates, for each token traded by the input address, stats related to amounts sold and bought, realised and unrealised pnl and roi, cost basis and avg sell price. Questions you can answer using this model are:

  1. What is the realised and unrealised profits for each token traded by the input address? 2. What is the cost basis and average sale price of each token traded by the input address? 3. How many of a specific token was bought by the input address in the last 90 days, 1 year or all time?

Parameters

| Parameter | Type | Description | | -------------- | --------------- | ------------------------------------------ | | wallet_address | FixedString(42) | hexadecimal addresse of wallet to profile. | | token_address | FixedString(42) | (optional) hexadecimal addresse of token. | | date_from | String | Date range start input, format YYYY-MM-DD | | date_to | String | Date range end input, format YYYY-MM-DD |

Body
Responses
200
Successful response
application/json
400
Bad request
application/json
401
Authentication error
application/json
403
Forbidden - Subscription tier required
application/json
500
Internal server error
application/json
post
POST /api/beta/profiler/address/pnl HTTP/1.1
Host: api.nansen.ai
Content-Type: application/json
Accept: */*
Content-Length: 223

{
  "parameters": {
    "chain": "ethereum",
    "date": {
      "from": "2025-05-01",
      "to": "2025-05-03"
    },
    "walletAddress": "0x28c6c06298d514db089934071355e5743bf21d60",
    "showRealized": true,
    "tokenAddress": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
  }
}
[
  {
    "tokenAddress": "text",
    "tokenSymbol": "text",
    "tokenLogo": "text",
    "tokenPrice": "text",
    "roiPercentRealised": "text",
    "pnlUsdRealised": "text",
    "pnlUsdUnrealised": "text",
    "roiPercentUnrealised": "text",
    "boughtAmount": "text",
    "boughtUsd": "text",
    "costBasisUsd": "text",
    "soldAmount": "text",
    "soldUsd": "text",
    "avgSoldPriceUsd": "text",
    "holdingAmount": "text",
    "holdingUsd": "text",
    "nofBuys": "text",
    "nofSells": "text",
    "maxBalanceHeld": "text",
    "maxBalanceHeldUsd": "text"
  }
]

profiler/address/pnl-summary

post

This table contains aggregate stats of overall realised pnl for the input wallet. It also lists the top 5 tokens by realised profit. Questions you can answer using this model are:

  1. What are the top profitable tokens for the input address? 2. What is the realised profit and roi over all tokens traded by the input address? 3. What is the winrate for the input address?

Parameters

| Parameter | Type | Description | | -------------- | --------------- | ------------------------------------------ | | wallet_address | FixedString(42) | hexadecimal addresse of wallet to profile. | | date_from | String | Date range start input, format YYYY-MM-DD | | date_to | String | Date range end input, format YYYY-MM-DD |

Body
Responses
200
Successful response
application/json
400
Bad request
application/json
401
Authentication error
application/json
403
Forbidden - Subscription tier required
application/json
500
Internal server error
application/json
post
POST /api/beta/profiler/address/pnl-summary HTTP/1.1
Host: api.nansen.ai
Content-Type: application/json
Accept: */*
Content-Length: 143

{
  "parameters": {
    "chain": "ethereum",
    "walletAddress": "0x28c6c06298d514db089934071355e5743bf21d60",
    "date": {
      "from": "2025-05-01",
      "to": "2025-05-03"
    }
  }
}
[
  {
    "top5Tokens": "text",
    "tradedToken": "text",
    "tradedTimes": "text",
    "realizedPnlUsd": "text",
    "realizedPnlPercent": "text",
    "winRate": "text",
    "averageRoiPerTrade": "text"
  }
]