nansen-wallet-batch — Claude Code skill: setup and usage
A skill for Claude Code and other coding agents to batch-profile crypto addresses in Nansen. It filters lists for smart money and funds in a single CLI call.
npx skills add nansen-ai/nansen-cli --skill nansen-wallet-batch -a claude-codeWhat nansen-wallet-batch does
The skill runs nansen research profiler batch to inspect multiple wallet addresses across a specified blockchain. It collects label categories like smart_money or fund along with token balances. Invalid addresses do not crash the execution. Instead, the CLI provides an .error field for invalid entries, allowing the agent to skip broken addresses and proceed with valid ones. You can exclude the balance field to speed up lookups.
You need the nansen-cli package installed with the nansen executable ready. Before batch profiling, the agent checks authentication with nansen auth status. Authorization relies on the NANSEN_API_KEY variable or a browser session via nansen login. Without a valid API key or active session, the skill stops, because running research tasks anonymously is forbidden by the workflow.
Calls consume API credits or trigger x402 micropayments on HTTP 402 responses. Commands like nansen account and status checks never trigger automatic charges.
What it helps with
- identify smart money wallets across a list of addresses
- detect investment funds on Ethereum in one batch request
- retrieve USD token balances for multiple crypto wallets
- filter out invalid wallet addresses without failing the batch job
Example prompts for the agent
- Batch-profile these addresses on ethereum:
0xaddr1,0xaddr2and keep smart money - Run
nansen-wallet-batchfor my address list without balance data - Find fund labels for the following wallet addresses using Nansen
How to install nansen-wallet-batch
1Skills CLI (Vercel)
npx skills add nansen-ai/nansen-cli --skill nansen-wallet-batch -a claude-code2Manually: put the files in place
~/.claude/skills/nansen-wallet-batch/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/nansen-wallet-batch/
1Skills CLI (Vercel)
npx skills add nansen-ai/nansen-cli --skill nansen-wallet-batch -a codex2Manually: put the files in place
.agents/skills/nansen-wallet-batch/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add nansen-ai/nansen-cli --skill nansen-wallet-batch -a cursor2Manually: put the files in place
.cursor/skills/nansen-wallet-batch/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install nansen-ai/nansen-cli nansen-wallet-batch2Manually: put the files in place
.github/skills/nansen-wallet-batch/SKILL.md1Skills CLI (Vercel)
npx skills add nansen-ai/nansen-cli --skill nansen-wallet-batch -a gemini-cli2Platform CLI
gemini skills install https://github.com/nansen-ai/nansen-cli --path skills/nansen-wallet-batchManually: put the files in place
.devin/skills/nansen-wallet-batch/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add nansen-ai/nansen-cli --skill nansen-wallet-batch -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about nansen-wallet-batch
How do I install nansen-wallet-batch in Claude Code?
Run npx skills add nansen-ai/nansen-cli --skill nansen-wallet-batch -a claude-code in your terminal.
What does nansen-wallet-batch do?
It profiles multiple blockchain addresses in a single call, pulling labels like smart_money and fund along with token balances.
What happens if an address in the batch is invalid?
The command populates the .error property for that specific record rather than failing the run, so the agent skips it.
Source text
SKILL.md · MIT
---
name: nansen-wallet-batch
description: "Which of these addresses are smart money? Batch-profile a list in one call."
metadata:
openclaw:
requires:
bins:
- nansen
primaryEnv: NANSEN_API_KEY
install:
- kind: node
package: nansen-cli
bins: [nansen]
allowed-tools: Bash(nansen:*)
---
## Authentication
Browser login requests `nansen:api` for API-key-equivalent account API permissions; existing OAuth/MCP `nansen:read` semantics and separate wallet authorization are unchanged.
Before any research command or loop, require an explicitly selected API key or saved browser session. Run `nansen auth status` first. Its cached/unverified metadata does not prove credential validity or unlocked storage. Cached access-token expiry alone does not mean the session is unusable: the CLI normally renews a selected session automatically during an already-authorized research task, without another consent request or a separate account check. Stop on anonymous selection, invalid authentication state, blocked or uncertain renewal/cleanup, or an actual authentication failure, including rejected or expired refresh authority. Follow the CLI error guidance; use the free `nansen account` check when troubleshooting calls for it. Do not unset a failed key, erase a session or switch to anonymous access to retry.
Use `nansen login` for fresh browser approval within the documented platform scope, or configure a conventional API key. `NANSEN_API_KEY` overrides the saved session. OpenClaw's optional `primaryEnv` mapping preserves configured API-key injection; it is not a required-key gate or proof of authentication. Normal credits and entitlements apply. Login does not purchase credits. Browser login is available in CLI 2.0.0 within the [macOS arm64 preview scope](https://github.com/nansen-ai/nansen-cli/blob/main/docs/browser-login.md#preview-platform-scope).
API keys and browser sessions use the same automatic x402 payment behavior: a supported HTTP 402 challenge can spend funds from the configured wallet under existing wallet authorization, payment policy and spending limits. Each call, including calls in loops, can incur a payment. Authentication, authorization and session-renewal failures never trigger payment; login verification and `nansen account` never pay automatically. Anonymous x402 remains available as a separate paid workflow requiring explicit user intent and payment setup. Do not run this research workflow anonymously or switch to anonymous access after authentication fails.
```bash
ADDRESSES="0xaddr1,0xaddr2,0xaddr3,..." CHAIN=ethereum
nansen research profiler batch --addresses "$ADDRESSES" --chain $CHAIN --include labels,balance
# → .data.{total, completed, results[]: {address, chain, labels[], balance, error}}
# labels[]: {label, category ("smart_money","fund","social","behavioral","others"), kind[]}
# balance: {data[]: {token_symbol, token_amount, price_usd, value_usd}}
```
Check .error per result — invalid addresses return an error message, not a crash. Skip those.
Keep addresses where any label.category == "smart_money" or "fund". Omit balance for faster checks.
© nansen-ai · MIT · nansen-ai/nansen-cli