.sol display names or resolve a domain to its owner. Batch primary-domain lookups when rendering a holder list or leaderboard.
Each SNS RPC method costs 1 credit per call. Twitter/X handles (
.twitter) are not supported.RPC endpoint
All examples use JSON-RPC 2.0 over HTTP:Get a wallet’s primary domain
UsegetPrimaryDomain for the wallet’s primary .sol display name.
domain is null:
Batch primary domains
UsegetMultiplePrimaryDomains for a list of wallets:
The method accepts up to 100 wallets and returns results in the same order as the input list.
Get all domains owned by a wallet
UsegetAllDomains to list the .sol domains owned by a wallet.
domains is an empty array.
Resolve a domain to an owner
UseresolveSolDomain to resolve a .sol name to its owner wallet.
value is null.
resolveSolDomain supports root .sol domains like name.sol and one-level subdomains like sub.parent.sol.
Example: wallet identity helper
This helper uses primary domains for display and keeps the wallet address available for linking, copying, or transaction actions.Choosing the right SNS method
PnL V2 already includes SNS identity in supported wallet and token analytics responses. Use these RPC methods when you need SNS resolution directly from the Solana RPC surface.
UI and product tips
- Always keep the wallet address available, even when showing a domain.
- Treat
domain: nullas a normal result, not an error. - Use batch resolution for tables and feeds instead of calling
getPrimaryDomainin a loop. - Show
.solnames as labels, but copy and link the underlying wallet address. - For user search, resolve
.solnames first, then continue with the returned owner wallet.
getMultiplePrimaryDomains
Batch primary
.sol domains for up to 100 wallets.SNS wallet names
See where SNS identity appears in PnL V2 responses.