nansen-ai/nansen-cli

nansen-token-screener

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.

First seen Mar 17, 2026

Installation

$ npx skills add nansen-ai/nansen-cli --skill nansen-token-screener

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from nansen-ai/nansen-cli · top by installs.

npx skills add nansen-ai/nansen-cli

Browse all from nansen-ai/nansen-cli

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 135
License LICENSE
Default branch main
Open issues 6
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsBash(nansen:*)
Declared agents clawdbot
More metadata
openclaw
{"requires":{"env":["NANSEN_API_KEY"],"bins":["nansen"]},"primaryEnv":"NANSEN_API_KEY","install":{"0":"kind: node","package":"nansen-cli","bins":["nansen"]}}

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,677 B
  • docs SUMMARY.md 197 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 379 installs

SKILL.md

Token Discovery

Answers: "What tokens are trending and worth a deeper look?"

CHAIN=solana

# Screen top tokens by volume
nansen research token screener --chain $CHAIN --timeframe 24h --limit 20
# → token_symbol, price_usd, price_change, volume, buy_volume, market_cap_usd, fdv, liquidity, token_age_days

# Smart money only
nansen research token screener --chain $CHAIN --timeframe 24h --smart-money --limit 20

# Search within screener results (client-side filter)
nansen research token screener --chain $CHAIN --search "bonk"

# Smart money holdings — what SM wallets are holding
nansen research smart-money holdings --chain $CHAIN --labels "Smart Trader" --limit 20
# → token_symbol, value_usd, holders_count, balance_24h_percent_change, share_of_holdings_percent

# Nansen indicators for a specific token
TOKEN=<address>
nansen research token indicators --token $TOKEN --chain $CHAIN
# → risk_indicators, reward_indicators (each with score, signal, signal_percentile)

# Flow intelligence — only use for promising tokens from screener/indicators above
nansen research token flow-intelligence --token $TOKEN --chain $CHAIN
# → net_flow_usd per label: smart_trader, whale, exchange, fresh_wallets, public_figure

# Nansen Score Top Tokens — "what should I buy?" (public endpoint, any authenticated API key)
# Use this FIRST for discovery, then drill into individual tokens with `indicators` above
nansen research token top-tokens --limit 25
nansen research token top-tokens --market-cap largecap --limit 10
# → chain, token_address, token_symbol, performance_score, risk_score,
#   per-indicator contributions, market_cap_group, latest_date, last_trigger_on

Screener timeframes: 5m, 10m, 1h, 6h, 24h, 7d, 30d

Indicators: score is "bullish"/"bearish"/"neutral". signal_percentile > 70 = historically significant. Some tokens return empty indicators — not an error.

Top tokens — Nansen Score field reference

Results are pre-filtered to performance_score >= 15 server-side and returned sorted by:

  1. performance_score DESC
  2. marketcapgroup priority (largecap → midcap → lowcap)
  3. risk_score DESC
  4. 24h volume DESC

So row 0 is always the strongest candidate for the filter you applied — no client-side ranking needed.

Market cap buckets (used in both the sort priority and the --market-cap filter):

  • lowcap: market cap < $100M
  • midcap: market cap $100M – $1B
  • largecap: market cap > $1B

Every contribution is ternary — exactly one of {negative, 0, positive} per field. No partial values. Zero means "indicator didn't apply to this token" (out of scope), not "indicator was neutral".

Performance Score (Alpha — "likely to outperform BTC over 7–30d") Range: -60 to +75 (arithmetic bounds; live max is closer to +45 since no single token hits every positive indicator simultaneously). Buy threshold: >= 15. Sum of the five *_performance fields below.

Field Contribution Trigger What the underlying indicator measures
pricemomentumperformance +30 / 0 upstream score bullish → +30 Price momentum, scored against separate thresholds for large-cap vs. low/mid-cap tokens.
chainfeesperformance +30 / 0 bullish (30-day fee growth > +1%) → +30 30-day spending momentum on network fees (geometric mean of daily returns). Only tracked for a handful of L1 native tokens (e.g. ETH, TRX, AVAX, RON); always 0 for every other token.
tradingrangeperformance +15 / 0 bullish (price breaks above resistance in an uptrend) → +15 14-day price trend combined with position vs. nearest support/resistance. In practice fires mostly on established tokens that have well-defined levels — can fire at any market cap, but is rare for new / low-liquidity tokens.
chaintvlperformance 0 / -35 bearish (composite TVL growth < 0) → -35 TVL momentum composite signal. Only non-zero for chains / L2s whose TVL is tracked. No positive path exists — the field only deducts.
protocolfeesperformance 0 / -25 bearish (14-day fee growth < -3%) → -25 14-day protocol fee momentum. Only non-zero for tokens backed by protocols with measurable fee revenue. No positive path — deduction only.

Risk Score (Safety — "filters falling knives / dangerous setups") Range: -60 to +80 (arithmetic bounds). Safety threshold: > 0 (positive = safer, negative = riskier). Sum of the four *_risk fields below. For every risk field: upstream score low → positive contribution, high → negative contribution, medium/missing → 0.

Field Contribution What the underlying indicator measures
btcreflexivityrisk +40 / -20 Rolling 5-event median ratio of token drop to BTC drop on days BTC falls >3%. Ratio ≤ 1 → low+40 (token holds up as well as or better than BTC on drawdowns). Ratio > 1 → high-20 (token drops harder than BTC). Skipped for stablecoins and tokens with <$1M 24h volume.
liquidity_risk +20 / -20 Ratio of on-chain liquidity to market cap (totalliquidityusd / marketcapusd). Higher ratio → low+20 (deep books relative to cap). Very thin ratio → high-20.
concentration_risk +10 / -10 Top-10 holder concentration as a fraction of supply. < 0.12low+10 (well-distributed). > 0.55high-10 (whale-concentrated).
inflation_risk +10 / -10 EMA of daily token supply inflation rate. Negative / near-zero → low+10 (stable or deflationary supply). Strongly positive → high-10 (high dilution). Only evaluated for tokens >= $100M market cap.

Other response fields:

  • marketcapgroup: lowcap / midcap / largecap — see thresholds above.
  • latest_date: ISO datetime of the most recent indicator refresh for this token.
  • lasttriggeron: ISO datetime of the most recent trigger across contributing indicators (MAX aggregate — individual indicators may be days-to-months stale even when this looks fresh). Use indicators on a specific token to audit per-indicator ages.

Stablecoins rank high but aren't picks. USDC, USDT, DAI, FDUSD and similar score well on chainfees + liquidity indicators but aren't what "what should I buy" means. Filter them out of the shortlist using the canonical whitelist at nansen-dbt-ch-tokens/seeds/stablecoinsfor_indicator.csv before drilling into indicators.

Typical workflow: start with top-tokens for a shortlist → drop stablecoins → run indicators on the top 3–5 to inspect individual signals and their signal_percentile → flow-intelligence only on the finalists to confirm SM conviction.

Field meanings and contribution mappings above are sourced from nansen-dbt-ch-tokens/models/indicators/apinansenscoreindicatorsalltokenslatest.sql and per-indicator model yml files. Sign conventions and live value ranges were validated against production ClickHouse data.

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.