Overview
hades-ps-trader listens to pump.fun graduation events via PumpPortal's WebSocket, opens an isolated trading session per graduating token, and runs a MACD strategy against price candles built locally from direct PumpSwap pool polling. Buy and sell transactions are signed locally and submitted through PumpPortal — no third-party custody. Multiple sessions run concurrently, capped by configured position limits, and slippage is escalated automatically on tx failure.
Key Features
- Real-time graduation monitoring via PumpPortal.
- Per-token MACD sessions with configurable fast / slow / signal parameters.
- Candle aggregation built directly from PumpSwap pool price polling — no external data feed.
- Concurrent position management with a configurable cap on open trades.
- Slippage escalation on failed transactions — retries climb the slippage ladder.
- Locally signed transactions via the PumpPortal API.
- Optional Discord webhook notifications for entries, exits, and session lifecycle events.
- Optional on-chain trading filters applied at the moment of graduation.
Requirements
- Rust 1.85+ with edition 2024.
- Solana mainnet RPC endpoint (QuickNode, Helius, or similar).
- Funded Solana wallet (keypair JSON format).
- PumpPortal API key (optional but recommended).
- Discord webhook URL (optional).
Setup
1. Clone and build
$ git clone https://github.com/hadesbaker/hades-ps-trader.git
$ cd hades-ps-trader
$ cp .env.example .env
$ cargo build --release2. Configure
Set your RPC endpoint, wallet keypair path, and optional PumpPortal API
key in .env. Tune your MACD parameters, position sizing,
slippage tolerance, priority fees, and on-chain filter thresholds in
the bot config.
3. Run
$ cargo run --release