Productivity

emerging-movers

senpi-ai/senpi-skills · updated Apr 8, 2026

$npx skills add https://github.com/senpi-ai/senpi-skills --skill emerging-movers
summary

Tracks Smart Money market concentration across all Hyperliquid assets and flags assets accelerating up the ranks before they become crowded top-3 plays. By the time an asset hits the top of the SM leaderboard, the easy money is gone. This catches the trajectory.

skill.md

Emerging Movers Detector v3.1

Tracks Smart Money market concentration across all Hyperliquid assets and flags assets accelerating up the ranks before they become crowded top-3 plays. By the time an asset hits the top of the SM leaderboard, the easy money is gone. This catches the trajectory.

One API call per scan. Near-zero LLM tokens. Runs every 60 seconds.

How It Works

The SM Profit Concentration Leaderboard

Senpi's leaderboard_get_markets returns all assets ranked by percentage of total Smart Money profit in the last 4-hour rolling window. This isn't trader count — it's where the money is actually flowing.

#1  ETH SHORT   31.4%  286 traders
#2  BTC SHORT   25.1%  436 traders
#3  HYPE SHORT  24.2%  330 traders
...
#36 ASTER SHORT  0.2%   18 traders  ← 60s later: #13, 0.82%, 65 traders

The script tracks this leaderboard over time and detects acceleration.

Detection Signals

Immediate Action Signals (v3+)

Signal Condition Priority
IMMEDIATE_MOVER 10+ rank jump from #25+ in ONE scan Highest — act now
NEW_ENTRY_DEEP Appears in top 20 from nowhere Very high
CONTRIB_EXPLOSION 3x+ contribution increase in one scan Very high
DEEP_CLIMBER 5+ rank jump from #25+ High

Trend Signals

Signal Condition
NEW_ENTRY First appearance in top 50
RANK_UP Jumped 2+ positions in one scan
CLIMBING 3+ positions up over several scans
ACCEL Contribution % increasing scan-over-scan
STREAK Consistently climbing every check
VELOCITY Sustained positive contribution growth

v3.1 Quality Filters

These prevent false IMMEDIATE signals that looked great on rank jump alone but failed on execution:

Filter Rule Rationale
Erratic rank >5 rank reversals in history → erratic: true, downgraded Bouncing ranks are noise
Velocity gate contribVelocity < 0.03 → lowVelocity: true, excluded from IMMEDIATE No momentum behind the move
Trader count floor <10 traders → SKIP IMMEDIATE Single whale risk
Max leverage check max leverage < 10x → SKIP Not worth the limited position sizing

See references/quality-filters.md for implementation details and real-world examples.

Architecture

┌────────────────────────────────────┐
│ Cron: every 60 seconds             │
├────────────────────────────────────┤
│ scripts/emerging-movers.py         │
│ • Loads scan history from JSON     │
│ • Fetches leaderboard (1 API call) │
│ • Parses top 50 markets            │
│ • Compares with previous scans     │
│ • Detects signals + v3.1 filters   │
│ • Saves updated history            │
│ • Outputs JSON with alerts         │
├────────────────────────────────────┤
│ Agent reads output:                │
│ • IMMEDIATE alerts → evaluate now  │
│ • Deep climbers → queue for review │
│ • No alerts → silent               │
└────────────────────────────────────┘

Files

File Purpose
scripts/emerging-movers.py Scanner script
emerging-movers-history.json Auto-managed scan history (last 60 scans)
max-leverage.json Optional: asset max leverage reference

Output

See references/output-schema.md for the complete JSON schema.

Key top-level fields: alerts[], topMovers[], immediateMovers[], deepClimbers[], scanCount, timestamp.

Per-alert fields: asset, direction, rank, prevRank, contribution, traderCount, reasons[], contribVelocity, isImmediate, isDeepClimber, erratic, lowVelocity.

Cron Setup

*/1 * * * * python3 scripts/emerging-movers.py

Agent Response Logic

  • isImmediate: true + erratic: false + lowVelocity: falseEvaluate immediately for entry via Scanner
  • isDeepClimber: true → Queue for next scanner run
  • erratic: true or lowVelocity: true → Log but do not act
  • No alerts → Silent

Companion skills

  • opportunity-scanner — use Scanner to deep-dive assets flagged by Emerging Movers
  • autonomous-trading — full loop integrating Emerging Movers as entry trigger
  • wolf-strategy — uses IMMEDIATE_MOVER as primary entry signal