skills/nansen-wallet-manager/SKILL.md
Wallet management — create (local or Privy server-side), list, show, export, send, delete. Use when creating wallets, checking balances, or sending tokens.
npx skillsauth add nansen-ai/nansen-cli nansen-wallet-managerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
# Save API key (non-interactive)
nansen login --api-key <key>
# Or via env var:
NANSEN_API_KEY=<key> nansen login
# Verify
nansen research profiler labels --address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --chain ethereum
The CLI supports two wallet providers:
| | Local (default) | Privy (server-side) |
|---|---|---|
| Key storage | Encrypted on disk | Server-side via Privy API |
| Password required | Yes (min 12 chars) | No |
| Export private keys | Yes (wallet export) | No — keys are managed by Privy |
| Best for | Human users, manual trading | Agents, automated workflows |
| Flag | --provider local (default) | --provider privy |
| Required env vars | NANSEN_WALLET_PASSWORD | PRIVY_APP_ID + PRIVY_APP_SECRET |
Privy wallets are server-side wallets managed by the Privy API. No password is needed — keys never touch the local machine.
The following environment variables must be set:
| Var | Purpose |
|-----|---------|
| PRIVY_APP_ID | Privy application ID |
| PRIVY_APP_SECRET | Privy application secret |
nansen wallet create --provider privy
# Or with a custom name:
nansen wallet create --name agent-wallet --provider privy
wallet export only works for local walletslist, show, send, delete, default) work identically for both providersThis section covers local wallet creation. For Privy server-side wallets, see the Privy Wallet Creation section above — no password is needed.
Wallet creation requires a password from the human user. The agent must NOT generate or store the password itself.
Step 1 (Agent → Human): Ask the user to provide a wallet password (minimum 12 characters).
Step 2 (Agent executes): Run the create command with the password the user gave you.
NANSEN_WALLET_PASSWORD="<password_from_user>" nansen wallet create
After creation, the CLI automatically saves the password:
All future wallet operations retrieve the password automatically — no env var or human input needed.
If the .credentials file fallback is used, the CLI prints a warning on every operation. To migrate to secure storage later, run nansen wallet secure.
NANSEN_WALLET_PASSWORD env var (if set)~/.nansen/wallets/.credentials file (insecure fallback, with warning)--human flag — that enables interactive prompts which agents cannot handlePASSWORD_REQUIRED error, ask the user to provide their password againnansen wallet create --provider privy
# Or with a custom name:
nansen wallet create --name trading --provider privy
Requires PRIVY_APP_ID + PRIVY_APP_SECRET env vars. No password needed.
# Ask the user for a password first, then:
NANSEN_WALLET_PASSWORD="<password_from_user>" nansen wallet create
# Or with a custom name:
NANSEN_WALLET_PASSWORD="<password_from_user>" nansen wallet create --name trading
nansen wallet list
nansen wallet show <name>
nansen wallet default <name>
# Send native token (SOL, ETH) — password auto-resolved from keychain
nansen wallet send --to <addr> --amount 1.5 --chain solana
# Send entire balance
nansen wallet send --to <addr> --chain evm --max
# Dry run (preview, no broadcast)
nansen wallet send --to <addr> --amount 1.0 --chain evm --dry-run
# Password auto-resolved from keychain
nansen wallet export <name>
nansen wallet delete <name>
# Remove saved password from all stores (keychain + .credentials file)
nansen wallet forget-password
nansen wallet secure
For detailed migration steps (from ~/.nansen/.env, .credentials, or env-var-only setups), see the nansen-wallet-migration skill.
| Flag | Purpose |
|------|---------|
| --to | Recipient address |
| --amount | Amount to send |
| --chain | evm or solana |
| --max | Send entire balance |
| --dry-run | Preview without broadcasting |
| --provider | Wallet provider: local (default, encrypted on disk) or privy (server-side via Privy API) |
| --human | Enable interactive prompts (human terminal use only — agents must NOT use this) |
| --unsafe-no-password | Skip encryption (keys stored in plaintext — NOT recommended) |
| Var | Purpose |
|-----|---------|
| NANSEN_WALLET_PASSWORD | Wallet encryption password — only needed for initial wallet create. After that, the OS keychain handles it. |
| NANSEN_API_KEY | API key (also set via nansen login --api-key <key>) |
| PRIVY_APP_ID | Privy application ID (required for --provider privy) |
| PRIVY_APP_SECRET | Privy application secret (required for --provider privy) |
| NANSEN_WALLET_PROVIDER | Default provider for wallet create — local or privy |
| NANSEN_EVM_RPC | Custom EVM RPC endpoint |
| NANSEN_SOLANA_RPC | Custom Solana RPC endpoint |
documentation
Guide users through native limit orders on Solana via `nansen trade limit-order create|list|cancel|update`, and the alert-based settlement-signal fallback for chains without native support. Use when a user wants a price-triggered buy or sell.
data-ai
Execute DEX swaps on Solana or Base, including cross-chain bridges. Use when buying or selling a token, getting a swap quote, or executing a trade.
tools
Pay-per-call access to the Nansen API via MPP (Tempo). Use when a user wants anonymous Nansen access without an API key and without managing their own Base/Solana wallet — they install the tempo CLI separately and call the API through `tempo request`.
tools
Discover trending tokens — screener, SM holdings, Nansen indicators, and flow intelligence for promising finds. Use when scanning for new tokens or screening what's hot.