MemeBot is an experimental trading agent that listens to social signals (Twitter, Telegram, Discord) and on-chain wallet activity (via Helius), estimates liquidity routes, and simulates or executes swaps on Solana (Ethereum/BNB basics included).
It supports:
- ✅ Simulation mode – dry-run trades with detailed logs.
- ✅ Paper trading – track entries/exits without sending real transactions.
- ✅ Live mode – optional Solana devnet/mainnet trades via Jupiter aggregator.
- ✅ Testing suite –
pytestwith mocked signals, quotes, and swaps.
- Operating system: macOS / Linux / WSL2 recommended
- Python: 3.11+ (3.13 supported)
- Git installed
- Solana CLI (for live trades / keypair handling)
git clone https://github.com/YOURNAME/memebot.git
cd memebotpython3 -m venv .venv
source .venv/bin/activate(Windows PowerShell: .\.venv\Scripts\Activate.ps1)
pip install -e .This installs MemeBot in “editable” mode so changes take effect immediately.
To confirm everything is working:
pytestExpected: all tests pass, with a few marked skipped (integration tests for optional networks).
Run the bot in simulation:
python -m memebot.main --mode simulate --debug --enable-exitsLog trades without touching real chains:
ENABLE_MOCK=1 python -m memebot.main --mode paper --debug --enable-exitsCheck PnL later:
python -m memebot.tools.pnl_cli --since todaysolana-keygen new --outfile ~/.config/solana/devnet-keypair.json
solana airdrop 2 --url https://api.devnet.solana.comexport SOLANA_CLUSTER=devnet
export ALLOW_LIVE=1
export SOLANA_PRIVATE_KEY_FILE=~/.config/solana/devnet-keypair.json
export SOLANA_OWNER=$(solana-keygen pubkey ~/.config/solana/devnet-keypair.json)python -m memebot.main --mode live --debug --enable-exits| Variable | Purpose | Example |
|---|---|---|
NETWORK |
Which network | solana |
SOLANA_CLUSTER |
Cluster | devnet / mainnet |
ALLOW_LIVE |
Enable real trades | 1 |
ENABLE_MOCK |
Use mock signal streams | 1 |
MOCK_JUPITER |
Mock Jupiter quotes | 1 |
AUTO_DEVNET_MOCK |
Auto-fallback for devnet | 1 |
SOLANA_PRIVATE_KEY_FILE |
Path to Solana keypair JSON | ~/.config/solana/devnet-keypair.json |
SOLANA_OWNER |
Override owner pubkey | YourPubkey |
BASE_SIZE_SOL |
Fixed size per buy | 0.05 |
TP_PCT |
Take profit % | 20 |
SL_PCT |
Stop loss % | -30 |
TRAIL_PCT |
Trailing stop % | 10 |
MIN_HOLD_SEC |
Min hold time | 10 |
DAILY_LOSS_CAP_SOL |
Max daily loss | 1.0 |
Before running MemeBot live, confirm the system works end-to-end.
pytest -qExpected: all tests pass (some may be skipped if optional integrations not configured).
Check your API credentials and connectivity:
python -m memebot.tools.verify telegram
python -m memebot.tools.verify discordTwitter uses snscrape (no API key needed).
Use the included sample dataset:
python -m memebot.backtest.runner memebot/backtest/sample.jsonl --debug
python -m memebot.tools.pnl_cli --since allExpected:
- ≥ 1 entry trade
- ≥ 1 exit trade
- PnL stats, including per-token breakdown
ENABLE_MOCK=1 python -m memebot.main --mode simulate --debug --enable-exitsExpected: Logs show [signal], [decision], [simulate], and [exit].
ENABLE_MOCK=1 python -m memebot.main --mode paper --debug --enable-exits
python -m memebot.tools.pnl_cli --since todayExpected: Trades recorded, PnL summary available.
SOLANA_CLUSTER=devnet ALLOW_LIVE=1 \
SOLANA_PRIVATE_KEY_FILE=~/.config/solana/devnet-keypair.json \
python -m memebot.main --mode live --debug --enable-exitsExpected: Real swaps executed against Jupiter’s devnet liquidity.
If all these checks pass, MemeBot is fully functional in simulation, paper, backtest, and live (devnet) modes.
- Real Twitter sentiment stream
- Position sizing + advanced risk engine
- Docker support for deployment
This software is for educational purposes only.
Using it on mainnet may result in loss of funds.
Use at your own risk.