Skip to main content
PnL V2 enriches wallet identity with each wallet’s primary .sol domain (same concept as Solscan’s domain label), resolved via Ridge. SNS appears as an optional tag and object on any endpoint that returns identity: wallet summaries, positions, token traders, leaderboards, batch lookups, and holder enrichment.
Higher-priority labels (KOL, exchange, bot, and so on) keep identity.name. SNS is attached alongside when a primary domain exists. See Solana Wallet Tags for the full tag list.

What clients see

Wallet with only a primary domain

When no curated label exists, the primary domain becomes identity.name and identity.type is sns:
{
  "wallet": "9aoUCn5J4sxhvYERCVwVnakPQxyXTHQVXe86CUJYxY8p",
  "identity": {
    "name": "solanatracker.sol",
    "sns": { "domain": "solanatracker.sol" },
    "tags": ["sns"],
    "type": "sns"
  }
}

Wallet that already has a label

Higher-priority labels keep identity.name. SNS is still attached when a primary domain exists:
{
  "identity": {
    "name": "SomeKolName",
    "sns": { "domain": "solanatracker.sol" },
    "tags": ["kol", "sns"],
    "type": "kol"
  }
}

No primary domain set

identity is unchanged by SNS: no sns field and no sns tag. Other tags (platforms, KOL, pool, developer, and so on) still apply as before.

Fields

FieldDescription
identity.sns.domainPrimary .sol domain for the wallet
identity.tagsIncludes "sns" when a primary domain is resolved
identity.type"sns" when SNS is the highest-priority label; otherwise the primary tag (e.g. kol, bot)
identity.nameCurated label when present; otherwise the primary domain

Where it appears

SNS enrichment is returned anywhere PnL V2 resolves wallet identity:
  • GET /v2/pnl/wallets/:wallet and related wallet endpoints
  • GET /v2/pnl/tokens/:token/traders and /first-buyers
  • Leaderboard and KOL endpoints
  • POST /v2/pnl/wallets/batch and position batch endpoints
  • GET /tokens/:tokenAddress/holders?enrich=identity (and ?enrich=all)

UI tips

  • Show identity.sns.domain as a secondary label when identity.type is not sns (e.g. display KOL name with .sol domain underneath).
  • When identity.type is sns, treat identity.name as the human-readable wallet label.
  • Always read identity.tags as an array. A wallet can be both kol and sns.

getPrimaryDomain RPC

Resolve a wallet’s primary .sol domain directly via RPC.

Solana Wallet Tags

Full supported tag list, platform filters, and FAQ.

PnL V2 Overview

Endpoint groups, identity tags, and enrichment on holders.