TypeScript Solana trading bot focused on Orca Whirlpools (CLMM):
- Monitors Orca Whirlpool pool-initialize transactions in real time
- Detects newly created pools
- Instantly buys when pool includes your configured quote mint
- Manages open positions with take-profit and stop-loss exits
- Includes a
gathercommand to export positions and optionally harvest fees/rewards
- Orca CLMM monitor via Whirlpool program log subscription
- Immediate buy on new pool creation
- TP/SL sell loop based on live quote simulation
- Risk controls (
MAX_POSITIONS, slippage, token allowlist) - Gather/report utility for wallet positions
- Node.js + TypeScript
@orca-so/whirlpools(v7 action APIs)@solana/kit+@solana/web3.js
- Install dependencies:
npm install- Create env file:
cp .env.example .env- Configure required values in
.env:
PRIVATE_KEY(base58 or JSON byte array)RPC_HTTP_URL,RPC_WS_URLQUOTE_MINT,QUOTE_DECIMALS,BUY_AMOUNTTAKE_PROFIT_PCT,STOP_LOSS_PCT
- Start bot:
npm run devnpm run dev- run bot in tsx modenpm run build- compile todist/npm run start- run compiled botnpm run gather- generate report underreports/
See .env.example for full list.
Important ones:
NETWORK:solanaMainnetorsolanaDevnetORCA_WHIRLPOOL_PROGRAM_ID: Orca Whirlpool programQUOTE_MINT: token used for sniping buysTOKEN_ALLOWLIST: optional comma separated target mint filter
OrcaPoolMonitorsubscribes to Whirlpool program logs and watches for initialize instructions.- New pool address + token mints are extracted from the create transaction accounts.
Traderimmediately executesswapfrom quote token into the new token.- Position loop continuously evaluates current value using
swapInstructionsquote. - If PnL hits TP or SL threshold, bot executes a sell swap and closes the position.
- This bot executes real trades with your wallet.
- Start on devnet and low amounts before mainnet.
- Use dedicated RPC providers with fast websocket support for competitive sniping.
- Add strict allowlists/denylists before production usage.
- telegram: https://t.me/trade_SEB
- twitter: https://x.com/TradeSEB_