--- name: nansen-perp-screener description: "What is the state of the Hyperliquid perp market? Top contracts by volume/OI, trader leaderboard, and SM perp activity." 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. # Perp Market Scan **Answers:** "What's the state of the Hyperliquid perp market right now?" ```bash nansen research perp screener --sort volume:desc --limit 20 # → token_symbol, volume, buy/sell_volume, buy_sell_pressure, open_interest, funding, mark_price nansen research perp leaderboard --days 7 --limit 20 # → trader_address, trader_address_label, total_pnl, roi, account_value nansen research smart-money perp-trades --limit 20 # → token_symbol, side, action (Open/Close), value_usd, price_usd, trader_address_label ``` ## New Filters (ECINT-6680) ### `--trader-type` Filter by trader type. Accepted values: `all` (default), `sm`, `whale`, `public_figure`, `high_winrate_hl_perps_trader`. ```bash # Show only whale traders nansen research perp screener --trader-type whale --limit 10 # Show only smart money traders nansen research perp screener --trader-type sm --limit 20 # Show high win-rate HL perps traders nansen research perp screener --trader-type high_winrate_hl_perps_trader --limit 20 ``` ### `--sm-label-filter` Comma-separated Nansen SM labels to filter by. Only applies when `--trader-type` is `all` or `sm`. ```bash # Filter to a specific SM label nansen research perp screener --trader-type sm --sm-label-filter "30D Smart Trader" # Multiple labels nansen research perp screener --sm-label-filter "30D Smart Trader,Smart LP" ``` ### `--trader-label-filter` Comma-separated HL perps trader labels to filter by. Only applies when `--trader-type` is `all` or `sm`. ```bash # Filter to HL Perps Whale label nansen research perp screener --trader-label-filter "HL Perps Whale" ``` ### `--sectors-filter` Comma-separated `category:subcategory` pairs to filter coins by sector. ```bash # Filter to AI and DeFi crypto sectors nansen research perp screener --sectors-filter "Crypto:AI,Crypto:DeFi" --trader-type whale # Combine with trader type and limit nansen research perp screener --sectors-filter "Crypto:AI,Crypto:DeFi" --trader-type whale --limit 10 --sort volume:desc ``` ## Combined Examples ```bash # Whale traders in AI crypto, sorted by volume nansen research perp screener --trader-type whale --sectors-filter "Crypto:AI" --sort volume:desc --limit 10 # Smart money with specific label, last 7 days nansen research perp screener --trader-type sm --sm-label-filter "30D Smart Trader" --days 7 --limit 20 # All traders in TradFi stocks sector nansen research perp screener --sectors-filter "TradFi:Stocks" --sort open_interest:desc --limit 20 ```