Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Volume Bot

An EVM trading bot that generates on-chain volume by funding ephemeral sub-wallets, executing buy/sell round-trips through auto-detected liquidity pools, and sweeping funds back to a base wallet. Includes a REST API, React dashboard, economics planner, and session history (SQLite).

Use responsibly. Automated volume generation may violate exchange, launchpad, or jurisdictional rules. You are solely responsible for compliance and any funds at risk. See SECURITY.md.

Features

  • Multi-chain: BSC, Ethereum, Sepolia, Robinhood Chain (4663)
  • Multi-pool routing: Uniswap V2/V3/V4, PancakeSwap V2, Flap Portal bonding curves
  • Pool selection: liquidity depth or fee efficiency (configurable)
  • Trade modes: pipeline (batched) or mixed (interleaved buys/sells)
  • Economics planner: budget ↔ volume targets with DEX fee, slippage, and gas breakdown
  • Operator dashboard: start/stop bot, preflight, sessions, gather, live logs
  • Fund recovery: gather (sweep ETH) and liquidate (sell tokens + sweep)

Quick start

Prerequisites

  • Node.js 18+
  • A funded base wallet on your target chain (native token for gas + trade capital)
  • A token with a token/native liquidity pool on that chain

Install

git clone https://github.com/bytegen-dev/evm-market-maker.git
cd evm-market-maker
npm install
cd dashboard && npm install && cd ..

Configure

  1. Secrets — copy env template and fill in your base wallet:
cp .env.example .env
  1. Bot parameters — edit config.ts:
export const CHAINID: ChainId = ChainId.Robinhood;
export const targetTokenAddress = '0xYourTokenAddress';
export const amountMin = 0.002;
export const amountMax = 0.005;
export const subWalletNum = 20;
  1. Initialize database (required for API/dashboard):
npm run db:push

Run

CLI only (bot process):

npm run dev

Full stack (API + dashboard):

npm run stack

Use the dashboard Start Bot dialog to set token, trade sizes, and schedule — or run headless via CLI with config.ts defaults.

Recover funds

npm run gather              # sweep ETH from all cycle wallet files
npm run gather -- --latest  # latest cycle only

npm run liquidate           # sell stranded tokens, then sweep ETH
npm run liquidate -- --latest

Documentation

Doc Description
Architecture System design, data flow, key modules
Configuration Every config.ts option explained
Pools Supported DEX types, fee tiers, selection logic
Economics Volume/cost math, budget planner, caveats
API REST endpoints for automation
Operations Day-to-day runbook, troubleshooting
Security Key handling, risks, disclaimers

Project structure

├── index.ts              # Bot entry (cycles, wallets, trades)
├── config.ts             # Bot defaults (chain, token, sizing)
├── poolDetector.ts       # Auto-detect V2/V3/V4/Portal routes
├── swaps.ts              # Buy/sell execution per pool type
├── economics.ts          # Preflight cost/volume predictions
├── gather.ts / liquidate.ts   # CLI fund recovery
├── api/                  # Express REST API + bot manager
├── dashboard/            # React operator UI (Vite)
├── prisma/               # SQLite schema (sessions, cycles)
└── wallets/              # Generated sub-wallet JSON (gitignored)

Supported chains & pools

Chain V2 V3 V4 Portal
Ethereum
Robinhood
BSC ✓ (Pancake)
Sepolia

Details: docs/POOLS.md

NPM scripts

Script Description
npm run dev Run bot (CLI)
npm run stack API + dashboard (dev)
npm run api API server only
npm run dashboard Dashboard dev server
npm run dashboard:build Production dashboard build
npm run preflight Economics check for configured token
npm run gather Sweep sub-wallet ETH to base
npm run liquidate Sell tokens + sweep ETH
npm run db:push Apply Prisma schema to SQLite

Capital planning (short version)

The bot needs two kinds of ETH:

  1. Working capital — funds sub-wallets to execute trades (recycled via parallelWallets slots)
  2. Burn budget — DEX fees + gas consumed per round-trip (never returned)

The dashboard Budget tab models burn only. A 0.15 ETH budget does not mean you can generate volume with only 0.15 ETH total — you also need enough base balance to keep workers funded. See docs/ECONOMICS.md.

Contributing

See CONTRIBUTING.md.

License

ISC

Acknowledgments

Original bot by @dieharye. Extended with multi-DEX routing, economics planner, API, and dashboard.

About

An EVM trading bot that generates on-chain volume by funding ephemeral sub-wallets, executing buy/sell round-trips through auto-detected liquidity pools, and sweeping funds back to a base wallet. Includes a REST API, React dashboard, economics planner, and session history. I originally forked https://github.com/donpushme/ether-volume-bot.git

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages