Detects new token launches in <100ms, scores rug risk before entering, scalps momentum on already-running tokens, and exits before the dev dumps. All non-custodial — powered by Antgrid.
TWO MODES
┌───────────────────────────────────┐
│ SNIPER SCALPER │
│ ────── ─────── │
│ New launches Running tokens │
│ Enter early Second wave │
│ Ride the pump Tight in/out │
└───────────────────────────────────┘
pump.fun WebSocket
│
▼ <100ms (Rust)
new mint detected
│
▼
score token (Python)
├── dev wallet age & history (0–20 pts)
├── dev % of supply held (0–20 pts)
├── bonding curve fill % (0–20 pts)
├── contract flags (0–15 pts)
├── social presence (0–10 pts)
└── LP status (0–15 pts)
│
├── score < 60 → skip
└── score ≥ 60 → ENTER
│
▼
Antgrid API swap (Go)
non-custodial · your keys
│
▼
watch position
├── dev selling? → dump now
├── LP removed? → dump now
├── -15% in <10s? → dump now
├── 2x hit? → sell 40%
├── 5x hit? → sell 40%
├── 10x hit? → sell rest
├── -25% from entry? → stop loss
└── 8 min no movement? → time exit
│
▼
Telegram: "Exited TICKER | +340% | 0.43 SOL"
| Check | Points | Signal |
|---|---|---|
| Dev wallet age & rug history | 0–20 | Fresh wallet = high risk |
| Dev % of supply held | 0–20 | >20% held = likely dump incoming |
| Bonding curve fill | 0–20 | Sweet spot: 5–25% filled |
| Contract flags | 0–15 | Mint/freeze authority = red flag |
| Social presence | 0–10 | No socials = anonymous dev |
| LP status | 0–15 | Locked LP = safer entry |
< 60 → skip
60–74 → enter 0.05 SOL
75–89 → enter 0.10 SOL
90+ → enter 0.20 SOL
Runs continuously alongside the sniper. Targets tokens already launched in the last 30 minutes showing a second-wave momentum pattern:
- Pumped → pulled back 20–40% from ATH
- Volume rising again
- Holder count still growing
- Dev wallet untouched
Enters tight (0.05–0.10 SOL), targets 1.5–2x, stops at -15%, repeats.
hummingbird/
├── listener/ Rust — Solana WebSocket detector, <100ms detection
├── scorer/ Python — concurrent risk scoring engine
│ └── checks/ dev_wallet · supply · bonding · contract · social
├── orchestrator/ Go — Antgrid integration, portfolio, Telegram bot
│ ├── trader/ execution + exit loop
│ ├── monitor/ per-position price watcher
│ ├── portfolio/ open/closed position state
│ ├── userbot/ multi-tenant user management
│ ├── bot/ Telegram bot (single + multi-tenant)
│ └── db/ PostgreSQL persistence
└── cli/ Go — terminal UI for local/self-hosted installs
No Go required. Works on Linux, macOS, Windows:
npm install -g @decatalyst/hummingbird
hummingbird # interactive TUI dashboard
hummingbird login # save your API credentials
hummingbird status # one-shot statsHummingbird needs three external services. All have free tiers.
Why not public RPC? Mainnet-beta is heavily rate-limited and drops WSS subscriptions under load. You'll detect maybe 1 in 10 launches. A private RPC is the difference between "interesting demo" and "actually trading."
Prerequisites: Rust, Python 3.11+, Go 1.22+, PostgreSQL
cp .env.example .env
# Required:
# ANTGRID_API_KEY, ANTGRID_API_SECRET — from antgrid.io
# CRICKET_API_KEY — from cricket.vylth.com
# RPC_HTTP, RPC_WS — Helius (or other private RPC)
# DATABASE_URL — postgres://...
# ENCRYPTION_KEY — `openssl rand -hex 32`
# JWT_SECRET — `openssl rand -hex 32` (≥32 chars)
# SCORER_SECRET — `openssl rand -hex 32` (≥32 chars, same in all 3 services)# 1. Scorer
cd scorer && pip install -r requirements.txt && python main.py
# 2. Listener
cd listener && cargo run --release
# 3. Orchestrator
cd orchestrator && go run .Join the Telegram channel for the live trade feed, support, and announcements: t.me/vylthummingbird
Built by @iamdecatalyst — CEO & Solo Founder, VYLTH Strategies.
Hummingbird License v1.0 — free to use, self-host, and fork. You may not rebrand it and sell it as a different product. Violations will be pursued legally. Questions: decatalyst@vylth.com
