nansen-cli 1.16.1 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/package.json +2 -1
  3. package/skills/nansen-alerts/SKILL.md +137 -0
  4. package/skills/nansen-alpha-discovery/SKILL.md +43 -0
  5. package/skills/nansen-batch-wallet/SKILL.md +26 -0
  6. package/skills/nansen-cross-chain-flow/SKILL.md +27 -0
  7. package/skills/nansen-dca-watch/SKILL.md +38 -0
  8. package/skills/nansen-defi-exposure/SKILL.md +37 -0
  9. package/skills/nansen-exit-signal/SKILL.md +39 -0
  10. package/skills/nansen-fund-watch/SKILL.md +35 -0
  11. package/skills/nansen-holder-quality/SKILL.md +38 -0
  12. package/skills/nansen-perp-scan/SKILL.md +32 -0
  13. package/skills/nansen-perp-trader/SKILL.md +39 -0
  14. package/skills/nansen-pm-deep-dive/SKILL.md +50 -0
  15. package/skills/nansen-pm-insider-scan/SKILL.md +62 -0
  16. package/skills/nansen-polymarket-trader/SKILL.md +43 -0
  17. package/skills/nansen-portfolio-history/SKILL.md +36 -0
  18. package/skills/nansen-prediction-market/SKILL.md +47 -0
  19. package/skills/nansen-profiler/SKILL.md +98 -0
  20. package/skills/nansen-search/SKILL.md +34 -0
  21. package/skills/nansen-sm-trend/SKILL.md +30 -0
  22. package/skills/nansen-smart-money/SKILL.md +71 -0
  23. package/skills/nansen-token/SKILL.md +90 -0
  24. package/skills/nansen-token-discovery/SKILL.md +54 -0
  25. package/skills/nansen-token-forensics/SKILL.md +40 -0
  26. package/skills/nansen-trade/SKILL.md +100 -0
  27. package/skills/nansen-wallet/SKILL.md +140 -0
  28. package/skills/nansen-wallet-analysis/SKILL.md +45 -0
  29. package/skills/nansen-wallet-attribution/REFERENCE.md +43 -0
  30. package/skills/nansen-wallet-attribution/SKILL.md +46 -0
  31. package/skills/nansen-wallet-migration/SKILL.md +183 -0
  32. package/skills/nansen-web-fetch/SKILL.md +50 -0
  33. package/skills/nansen-web-search/SKILL.md +39 -0
  34. package/src/api.js +144 -73
  35. package/src/cli.js +181 -14
  36. package/src/rpc-urls.js +29 -0
  37. package/src/schema.json +401 -1448
  38. package/src/telemetry.js +237 -0
  39. package/src/trading.js +26 -12
  40. package/src/transfer.js +1 -11
  41. package/src/update-check.js +2 -2
  42. package/src/wallet.js +2 -1
  43. package/src/x402.js +3 -2
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: nansen-pm-insider-scan
3
+ description: "Scan a resolved Polymarket market for wallets exhibiting suspicious trading patterns: fresh funding, single-market focus, extreme ROI, late entry at high prices."
4
+ metadata:
5
+ openclaw:
6
+ requires:
7
+ env:
8
+ - NANSEN_API_KEY
9
+ bins:
10
+ - nansen
11
+ primaryEnv: NANSEN_API_KEY
12
+ install:
13
+ - kind: node
14
+ package: nansen-cli
15
+ bins: [nansen]
16
+ allowed-tools: Bash(nansen:*)
17
+ ---
18
+
19
+ # PM Suspicious Wallet Scanner
20
+
21
+ **Answers:** "Are there wallets with suspicious trading patterns in this Polymarket market?"
22
+
23
+ ```bash
24
+ # 1. Find the resolved market
25
+ nansen research prediction-market market-screener --query "<market name>" --status closed --limit 5
26
+ # → market_id, question, volume, last_trade_price
27
+
28
+ # 2. Get top winners (positive PnL) — paginate if needed, keep per_page <= 10
29
+ MID=<market_id>
30
+ nansen research prediction-market pnl-by-market --market-id $MID --limit 10
31
+ # → address (proxy), owner_address (wallet), side_held, net_buy_cost_usd, total_pnl_usd
32
+
33
+ # 3. For each top winner, run these three calls (use proxy address for PM, owner for profiler):
34
+ PROXY=<address_from_pnl>
35
+ nansen research prediction-market trades-by-address --address $PROXY --limit 100
36
+ # → market_id, market_question, side, price, size, usdc_value, taker_action, timestamp
37
+
38
+ OWNER=<owner_address_from_pnl>
39
+ nansen research profiler historical-balances --address $OWNER --chain polygon --days 365 --sort block_timestamp:asc --limit 100
40
+ # → block_timestamp, value_usd, token_symbol — first non-zero value_usd = wallet funding date
41
+
42
+ nansen research profiler labels --address $OWNER --chain polygon
43
+ # → label, category
44
+ ```
45
+
46
+ For each winner, compute ROI = total_pnl_usd / net_buy_cost_usd * 100 (skip ROI flags if net_buy_cost_usd <= 0), then score (0–13). Within each tier group, apply only the highest matching flag:
47
+
48
+ | Flag | Pts | Trigger |
49
+ |---|---|---|
50
+ | NEW_WALLET | 3 | First funded within 7 days of now |
51
+ | YOUNG_WALLET | 1 | First funded 8–28 days ago (skip if NEW_WALLET fires) |
52
+ | SINGLE_MARKET | 3 | trades-by-address shows only 1 distinct market_id |
53
+ | FEW_MARKETS | 1 | 2–3 distinct market_ids (skip if SINGLE_MARKET fires) |
54
+ | EXTREME_ROI | 3 | ROI >= 500% |
55
+ | HIGH_ROI | 2 | ROI 200–499% (skip if EXTREME_ROI fires) |
56
+ | LATE_ENTRY | 2 | Any trade on this market at price >= 0.80 |
57
+ | LARGE_POSITION | 2 | net_buy_cost_usd >= $10k |
58
+ | KNOWN_ENTITY | -2 | Has Nansen labels |
59
+
60
+ Flagged at score >= 3. High risk at >= 7. High-confidence suspicious pattern: NEW_WALLET + SINGLE_MARKET + EXTREME_ROI (score 9+).
61
+
62
+ If owner_address is invalid (e.g. "0x"), use the proxy address for profiler calls too. If historical-balances returns no records with value_usd > 0, the wallet may predate the 365-day window — treat wallet age as unknown and skip NEW_WALLET / YOUNG_WALLET flags. Pause ~1.5s between wallets to avoid rate limits. Skip wallets that error and continue scanning.
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: nansen-polymarket-trader
3
+ description: "What is a Polymarket trader betting on? Trades by address, PnL breakdown, and market context. Use when analysing a specific Polymarket wallet."
4
+ metadata:
5
+ openclaw:
6
+ requires:
7
+ env:
8
+ - NANSEN_API_KEY
9
+ bins:
10
+ - nansen
11
+ primaryEnv: NANSEN_API_KEY
12
+ install:
13
+ - kind: node
14
+ package: nansen-cli
15
+ bins: [nansen]
16
+ allowed-tools: Bash(nansen:*)
17
+ ---
18
+
19
+ # Polymarket Wallet Activity
20
+
21
+ **Answers:** "What is this Polymarket trader betting on? Are they profitable?"
22
+
23
+ **Finding an active trader address:** Source from `trades-by-market` (guarantees trade history) rather than `top-holders` (position holders may have no recorded trades):
24
+
25
+ ```bash
26
+ # Step 1: find active traders from a market
27
+ nansen research pm trades-by-market --market-id <market_id> --limit 5
28
+ # → seller/buyer addresses with confirmed trade history — use one as ADDR below
29
+ ```
30
+
31
+ ```bash
32
+ ADDR=<polymarket_address>
33
+
34
+ nansen research pm trades-by-address --address $ADDR --limit 20
35
+ # → timestamp, market_question, event_title, taker_action, side, size, price, usdc_value
36
+
37
+ nansen research pm pnl-by-address --address $ADDR --limit 20
38
+ # → question, event_title, side_held, net_buy_cost_usd, unrealized_value_usd, total_pnl_usd, market_resolved
39
+ ```
40
+
41
+ Note: addresses sourced from `top-holders` may return empty trade history — use `trades-by-market` to find addresses with confirmed activity.
42
+
43
+ Look at PnL across resolved vs unresolved markets to gauge trader skill. Large positions in trending categories signal conviction.
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: nansen-portfolio-history
3
+ description: "How has a wallet's portfolio changed over time? Historical balances, current snapshot, and per-token PnL."
4
+ metadata:
5
+ openclaw:
6
+ requires:
7
+ env:
8
+ - NANSEN_API_KEY
9
+ bins:
10
+ - nansen
11
+ primaryEnv: NANSEN_API_KEY
12
+ install:
13
+ - kind: node
14
+ package: nansen-cli
15
+ bins: [nansen]
16
+ allowed-tools: Bash(nansen:*)
17
+ ---
18
+
19
+ # Portfolio History
20
+
21
+ **Answers:** "How has this wallet's portfolio evolved over the past month?"
22
+
23
+ ```bash
24
+ ADDR=<address> CHAIN=ethereum
25
+
26
+ nansen research profiler historical-balances --address $ADDR --chain $CHAIN --days 30 --limit 20
27
+ # → block_timestamp, token_symbol, token_amount, value_usd, chain
28
+
29
+ nansen research profiler balance --address $ADDR --chain $CHAIN
30
+ # → token_symbol, token_name, token_amount, price_usd, value_usd
31
+
32
+ nansen research profiler pnl --address $ADDR --chain $CHAIN --days 30 --limit 20
33
+ # → token_symbol, pnl_usd_realised, roi_percent_realised, bought_usd, sold_usd, holding_usd, nof_buys, nof_sells
34
+ ```
35
+
36
+ Compare historical-balances over time against current balance to see what was added/removed. PnL shows trade performance.
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: nansen-prediction-market
3
+ description: "Polymarket screeners — discover trending events, top markets by volume, and search for specific markets. Use when browsing what's happening on prediction markets."
4
+ metadata:
5
+ openclaw:
6
+ requires:
7
+ env:
8
+ - NANSEN_API_KEY
9
+ bins:
10
+ - nansen
11
+ primaryEnv: NANSEN_API_KEY
12
+ install:
13
+ - kind: node
14
+ package: nansen-cli
15
+ bins: [nansen]
16
+ allowed-tools: Bash(nansen:*)
17
+ ---
18
+
19
+ # Prediction Market Screeners
20
+
21
+ All commands: `nansen research prediction-market <sub> [options]` (alias: `nansen research pm <sub>`)
22
+
23
+ No `--chain` flag needed — Polymarket runs on Polygon.
24
+
25
+ ```bash
26
+ # Top events (groups of related markets)
27
+ nansen research pm event-screener --sort-by volume_24hr --limit 20
28
+ # → event_title, market_count, total_volume, total_volume_24hr, total_liquidity, total_open_interest, tags
29
+
30
+ # Top markets by 24h volume
31
+ nansen research pm market-screener --sort-by volume_24hr --limit 20
32
+ # → market_id, question, best_bid, best_ask, volume_24hr, liquidity, open_interest, unique_traders_24h
33
+
34
+ # Search for specific markets
35
+ nansen research pm market-screener --query "bitcoin" --limit 10
36
+
37
+ # Find resolved/closed markets
38
+ nansen research pm market-screener --status closed --limit 10
39
+
40
+ # Browse categories
41
+ nansen research pm categories --pretty
42
+ # → category, active_markets, total_volume_24hr, total_open_interest
43
+ ```
44
+
45
+ Sort options: `volume_24hr`, `volume`, `volume_1wk`, `volume_1mo`, `liquidity`, `open_interest`, `unique_traders_24h`, `age_hours`
46
+
47
+ Screeners return active/open markets by default. Use `--status closed` for resolved markets.
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: nansen-profiler
3
+ description: Wallet profiler — balance, PnL, labels, transactions, counterparties, related wallets, batch, trace, compare. Use when analysing a specific wallet address or comparing wallets.
4
+ metadata:
5
+ openclaw:
6
+ requires:
7
+ env:
8
+ - NANSEN_API_KEY
9
+ bins:
10
+ - nansen
11
+ primaryEnv: NANSEN_API_KEY
12
+ install:
13
+ - kind: node
14
+ package: nansen-cli
15
+ bins: [nansen]
16
+ allowed-tools: Bash(nansen:*)
17
+ ---
18
+
19
+ # Wallet Profiler
20
+
21
+ All commands: `nansen research profiler <sub> [options]`
22
+
23
+ `--address` and `--chain` required for most commands.
24
+
25
+ ## Balance & Identity
26
+
27
+ ```bash
28
+ nansen research profiler balance --address <addr> --chain ethereum
29
+ nansen research profiler labels --address <addr> --chain ethereum
30
+ nansen research profiler search --query "Vitalik"
31
+ ```
32
+
33
+ ## PnL
34
+
35
+ ```bash
36
+ nansen research profiler pnl --address <addr> --chain ethereum --days 30
37
+ nansen research profiler pnl-summary --address <addr> --chain ethereum
38
+ ```
39
+
40
+ ## Transactions & History
41
+
42
+ ```bash
43
+ nansen research profiler transactions --address <addr> --chain ethereum --limit 20
44
+ nansen research profiler historical-balances --address <addr> --chain solana --days 30
45
+ ```
46
+
47
+ ## Relationships
48
+
49
+ ```bash
50
+ nansen research profiler related-wallets --address <addr> --chain ethereum
51
+ nansen research profiler counterparties --address <addr> --chain ethereum --days 30
52
+ ```
53
+
54
+ ## Perps (no --chain)
55
+
56
+ ```bash
57
+ nansen research profiler perp-positions --address <addr>
58
+ nansen research profiler perp-trades --address <addr> --days 7
59
+ ```
60
+
61
+ ## Batch, Trace & Compare
62
+
63
+ ```bash
64
+ # Batch — profile multiple wallets at once
65
+ nansen research profiler batch \
66
+ --addresses "0xabc,0xdef" --chain ethereum \
67
+ --include labels,balance,pnl
68
+
69
+ # Trace — BFS multi-hop counterparty trace (makes N*width API calls)
70
+ nansen research profiler trace --address <addr> --chain ethereum --depth 2 --width 5
71
+
72
+ # Compare — shared counterparties and tokens between two wallets
73
+ nansen research profiler compare --addresses "0xabc,0xdef" --chain ethereum
74
+ ```
75
+
76
+ ## Flags
77
+
78
+ | Flag | Purpose |
79
+ |------|---------|
80
+ | `--address` | Wallet address (required) |
81
+ | `--chain` | Required except for perps and search |
82
+ | `--days` | Lookback period (default 30) |
83
+ | `--limit` | Number of results |
84
+ | `--include` | Batch fields: `labels,balance,pnl` |
85
+ | `--depth` | Trace depth 1-5 (default 2) |
86
+ | `--width` | Trace width — keep low to save credits |
87
+ | `--fields` | Select specific fields |
88
+ | `--table` | Human-readable table output |
89
+ | `--format csv` | CSV export |
90
+
91
+ ## Notes
92
+
93
+ - `pnl-summary` has no pagination support (returns aggregate stats, not a list).
94
+ - `perp-positions` has no pagination support.
95
+ - `labels` has no pagination support — the API ignores `per_page` and always returns all labels for the address. `--limit` is not available for this sub-command.
96
+ - `transactions` caps at per_page=100 (API limit).
97
+ - `trace` makes many API calls — use `--width` conservatively.
98
+ - `batch` accepts `--file <path>` with one address per line as alternative to `--addresses`.
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: nansen-search
3
+ description: Search for tokens or entities by name. Use when you have a token name and need the full address, or want to find an entity.
4
+ metadata:
5
+ openclaw:
6
+ requires:
7
+ env:
8
+ - NANSEN_API_KEY
9
+ bins:
10
+ - nansen
11
+ primaryEnv: NANSEN_API_KEY
12
+ install:
13
+ - kind: node
14
+ package: nansen-cli
15
+ bins: [nansen]
16
+ allowed-tools: Bash(nansen:*)
17
+ ---
18
+
19
+ # Search
20
+
21
+ ```bash
22
+ nansen research search "jupiter" --type token
23
+ nansen research search "Vitalik" --type entity --limit 5
24
+ nansen research search "bonk" --chain solana --fields address,name,symbol,chain
25
+ ```
26
+
27
+ | Flag | Purpose |
28
+ |------|---------|
29
+ | `--type` | `token` or `entity` |
30
+ | `--chain` | Filter by chain |
31
+ | `--limit` | Number of results (default 25, max 50) |
32
+ | `--fields` | Select specific output fields |
33
+
34
+ Case-insensitive. Does NOT match by address — use `profiler labels` for address lookup.
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: nansen-sm-trend
3
+ description: "Has SM been in this token for weeks, or did they just enter? Are they still buying?"
4
+ metadata:
5
+ openclaw:
6
+ requires:
7
+ env:
8
+ - NANSEN_API_KEY
9
+ bins:
10
+ - nansen
11
+ primaryEnv: NANSEN_API_KEY
12
+ install:
13
+ - kind: node
14
+ package: nansen-cli
15
+ bins: [nansen]
16
+ allowed-tools: Bash(nansen:*)
17
+ ---
18
+ ```bash
19
+ TOKEN=<address> CHAIN=ethereum
20
+ nansen research smart-money netflow --chain $CHAIN --limit 200
21
+ # → filter by token_address; net_flow_1h_usd, net_flow_24h_usd, net_flow_7d_usd, net_flow_30d_usd
22
+ nansen research token holders --token $TOKEN --chain $CHAIN --smart-money --limit 20
23
+ # → address_label, value_usd, balance_change_24h, balance_change_7d, balance_change_30d
24
+ nansen research token flow-intelligence --token $TOKEN --chain $CHAIN
25
+ # → smart_trader_net_flow_usd, whale_net_flow_usd, fund_net_flow_usd, fresh_wallets_net_flow_usd
26
+ nansen research token dex-trades --token $TOKEN --chain $CHAIN --limit 50
27
+ # → block_timestamp, action, trader_address_label — find oldest SM-labeled BUY
28
+ ```
29
+ 1h/24h+ & 7d/30d+ = sustained accumulation. 24h+ & 7d− = fresh entry.
30
+ 24h− & 7d+ = reducing. All negative = distribution.
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: nansen-smart-money
3
+ description: Smart money tracking — netflow, trades, holdings, perp trades. Use when finding what smart money wallets are buying/selling or tracking whale activity.
4
+ metadata:
5
+ openclaw:
6
+ requires:
7
+ env:
8
+ - NANSEN_API_KEY
9
+ bins:
10
+ - nansen
11
+ primaryEnv: NANSEN_API_KEY
12
+ install:
13
+ - kind: node
14
+ package: nansen-cli
15
+ bins: [nansen]
16
+ allowed-tools: Bash(nansen:*)
17
+ ---
18
+
19
+ # Smart Money
20
+
21
+ All commands: `nansen research smart-money <sub> [options]`
22
+
23
+ ## Subcommands
24
+
25
+ ```bash
26
+ # Netflow — what tokens are smart money accumulating?
27
+ nansen research smart-money netflow --chain solana --limit 10
28
+
29
+ # DEX trades — real-time spot trades by smart money
30
+ nansen research smart-money dex-trades --chain solana --labels "Smart Trader" --limit 20
31
+
32
+ # Holdings — aggregated SM portfolio
33
+ nansen research smart-money holdings --chain solana --limit 10
34
+
35
+ # Perp trades — Hyperliquid only (no --chain needed)
36
+ nansen research smart-money perp-trades --limit 10
37
+ ```
38
+
39
+ ## Labels
40
+
41
+ Filter by smart money category with `--labels`:
42
+
43
+ | Label | Use case |
44
+ |-------|----------|
45
+ | `Fund` | Crypto funds |
46
+ | `Smart Trader` | All-time top performers |
47
+ | `30D Smart Trader` | Hot hands — top 30 days |
48
+ | `90D Smart Trader` | Top 90 days |
49
+ | `180D Smart Trader` | Top 180 days |
50
+ | `Smart HL Perps Trader` | Top Hyperliquid perp traders |
51
+
52
+ ```bash
53
+ nansen research smart-money netflow --chain solana --labels "Fund" --limit 10
54
+ ```
55
+
56
+ ## Flags
57
+
58
+ | Flag | Purpose |
59
+ |------|---------|
60
+ | `--chain` | Required for netflow/dex-trades/holdings |
61
+ | `--labels` | Filter by SM label (quote multi-word values) |
62
+ | `--limit` | Number of results |
63
+ | `--sort` | Sort field:direction (e.g. `value_usd:desc`) |
64
+ | `--fields` | Select specific fields |
65
+ | `--table` | Human-readable table output |
66
+ | `--format csv` | CSV export |
67
+
68
+ ## Notes
69
+
70
+ - `perp-trades` is Hyperliquid-only. No `--chain` flag.
71
+ - For a time-series view of SM positions: `nansen research smart-money historical-holdings --chain <chain> --days 30`
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: nansen-token
3
+ description: Token deep dive — info, OHLCV, holders, flows, flow intelligence, who bought/sold, DEX trades, PnL, perp trades, perp positions, perp PnL leaderboard. Use when researching a specific token in depth.
4
+ metadata:
5
+ openclaw:
6
+ requires:
7
+ env:
8
+ - NANSEN_API_KEY
9
+ bins:
10
+ - nansen
11
+ primaryEnv: NANSEN_API_KEY
12
+ install:
13
+ - kind: node
14
+ package: nansen-cli
15
+ bins: [nansen]
16
+ allowed-tools: Bash(nansen:*)
17
+ ---
18
+
19
+ # Token Deep Dive
20
+
21
+ All commands: `nansen research token <sub> [options]`
22
+
23
+ `--chain` required for spot endpoints. Use `--token <address>` for token-specific endpoints.
24
+
25
+ ## Info & Price
26
+
27
+ ```bash
28
+ nansen research token info --token <addr> --chain solana
29
+ nansen research token ohlcv --token <addr> --chain solana --timeframe 1h
30
+ ```
31
+
32
+ Timeframes: `1m`, `5m`, `15m`, `30m`, `1h`, `2h`, `4h`, `1d`, `1w`, `1M`
33
+
34
+ ## Holders
35
+
36
+ ```bash
37
+ nansen research token holders --token <addr> --chain solana
38
+ nansen research token holders --token <addr> --chain solana --smart-money
39
+ ```
40
+
41
+ ## Flows
42
+
43
+ ```bash
44
+ nansen research token flows --token <addr> --chain solana --days 7
45
+ nansen research token flow-intelligence --token <addr> --chain solana
46
+ nansen research token who-bought-sold --token <addr> --chain solana
47
+ ```
48
+
49
+ `flow-intelligence` breaks down by label: whales, smart traders, exchanges, fresh wallets, public figures.
50
+
51
+ ## DEX Trades
52
+
53
+ ```bash
54
+ nansen research token dex-trades --token <addr> --chain solana --limit 20
55
+ ```
56
+
57
+ ## PnL
58
+
59
+ ```bash
60
+ nansen research token pnl --token <addr> --chain solana --sort total_pnl_usd:desc
61
+ ```
62
+
63
+ ## Perps (no --chain)
64
+
65
+ ```bash
66
+ nansen research token perp-trades --symbol ETH --days 7
67
+ nansen research token perp-positions --symbol BTC
68
+ nansen research token perp-pnl-leaderboard --symbol SOL
69
+ ```
70
+
71
+ ## Flags
72
+
73
+ | Flag | Purpose |
74
+ |------|---------|
75
+ | `--chain` | Required for spot endpoints (ethereum, solana, base, etc.) |
76
+ | `--token` | Token address (alias: `--token-address`) |
77
+ | `--symbol` | Token symbol for perp endpoints (e.g. BTC) |
78
+ | `--timeframe` | OHLCV interval |
79
+ | `--smart-money` | Filter to SM wallets only (holders) |
80
+ | `--days` | Lookback period (default 30) |
81
+ | `--sort` | Sort field:direction (e.g. `total_pnl_usd:desc`) |
82
+ | `--fields` | Select specific fields |
83
+ | `--table` | Human-readable table output |
84
+ | `--format csv` | CSV export |
85
+
86
+ ## Notes
87
+
88
+ - Perp endpoints use `--symbol` (e.g. BTC), not `--token`.
89
+ - `holders --smart-money` returns UNSUPPORTED_FILTER for tokens without SM tracking.
90
+ - `flow-intelligence` may return all-zero flows for illiquid tokens.
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: nansen-token-discovery
3
+ description: "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."
4
+ metadata:
5
+ openclaw:
6
+ requires:
7
+ env:
8
+ - NANSEN_API_KEY
9
+ bins:
10
+ - nansen
11
+ primaryEnv: NANSEN_API_KEY
12
+ install:
13
+ - kind: node
14
+ package: nansen-cli
15
+ bins: [nansen]
16
+ allowed-tools: Bash(nansen:*)
17
+ ---
18
+
19
+ # Token Discovery
20
+
21
+ **Answers:** "What tokens are trending and worth a deeper look?"
22
+
23
+ ```bash
24
+ CHAIN=solana
25
+
26
+ # Screen top tokens by volume
27
+ nansen research token screener --chain $CHAIN --timeframe 24h --limit 20
28
+ # → token_symbol, price_usd, price_change, volume, buy_volume, market_cap_usd, fdv, liquidity, token_age_days
29
+
30
+ # Smart money only
31
+ nansen research token screener --chain $CHAIN --timeframe 24h --smart-money --limit 20
32
+
33
+ # Search within screener results (client-side filter)
34
+ nansen research token screener --chain $CHAIN --search "bonk"
35
+
36
+ # Smart money holdings — what SM wallets are holding
37
+ nansen research smart-money holdings --chain $CHAIN --labels "Smart Trader" --limit 20
38
+ # → token_symbol, value_usd, holders_count, balance_24h_percent_change, share_of_holdings_percent
39
+
40
+ # Nansen indicators for a specific token
41
+ TOKEN=<address>
42
+ nansen research token indicators --token $TOKEN --chain $CHAIN
43
+ # → risk_indicators, reward_indicators (each with score, signal, signal_percentile)
44
+
45
+ # Flow intelligence — only use for promising tokens from screener/indicators above
46
+ nansen research token flow-intelligence --token $TOKEN --chain $CHAIN
47
+ # → net_flow_usd per label: smart_trader, whale, exchange, fresh_wallets, public_figure
48
+ ```
49
+
50
+ Screener timeframes: `5m`, `10m`, `1h`, `6h`, `24h`, `7d`, `30d`
51
+
52
+ Indicators: score is "bullish"/"bearish"/"neutral". signal_percentile > 70 = historically significant. Some tokens return empty indicators — not an error.
53
+
54
+ Flow intelligence is credit-heavy. Use it to confirm SM conviction on tokens that already look promising from screener + indicators, not as a first pass on every token.
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: nansen-token-forensics
3
+ description: "Where is this token moving and why? Large transfers, flow trends over time, and breakdown by wallet label."
4
+ metadata:
5
+ openclaw:
6
+ requires:
7
+ env:
8
+ - NANSEN_API_KEY
9
+ bins:
10
+ - nansen
11
+ primaryEnv: NANSEN_API_KEY
12
+ install:
13
+ - kind: node
14
+ package: nansen-cli
15
+ bins: [nansen]
16
+ allowed-tools: Bash(nansen:*)
17
+ ---
18
+
19
+ # Token Forensics
20
+
21
+ **Answers:** "Where is this token moving? Who is sending it and where?"
22
+
23
+ ```bash
24
+ TOKEN=<address> CHAIN=ethereum
25
+ # Examples: UNI on ethereum (0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984)
26
+ # BONK on solana (DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263)
27
+ # Note: token flows does NOT support stablecoins (USDC, USDT, etc.) — use non-stablecoin tokens
28
+
29
+ nansen research token transfers --token $TOKEN --chain $CHAIN --days 7 --limit 20
30
+ # → from_address_label, to_address_label, transfer_amount, transfer_value_usd
31
+
32
+ nansen research token flows --token $TOKEN --chain $CHAIN --days 7 --limit 20
33
+ # → date, price_usd, holders_count, total_inflows_count, total_outflows_count
34
+ # ⚠ Returns HTTP 422 for stablecoins — skip this command if TOKEN is a stablecoin
35
+
36
+ nansen research token flow-intelligence --token $TOKEN --chain $CHAIN
37
+ # → net_flow_usd per label: smart_trader, whale, exchange, fresh_wallets, public_figure
38
+ ```
39
+
40
+ Rising exchange_net_flow + large transfers to exchange addresses = potential sell pressure. Fresh wallet inflows may signal new interest or wash trading.