Skip to main content
Changelog

Every wave. Public.

Roadmap as a promise, not a wish list. Every shipped feature, dated and linked.

v0.9.0

2026-05-17

Wave 8 — Sniper expansion + Copy Trading Phase 2 (PRs #41–#42)

Sniper expansion framework

  • SniperConfig schema: enableRaydium / enableMoonshot / enableSellSniper toggles
  • Raydium V4 AMM listener framework (parser stub, pending mainnet verification)
  • Moonshot listener framework (parser stub)
  • Sell Sniper framework — auto-sell on Pump.fun → Raydium migration (event stub)
  • All four sniper sources hot-loaded into the existing engine

Copy Trading Phase 2 (live)

  • /copy command: list / create / cancel leader follows
  • Polling worker (10s tick, reentrancy-guarded, dedupes shared leaders)
  • DEX-agnostic token-balance-diff parser — works on Jupiter, Raydium, Pump.fun, Orca
  • BUY mirror: config.buySizeSol per leader buy, capped by maxBuySol
  • SELL mirror: same fraction as leader, applied to user's on-chain balance
  • Auto-TP/SL (Wave 7) attaches on mirrored buys; PnL pin cards (Wave 5) fire on full-close mirrored sells
  • Text parser: FOLLOW <leader> <buy_sol> [max <max_sol>] [no-sell] [as <label>]

v0.8.0

2026-05-17

Wave 7 — Security hardening (PRs #38–#39)

Withdrawal password

  • /security → 🔐 Manage password — set / change / disable
  • scrypt-hashed (node built-in, no extra dep); ≥6 chars, no whitespace
  • Every /withdraw confirm requires the password (if enabled)
  • Bot best-effort deletes the user's raw-password message after parsing

2FA via TOTP

  • RFC 6238 TOTP — works with Google Authenticator, Authy, 1Password
  • /security → 📱 Manage 2FA — set up via secret + otpauth:// URI
  • First successful 6-digit code confirms enrollment
  • Withdraw gate chains: password → TOTP → execute
  • Disable requires a current code (no bypass)

v0.7.0

2026-05-17

Wave 6 — Auto-trading & AFK Mode (PRs #33–#36)

Auto Buy

  • /settings → 🤖 Auto Buy: configurable SOL amount auto-buys any pasted CA
  • Skips the token card — instant Jupiter swap from active Hydra Head
  • Default OFF; toggle blocked until an amount is set

Auto Sell — CA Mode

  • /settings → 💸 Auto Sell: configurable %% auto-sells held tokens on CA paste
  • Takes precedence over Auto Buy when user has a balance for the pasted token
  • Operates on raw on-chain balance — airdropped tokens included

Auto Sell — Order Mode (auto TP/SL)

  • /settings → 🎯 Auto TP/SL: default TP% + SL% attached to every new BUY
  • Existing 8s TP/SL polling worker auto-sells on threshold hit
  • Per-position TP/SL set manually takes precedence — never overwritten

AFK Mode

  • New /afk command: master view + toggle for all auto-trade modes
  • One tap to flip Auto Buy + Auto Sell ON together (with configured values)
  • setMyCommands updated (14 commands total)

v0.6.0

2026-05-17

Wave 5 — UX density match (PRs #25–#31)

Bulk position management

  • /positions: 💥 Sell All — preview → confirm → liquidate every open position
  • /positions: 🧹 Burn Dust — auto-sell positions valued under 0.01 SOL
  • Sequential per-position execution with isolated failure handling + summary

Wallet flexibility

  • /wallet: 🪄 Generate New — mint additional Hydra Heads on demand (was /start-only)
  • /wallet: 📥 Import Key — paste base58 (Phantom / Solflare) or JSON-array (Solana CLI)
  • /wallet: ✏️ Edit Key — replace the private key in an existing slot, preserving the label
  • /wallet: 🔄 Consolidate SOL — sweep all heads into one chosen destination
  • Bot best-effort deletes messages containing raw private keys

Trading-preset customization

  • /settings: 🛒 Buy Presets — user-editable SOL amounts (up to 6, range 0.001–100)
  • /settings: 💸 Sell Presets — user-editable percentages (up to 6, range 1–100)
  • Token card + /positions sell buttons render from the user's presets
  • Reset button clears overrides + falls back to bot defaults

PnL portfolio history

  • Stylized "Position Closed" card auto-sent on every 100% sell
  • Card pinned in chat — Telegram's pin list becomes a portfolio history log
  • Card shows entry/exit SOL, realized PnL (SOL + %), 🏆 / 🪦 trophy, Solscan tx link

DCA orders

  • /dca command: list + create + cancel time-sliced BUY/SELL
  • Optional USD price-band — slice skipped (but schedule continues) when out of band
  • Bounds: 2–100 slices, 60s–7d intervals; integrated into the existing 8s worker
  • New DcaOrder schema + migration; reuses existing Jupiter execution

v0.5.0

2026-05-17

Visual identity overhaul

Wave 1 — Cyber-mythological hero

  • Three-line headline with staggered reveal animation
  • Cursor-tracked spotlight + slow-rotating conic mesh background
  • Geist Mono kicker typography + Instrument Serif editorial accents
  • New SolPriceTicker component (Jupiter Price API, 30s refresh)
  • CountUpStat component with intersection-observer triggered animation
  • Scroll-aware fixed nav (hides on scroll-down, reveals on scroll-up)

Wave 2 — Interactive tools

  • /tools hub with two free utilities
  • /tools/fee-calculator — slider-driven real-cost comparison across 6 bots
  • /tools/sniper-simulator — dry-run your filter chain with 6-step verdict trace

Wave 3 — Section depth

  • /manifesto — founder-voice positioning piece
  • /changelog — public release history (this page)
  • Testimonial section structure on home
  • "Built different" comparison strip on home

v0.4.0

2026-05-17

Wave 3 Sniper + main menu overhaul

Sniper engine (PR #14–#17)

  • SniperConfig schema + manual migration (one row per user)
  • /snipe command with status card + Pause/Activate, Dry-run toggle, Edit params, Refresh buttons
  • Text-based edit flow: key=value pairs in one message
  • Helius WS subscriber on pump.fun program ID, mint extraction from parsed tx
  • Filter chain (6 checks) + executor (dry-run + live modes)
  • Auto-attaches TP/SL on successful snipe
  • 11 vitest tests covering every filter branch

Main menu (PR #18)

  • 16-button inline keyboard inspired by SolTradingBot density
  • New /profile, /referral, /cashback commands
  • setMyCommands updated to 12 commands for Telegram autocomplete

v0.3.0

2026-05-17

Marketing site + bot polish

Marketing site

  • New product pages: /pricing, /security, /how-it-works
  • Comparison hub at /compare + 5 head-to-head pages
  • Blog with 5 SEO articles (Pump.fun sniping, burners, strategies, limit vs TP/SL, MEV)
  • OG image generated 1200×630 PNG via sharp
  • llms.txt for LLM crawlers

Bot

  • /security command (encryption + threat model)
  • setMyCommands for Telegram autocomplete
  • README split into Live features vs Roadmap

v0.2.0

2026-05-17

Automation + UX completion

Wave 2

  • TP/SL polling worker (8s tick, auto-sells on threshold + DMs user)
  • Full /limit orders — BUY/SELL at trigger price, text-parser creation
  • /history command (last 20 trades with Solscan links)
  • Custom buy amounts via session.awaitingInput flow
  • Smaller buy presets (0.01, 0.05 SOL added)
  • /admin command + admin error reporter
  • GitHub Actions CI (typecheck + tests + Astro build)

v0.1.0

2026-05-17

Initial production release

MVP

  • Multi-wallet management ("Hydra Heads") with AES-256-GCM encryption
  • Active-wallet switcher (session-persistent)
  • Manual buy/sell via Jupiter v6
  • Token cards with auto-detect from chat
  • Position tracking with live PnL (Jupiter price API)
  • Withdraw flow with preset amounts + custom + max
  • Settings inline editor (slippage + priority fee)
  • Telegram bot deployed to Railway, Astro site scaffolded
  • Cloudflare DNS zone for moonhydra.com

Fixes

  • Prisma init migration P3009 crash loop (auto-recovery + clean SQL after stderr-capture corruption)
🐉

Ready to summon your first Hydra Head?

It takes 30 seconds. No KYC. No deposits. Generate a burner wallet, fund it with SOL, paste a contract address.

Open in Telegram