mcpField
N
nansen-wallet

nansen-wallet

github.com/nansen-aiOther144124 installsUpdated 1d ago
Repository

About nansen-wallet

nansen-wallet is a skill for managing wallets with the Nansen CLI, including creation, listing, sending, export, and deletion. It documents a human-provided password flow and automatic retrieval from the OS keychain or a fallback credentials file.

Key features

  1. 01Create, list, and inspect wallets
  2. 02Send native tokens on EVM or Solana
  3. 03Preview transfers with dry-run
  4. 04Export or delete wallets
  5. 05Resolve passwords from keychain or credentials file

Use cases

  1. 01Create a wallet using a human-provided password
  2. 02Preview a token transfer before broadcasting
  3. 03Move wallet password storage to secure storage

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/nansen-ai/nansen-cli --skill nansen-wallet

After installing, type/nansen-walletin Claude Code to confirm it loaded.

Details

From the project README

Wallet

Auth Setup

# 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

Wallet Creation (Two-Step Agent Flow)

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:

  • OS keychain (macOS Keychain, Linux secret-tool, Windows Credential Manager) — secure, preferred
  • ~/.nansen/wallets/.credentials file — insecure fallback when no keychain is available (e.g. containers, CI)

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.

Password resolution order (automatic)
  1. NANSEN_WALLET_PASSWORD env var (if set)
  2. OS keychain (saved automatically on wallet create)
  3. ~/.nansen/wallets/.credentials file (insecure fallback, with warning)
  4. Structured JSON error with instructions (if none available)
Critical rules for agents
  • NEVER generate a password yourself — always ask the human user
  • NEVER store the password in files, memory, logs, or conversation history
  • NEVER use --human flag — that enables interactive prompts which agents cannot handle
  • After wallet creation, you do NOT need the password for future operations — the keychain handles it
  • If you get a PASSWORD_REQUIRED error, ask the user to provide their password again

Create

# 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

List & Show

nansen wallet list
nansen wallet show <name>
nansen wallet default <name>

Send

# 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

Export & Delete

# Password auto-resolved from keychain
nansen wallet export <name>
nansen wallet delete <name>

Forget Password

# Remove saved password from all stores (keychain + .credentials file)
nansen wallet forget-password

Migrate to Secure Storage

nansen wallet secure

For detailed migration steps (from ~/.nansen/.env, .credentials, or env-var-only setups), see the nansen-wallet-migration skill.

Flags

FlagPurpose
--toRecipient address
--amountAmount to send
--chainevm or solana
--maxSend entire balance
--dry-runPreview without broadcasting
--humanEnable interactive prompts (human terminal use only — agents must NOT use this)
--unsafe-no-passwordSkip encryption (keys stored in plaintext — NOT recommended)

Environment Variables

VarPurpose
NANSEN_WALLET_PASSWORDWallet encryption password — only needed for initial wallet create. After that, the OS keychain handles it.
NANSEN_API_KEYAPI key (also set via nansen login --api-key <key>)
NANSEN_EVM_RPCCustom EVM RPC endpoint
NANSEN_SOLANA_RPCCustom Solana RPC endpoint

Comments

Markdown supported