Viper Documentation
Welcome to Viper
The fastest multi-chain trading bot, built entirely on Telegram.
Viper lets you trade any Solana, Base, BSC, or Ethereum token directly from Telegram. No browser extensions, no separate wallet apps — just paste a contract address and go.
Key Features
- Instant Swaps — Buy and sell tokens on Solana (via Jupiter), Base (via 0x — Uniswap, Aerodrome, SushiSwap, and more), BSC (via 0x — PancakeSwap V2/V3), and Ethereum (via 0x — Uniswap V2/V3, SushiSwap) in seconds.
- Stablecoin Swaps — Convert between SOL/ETH/BNB and USDC or USDT — and swap USDC ↔ USDT — on all four chains with zero platform fees.
- Bridge — Move SOL, ETH, BNB, USDC, or USDT between Solana, Base, BSC, Ethereum, and other supported EVM chains via LI.FI.
- Limit Orders — Set price targets on Solana, Base, BSC, and Ethereum, and Viper executes automatically, 24/7.
- Copy Trading — Mirror any wallet's trades on Solana, Base, BSC, and Ethereum in real-time via WebSocket, with automatic take-profit orders.
- Call Channel Auto-Buy — Subscribe to Telegram alpha channels and auto-buy when new tokens are called on Solana, Base, BSC, and Ethereum.
- Take Profit — Automatically create sell orders after call channel buys.
- Multi-Wallet — Create or import multiple wallets for Solana, Base, BSC, and Ethereum, and switch between them.
- Self-Custodial — Private keys are Fernet-encrypted (AES-128-CBC + HMAC-SHA256) and never stored in plaintext.
- Referral Discounts — Share your link and both you and your friend trade at a reduced fee.
Ready to start? Open
@Viper_Sol_Bot on Telegram and send
/start. Type
/help at any time for a quick feature overview and command list.
Quick Start
From zero to your first trade in under a minute.
- Open the bot — Go to @Viper_Sol_Bot on Telegram and tap Start.
- Create a wallet — The bot automatically generates a new encrypted Solana wallet. You can also create Base, BSC, and Ethereum wallets from the wallet menu.
- Fund your wallet — Send SOL (Solana), ETH (Base/Ethereum), or BNB (BSC) to your wallet address from any exchange or wallet.
- Buy a token — Paste any Solana, Base, BSC, or Ethereum token contract address (CA) into the chat. Viper auto-detects the chain, shows token info and quick-buy buttons. Tap a preset amount or enter a custom one.
- Track your position — Use
/positions to see your holdings, current value, and unrealized P&L.
- Sell — From your positions, tap a token and choose a sell percentage (25%, 100%, or custom).
Tip: Solana swaps use Jupiter V2 by default — slippage, priority fees, and MEV protection are all handled automatically.
Home Screen
What you see when you open the bot.
The home screen (/start) opens with your total portfolio value, then a per-chain balances block and an expandable wallet-addresses block:
Home screen elements
| Element | Description |
| Total portfolio | Hero USD figure summing native + stable + position values across every chain. |
| Balances block | One row per chain (Base, BSC, Ethereum, Solana) with the native USD value and amount. Indented sub-rows surface positions, USDC, and USDT only when they round to ≥ $0.10. |
| Wallet addresses | Expandable blockquote, collapsed by default. Tap to reveal each active wallet address with its explorer link (Solscan, BaseScan, BscScan, Etherscan). |
| Fee tier | Your current fee rate (0.25% standard or 0.2% with referral). Shows "custom" if you have an admin override. |
| Referral link | Your unique referral link to share with others. |
Menu Buttons
The home screen is a fixed 5-row keyboard. Top three rows group trading, automation, and wallet utilities; the fourth row covers account; the last row is a single Refresh button.
- Row 1 — Trading: Positions, Limit Orders, History
- Row 2 — Automation: Copy Trade, Call Channels, Bridge
- Row 3 — Wallet utilities: Swap Stables, Claim, Wallet(s)
- Row 4 — Account: Settings, Referral, Help
- Row 5: Refresh
To buy a token, paste its contract address into the chat or open Positions. There is no longer a dedicated Buy/Sell button on the home screen — trade entry is contract-paste or token-card driven.
The /balance Command
Send /balance to see SOL and token balances across all your wallets on every chain — Solana, Base, BSC, and Ethereum — in a single message.
Buying Tokens
Multiple ways to buy any Solana, Base, BSC, or Ethereum token.
Paste a Contract Address
The fastest way to buy: paste any Solana, Base, BSC, or Ethereum token contract address (CA) directly into the chat. Viper auto-detects the chain and shows a token info card with:
- Token name, symbol, and price
- Market cap and liquidity
- Quick-buy buttons with your preset amounts (SOL, ETH, or BNB)
Tap a preset button to execute instantly, or tap Custom to enter a specific amount.
Using the /buy Command
For direct execution: /buy <token_mint> <amount>
The chain is auto-detected from the contract address. Use SOL amounts for Solana tokens, ETH amounts for Base tokens, and BNB amounts for BSC tokens.
How It Works
- Viper deducts the platform fee from your SOL, ETH, or BNB amount.
- The remaining amount is swapped for the token — via Jupiter V2 (Solana), 0x Protocol (Base), 0x Protocol with PancakeSwap V2/V3 (BSC), or 0x Protocol with Uniswap V2/V3 + SushiSwap (Ethereum).
- The trade is recorded to your history for P&L tracking.
- You get a confirmation message with the amount received, price, and a Solscan (Solana), Basescan (Base), BscScan (BSC), or Etherscan (Ethereum) link.
Note: Solana swaps use Jupiter Swap V2 with auto slippage and auto priority fee. Base, BSC, and Ethereum swaps route through 0x Protocol with automatic gas and slippage handling.
Selling Tokens
Sell all or part of any position on Solana, Base, BSC, or Ethereum.
From Positions
The easiest way to sell: go to /positions, select the token, and tap a sell percentage button (25%, 100%, or custom).
Using the /sell Command
/sell <token_mint> <percentage>
Example: /sell EPjFWdd5... 100 (sells 100% of your holdings).
Auto-Cancel Limit Orders
When you sell a token, Viper automatically checks if you have active limit sell orders for that same token. If any orders exceed your remaining balance after the sell, they are automatically cancelled. The sell confirmation shows how many orders were cancelled.
Note: The platform fee is deducted from the SOL (Solana), ETH (Base), or BNB (BSC) you receive after the swap.
Positions
Track your holdings and unrealized P&L.
Use /positions to see all tokens you hold across Solana, Base, BSC, and Ethereum in one combined view. Each position shows:
- Token name, symbol, and amount
- Current USD value
- Average entry price and cost basis
- Unrealized P&L in native units (SOL, ETH, or BNB) and percentage
Transferred-in tokens: if you added a token via ➕ Add Token (or transferred it in from another wallet), the bot has no cost basis for the transferred balance. Until you make your first bot-executed buy, the position shows Avg Entry: N/A with zero P&L — there's no real entry price to compare against. Once you buy, Avg Entry and P&L start tracking from that real buy. Selling still drains the full on-chain balance (transferred-in plus bot-bought), and "Sell 100%" works as expected.
Actions Per Token
For each position, you can:
- Buy more — Quick-buy with preset amounts
- Sell — Choose a percentage (25%, 100%, custom)
- Limit Order — Create a limit buy or sell directly from the position
- Hide — Remove dust or spam tokens from your positions view (tokens remain on-chain)
Sorting
Toggle between sorting by USD value (highest first) or alphabetically by symbol.
Pending Limit Orders
If you have active limit sell orders, Viper shows them in your positions with a note so you know your full holdings including tokens reserved for pending orders.
Hidden Tokens
Tap the Hide button on any position to remove a token from your positions view without selling it. Hidden tokens are tracked per wallet and per chain.
To review or restore hidden tokens, enable Show hidden tokens in /settings → Display. With the toggle on, hidden positions reappear with a 🙈 prefix and an inline Unhide link that restores them in one tap.
Hiding a token is display-only — the token stays in your wallet and remains tradeable through token lookup. Manual hiding is separate from automatic dust hiding (see below).
Dust Tokens
Tokens worth less than roughly $0.10 are hidden from the positions view by default to keep the list focused on meaningful holdings. Dust tokens remain in your wallet and reappear automatically in /positions if their USD value rises back above the threshold.
To show dust in your positions list, enable Show dust positions in /settings → Display.
Token Lookup
Get instant info on any Solana, Base, BSC, or Ethereum token.
Paste any Solana, Base, BSC, or Ethereum contract address into the chat and Viper will auto-detect the chain and display a token info card with:
- Token name, symbol, and current price
- Market cap and fully diluted value
- 24h price change
- Liquidity (if available)
- Quick-buy buttons with your preset amounts
You can also use /price <token_mint> for a price-only lookup without buy buttons.
Trade History
Lifetime P&L and closed trade log.
Use /history to see your realized trading performance across all chains. The history view shows:
- Lifetime P&L — Total realized profit/loss broken out per chain (SOL, ETH, and BNB)
- Win/Loss stats — Number of winning and losing trades, with win rate percentage
- Last 10 closed trades — Combined from all chains, sorted by date, with token, cost, proceeds, and P&L for each
When Is a Position "Closed"?
A position is considered closed when you sell all (or more than 95%) of your peak holdings for that token. This triggers a realized P&L calculation based on your total cost basis vs total proceeds.
Wallet Toggle
By default, history shows only trades from your active wallet. Tap Show All Wallets to see combined history across all your wallets.
Swap Stables
Convert between SOL/ETH/BNB and a stablecoin (USDC or USDT), or between USDC and USDT directly — with zero platform fees.
Use the Swap Stables button on the main menu to swap between your native token (SOL, ETH, or BNB) and a stablecoin (USDC or USDT), or between USDC and USDT directly. This is useful for parking profits in a stablecoin or rotating between stablecoins.
How It Works
- Select a chain — Choose Solana, Base, BSC, or Ethereum.
- See your balances — Viper shows your current SOL/ETH/BNB, USDC, and USDT balances.
- Pick a direction — native ↔ USDC, native ↔ USDT, or USDC ↔ USDT.
- Choose an amount — Use a percentage button (25%, 50%, 75%, 100%) or enter a custom amount.
- Confirm — Tap Swap and the trade executes instantly.
Routing
Swap routing by chain
| Chain | Route |
| Solana | Jupiter Swap V2 (SOL ↔ USDC, SOL ↔ USDT, USDC ↔ USDT) |
| Base | 0x Protocol (ETH ↔ USDC, ETH ↔ USDT, USDC ↔ USDT) |
| BSC | 0x Protocol (BNB ↔ USDC, BNB ↔ USDT, USDC ↔ USDT) |
| Ethereum | 0x Protocol (ETH ↔ USDC, ETH ↔ USDT, USDC ↔ USDT) |
Gas Reserve
When swapping 100% of a native token (SOL, ETH, or BNB), Viper automatically holds back a small amount for gas fees:
Solana: a fixed 0.01 SOL is reserved for transaction fees and account rent.
Base, BSC & Ethereum: the reserve is dynamic. It tracks the current network gas price — roughly 3× the estimated cost of one swap — so a sudden fee spike can't leave your wallet unable to cover gas, and it's capped so it never holds back more than needed. It never falls below a floor of 0.0025 ETH on Base, 0.001 BNB on BSC, or 0.0025 ETH on Ethereum; when gas is cheap you'll see close to the floor, and when gas is high the reserve rises automatically.
When swapping a stablecoin (USDC or USDT), the full amount is used since gas is paid in the native token.
Stablecoin Balances on Home Screen
Your USDC and USDT balances are displayed on the home screen alongside your SOL/ETH/BNB balance whenever each is at least $0.10.
No fees: Stablecoin swaps are completely free — no platform fee is charged on any direction (native↔USDC, native↔USDT, or USDC↔USDT) on any chain. Stablecoin swaps also do not count toward your daily P&L and are not shown in your trade history.
Bridge
Move funds across chains via LI.FI — between Solana, Base, BSC, Ethereum, and other supported EVM chains.
Use the 🌉 Bridge button on the main menu, or send /bridge, to start a guided cross-chain transfer. Bridges are routed through LI.FI, an aggregator that finds the best route across underlying bridges and DEX paths.
Supported Routes
- Source chains: Solana, Base, BSC, Ethereum (your bot wallet sends the funds).
- Destination chains: Solana, Base, BSC, Ethereum, Arbitrum, Optimism, Polygon, Avalanche, zkSync Era, Scroll, Linea, Blast. Coverage tracks LI.FI's supported routes for the selected source chain — the list expands as LI.FI adds chains.
- Tokens: Native (SOL / ETH / BNB), USDC, or USDT on either side.
How It Works
- Pick the source chain — the chain you're sending FROM.
- Pick the source token — native, USDC, or USDT.
- Enter an amount — preset percentages (25 / 50 / 75 / Max) or a custom value.
- Pick the destination chain — pagination supports 12 destinations.
- Pick the destination token — native, USDC, or USDT.
- Pick the destination address — your bot wallet on the destination chain (default, when available), or paste a custom address.
- Review the quote — expected receive amount, minimum receive, slippage, ETA, and bot fee.
- Confirm — the bot broadcasts on the source chain, then polls LI.FI for status updates.
Tracking In-Flight Bridges
Send /bridges to see your in-flight and recent transfers. Tap any row for a detail view including the source tx, destination tx (once known), bridge tool used, received amount, and any error details.
Quote Freshness
LI.FI quotes are time-sensitive. If the cached quote is older than ~30 seconds at confirm-time, Viper automatically refetches a fresh quote before broadcasting. If the new quote's toAmount has dropped by more than 2% compared to the cached value, the confirm is aborted and you'll see a "Quote moved — review and confirm again" message so you can re-confirm at the new rate.
Minimums
LI.FI's underlying bridge providers refuse very small transfers — typically anything under about $5 USD. Viper shows a soft advisory on the destination-chain screen when the picked amount falls below this threshold, and if a quote does come back with the empty "None of the available routes" error, the bot translates it to Amount is below the minimum bridge size for this route. at confirm time so you know exactly why the route failed.
Safety
- Diamond allowlist (EVM): LI.FI quotes are only signed if the destination contract matches the canonical LI.FI Diamond address for the source chain.
- Validate-before-sign: chain ID, from address, value, and approval address are checked before any signature.
- Address validation: destination address format is enforced per chain — Solana base58 for Solana, hex for EVM. Pasting a Solana address for an EVM destination (or vice versa) is rejected.
- Idempotency: double-tapping Confirm toasts "Already submitting" and the second tap is ignored.
- Edit-while-submitting: once a bridge is in flight, you can't edit upstream parameters or cancel the builder — the on-chain transaction has already been dispatched.
Bot fee: Bridges use the same per-user trading fee as swaps. Quotes show the bot fee in USD alongside the LI.FI route.
Limit Orders
Automated price-triggered buy and sell orders.
Limit orders let you set a price target and have Viper execute the trade automatically when that price is reached — 24/7, even when you're offline.
Creating an Order
Use /limit or tap Orders from the main menu. Then:
- Select Buy or Sell.
- Enter the token contract address.
- Set the amount (SOL for Solana buys, ETH for Base/Ethereum buys, BNB for BSC buys, tokens or percentage for sells).
- Set the trigger price in USD.
- Choose an expiry (24h, 72h, 1 week, or 30 days).
- Confirm the order.
How Orders Execute
Viper continuously polls prices on all chains. When your trigger price is hit, the swap executes automatically:
- Solana — Prices polled via Jupiter, execution via Jupiter Swap V2.
- Base — Prices polled via Uniswap V3/V4 Quoter, execution via 0x Protocol.
- BSC — Prices polled via PancakeSwap V2/V3, execution via 0x Protocol.
- Ethereum — Prices polled via Uniswap V2/V3 + SushiSwap, execution via 0x Protocol.
Funds stay in your wallet until the order triggers — no escrow or lockup.
Limit order parameters
| Parameter | Options |
| Direction | Buy or Sell |
| Trigger price | USD price target |
| Expiry | 24h, 72h, 168h (1 week), 720h (30 days) |
| Slippage | Custom or your global setting |
| Minimum order | $5 USD equivalent |
Editing Orders
You can edit an active order's trigger price, amount, or expiry without cancelling and recreating it. Go to /limit and tap the order to see edit options.
Stop Loss
When creating a sell limit order, you can tap the Stop Loss button to set up downside protection — choose Fixed or Trailing type and configure how much to sell (50%, 100%, or custom %). See Stop Loss for details.
Cancelling Orders
Cancel individual orders from the order list, or cancel all orders at once.
Stop Loss
Protect your positions with automatic downside selling.
Stop Loss creates a limit sell order that triggers automatically when a token's price drops to your floor — either a fixed price target or a trailing percentage from the highest price seen.
Stop Loss Types
Stop loss types
| Type | How It Works |
| Fixed | Triggers when the price drops to a specific USD price you set. The trigger price never changes. |
| Trailing | The trigger price automatically rises as the token's price rises. If you set 20%, the order triggers when the price falls 20% from its highest point since the order was created. |
Setting a Stop Loss
From /positions, select a token and tap 📉 Limit Order, then:
- Switch to Sell direction.
- Tap the Stop Loss button. Choose Fixed or Trailing.
- Fixed: Set a trigger price below the current price — this is your floor.
Trailing: Set the trailing percentage (e.g., 20% = sell when price drops 20% from its high).
- Choose how much to sell: 50%, 100%, or a custom percentage.
- Choose an expiry period (24h, 72h, 1 week, or 30 days).
- Tap CREATE ORDER.
How Fixed Stop Loss Works
- When the token's price drops to or below your stop loss price, Viper executes the sell automatically.
- If the current price is already at or below your stop loss price, you'll get a warning. Enter the same price again to confirm.
- Stop loss prices must be below the current price — entering a price above current is rejected.
How Trailing Stop Loss Works
- Viper tracks the highest price seen since the order was created (high water mark).
- The trigger price is always high water mark × (1 − trailing %). As the price rises, the trigger rises with it — but it never moves down.
- When the price drops to the trigger level, Viper executes the sell.
Example: You set a 20% trailing stop on a token at $1.00. The trigger starts at $0.80. The price rises to $1.50 — the trigger rises to $1.20. The price then falls to $1.20 and the stop loss executes, locking in a $0.20 gain per token.
Stop loss parameters
| Parameter | Options |
| Type | Fixed (price floor) or Trailing (% from high) |
| Sell amount | 50%, 100%, or custom % |
| Trigger direction | Price drops to target |
| Expiry | Same options as limit orders (24h–30d) |
| Slippage | Custom or your global setting |
Tip: Combine stop loss with take profit for a complete exit strategy — take profit captures upside while stop loss protects downside. Use trailing stop loss to let winners run while still protecting profits.
Take Profit
Lock in gains on every trade.
Take Profit (TP) is available on every buy path. Copy trades and call channel auto-buys create TP orders automatically. For manual buys, set a limit sell order from the position card. Viper monitors prices 24/7 and sells when your target is hit.
How It Works
- Auto buys (copy trades & call channels): After the buy executes, Viper waits 2 seconds for on-chain state to settle, then creates a limit sell order at your configured TP target.
- Manual buys: Open the position card and tap Limit Sell to set a take-profit price target.
- When the token reaches the target, the sell executes automatically.
Configuration
Copy trade configuration
| Setting | Options |
| PNL Target | 50%, 100%, 200%, 300%, 500%, or custom percentage |
| Sell Amount | 25%, 50%, 75%, 100% of holdings, or Initials |
"Initials" Mode
Instead of selling a fixed percentage, Initials mode sells just enough tokens to recover your initial SOL investment. The rest rides as pure profit.
Example: You buy 0.5 SOL worth of a token. With Initials mode at 100% TP, when the token 2x's, Viper sells exactly 0.5 SOL worth (recovering your initial) and keeps the remaining tokens.
Copy Trading — Setup
Mirror any wallet's trades automatically.
Copy trading monitors a target wallet in real-time via WebSocket. When the target buys or sells a token, Viper automatically mirrors the trade for you. Copy trading works on Solana, Base, BSC, and Ethereum.
Adding a Copy Trade
Use /copy or tap Copy Trade from the main menu, then Add.
- Choose the chain: Solana, Base, BSC, or Ethereum.
- Enter the target wallet address you want to copy.
- Choose a sizing mode: Percentage (mirror a % of their trade size) or Fixed (use a fixed SOL/ETH amount per trade).
- For percentage mode, set min and max limits to control your exposure.
- Optionally add a label (e.g., "Smart Money Wallet").
Sizing Modes
Copy trade sizing modes
| Mode | How It Works |
| Percentage | If the target buys 10 SOL and you set 50%, Viper buys 5 SOL (clamped by your min/max). Same logic applies on Base with ETH and BSC with BNB. |
| Fixed Amount | Viper always buys with your fixed SOL/ETH/BNB amount regardless of the target's trade size. |
Copy Trading — Managing
Pause, edit, or remove copy trades.
From the /copy menu, you can manage all your active copy trades:
- Pause/Resume — Temporarily stop copying without removing the configuration.
- Toggle sell copying — Choose whether to also mirror sell transactions, or only copy buys.
- Edit sizing — Change percentage, fixed amount, or min/max limits.
- Edit label — Rename for organization.
- Stop Loss settings — Enable automatic stop loss on every copied buy (see below).
- Remove — Delete the copy trade entirely.
Stop Loss on Copy Trades
Each copy trade supports an optional stop loss that runs on every position the copy opens for you. Two trigger types are available:
- Fixed — sell when the token price falls a set percentage below the copy's entry price.
- Trailing — sell when the price falls a set percentage from the highest price seen since entry (the trigger auto-raises with rallies).
The sell percentage is configurable (50%, 100%, or custom). Stop loss composes with take profit on the same copy — whichever triggers first wins. On partial sells, the remaining position continues to track the same trigger.
Latency: Copy trades execute as soon as the target wallet's transaction is detected on-chain.
Call Channels — Setup
Auto-buy tokens when they're called in Telegram channels.
Call Channels let you subscribe to Telegram alpha channels. When a new contract address is posted (Solana, Base, BSC, or Ethereum), Viper auto-buys with your configured amount.
Adding a Channel
Use /calls or tap Call Channels from the main menu, then Add Channel.
- Choose which chain(s) to auto-buy on — Solana, Base, BSC, Ethereum, or any combination (auto-selected if you only have one wallet).
- Enter the channel's
@handle (e.g., @alpha_calls).
- Set the buy amount per call (SOL for Solana, ETH for Base/Ethereum, BNB for BSC).
- Optionally enable Take Profit (see Take Profit).
- Optionally enable Stop Loss — choose Fixed (% below buy price) or Trailing (% from high), set the percentage, and how much to sell when triggered.
Deduplication
Viper prevents duplicate buys with smart dedup:
Call channel deduplication rules
| Scenario | Behavior |
| Same CA posted twice in one channel | Only buys on the first occurrence |
| Same CA posted in two different channels | Only buys from the first channel to post it |
| CA was posted before you subscribed | Does not buy — already in dedup table |
History Seeding
When you add a channel, Viper scans the past 180 days of messages (configurable) and records all CAs it finds. This prevents the bot from buying old calls when you first subscribe.
Stop Loss on Call Channels
Each call channel you track can run a stop loss on every auto-bought position, configured per channel. The two trigger types mirror copy trading:
- Fixed — sell on a percentage drop below entry.
- Trailing — sell on a percentage drop from the highest price seen since entry.
The sell percentage is configurable (50%, 100%, or custom). Stop loss composes with take profit on the same channel — whichever fires first executes.
Call Channels — Take Profit
Automatically set sell targets for call channel buys.
Each call channel subscription can have its own Take Profit (TP) configuration. When enabled, Viper automatically creates a limit sell order after every auto-buy.
Enabling TP
Enable during channel setup or go to /calls → select a channel → TP toggle.
Settings
- PNL Target — Presets: 50%, 100%, 200%, 300%, 500%, or enter a custom percentage.
- Sell Amount — How much to sell: 25%, 50%, 75%, 100%, or Initials (recover initial investment only).
See Take Profit for full details on how TP orders work.
Call Channels — Managing
Pause, delete, or edit channel subscriptions.
Pause vs Delete
Channel pause vs delete
| Action | Behavior |
| Pause | Stops buying but keeps dedup records. When unpaused, only new CAs trigger buys. |
| Delete | Removes the channel and deletes all dedup records. If re-added later, previously called tokens can trigger buys again. |
Create & Import Wallets
Generate new wallets or import existing ones.
Create a New Wallet
Tap New Wallet from the wallet menu. Choose Solana, Base, BSC, or Ethereum — a new keypair is generated and encrypted immediately. The public address is displayed for funding. When creating or importing a Base wallet, BSC and Ethereum wallets are automatically created as companions using the same private key.
Import an Existing Wallet
Use /import in a direct message to the bot (not in a group).
- Solana — Paste your base-58 encoded private key.
- Base — Paste your hex private key. BSC and Ethereum wallets are automatically created using the same key.
- The message containing your private key is deleted immediately for security.
- The key is encrypted with your unique encryption key (derived from your Telegram ID + the bot's master secret).
- The imported wallet becomes your active wallet automatically.
Security: Private keys are Fernet-encrypted (AES-128-CBC + HMAC-SHA256) using a per-user key derived via PBKDF2. They are never stored in plaintext.
Switch & Manage Wallets
Manage multiple wallets from one account.
Use /wallet to open the wallet manager. Wallets are organized by chain. You can:
- View all wallets — See each wallet's public key and balance (SOL, ETH, or BNB).
- Switch active wallet — Tap any wallet to make it active for that chain. Each chain has its own active wallet.
- Rename wallets — Add labels for easy identification.
The /listwallets Command
Send /listwallets to see all your wallets at a glance — each wallet's public address and native balance (SOL, ETH, or BNB) with the active wallet highlighted.
Withdraw
Send SOL, ETH, BNB, or tokens to any external address.
From the wallet menu, tap Withdraw to transfer funds out of your bot wallet.
- Select what to withdraw: SOL/ETH/BNB or a specific token.
- Choose an amount: 25%, 50%, 75%, 100%, or enter a custom amount.
- Enter the destination wallet address.
- Confirm the transaction.
After confirmation, you'll receive a Solscan (Solana), Basescan (Base), BscScan (BSC), or Etherscan (Ethereum) link to track the transfer.
Export Private Key
Retrieve your wallet's private key securely.
Use /export in a direct message to the bot.
- If you have a PIN set, you'll need to enter it first.
- The private key message includes a 🗑 Delete now button for instant removal, and also auto-deletes after 15 seconds as a fallback.
- This exports the key for your currently active wallet.
Important: Set a PIN with
/setpin to protect against unauthorized exports. See
PIN Security.
Claim SOL
Reclaim rent from empty token accounts.
Every token you hold on Solana requires a token account, which costs ~0.002 SOL in rent. When you sell 100% of a token, the account remains open with a zero balance.
Use the Claim SOL button in the wallet menu (or /claim) to close all empty token accounts and reclaim that rent.
Note: This feature is Solana-only — Base, BSC, and Ethereum do not use rent-based token accounts. Accounts with active limit sell orders are skipped to avoid disrupting your orders.
Slippage
Control price impact tolerance on swaps.
Slippage is the maximum acceptable price difference between the quoted price and the execution price. Use /settings to configure.
Slippage is set in basis points via /settings — 100 bps = 1%, 1000 bps = 10%. There are no pre-defined tiers; enter the value that matches your token's volatility.
On Solana
Slippage defaults to auto mode — Jupiter V2 picks a value per quote based on observed price impact. Switch to manual mode in /settings if you want a fixed value applied to every swap; the manual value is one number used for both buys and sells.
On Base, BSC & Ethereum
Each EVM chain stores one slippage value, applied to both buys and sells. Sells often need higher slippage than buys on low-liquidity tokens, so set the value with the riskier direction in mind. Configure via /settings → Base / BSC / Ethereum.
Stablecoin Swaps
Stablecoin swaps (native↔USDC/USDT and USDC↔USDT) use a separate slippage value, set once and applied on every chain. It defaults to 25 bps (0.25%). Configure via /settings → 🪙 Stablecoin Slippage.
Priority Fee
Control transaction priority on the Solana network.
Higher priority fees increase the likelihood of your transaction being included in the next block. Configure via /settings.
Priority fee tiers
| Tier | Fee |
| Auto | Jupiter-recommended (default) |
| Default | 0.00005 SOL |
| Fast | 0.0005 SOL |
| Turbo | 0.005 SOL |
| Custom | Any amount in SOL |
Note: Priority fees are Solana-only and default to auto mode — Jupiter V2 optimises them automatically. Switch to manual mode in /settings if you need a fixed tier. Base, BSC, and Ethereum gas is handled automatically by 0x Protocol.
Display
Control what appears on your positions page.
The Display sub-menu in /settings has two toggles that filter your /positions list. Both default to off — the same behaviour Viper has always had.
Show dust positions
When off (default): tokens worth less than ~$0.10 are hidden from the positions list.
When on: dust tokens appear alongside your meaningful holdings so you can review small balances before claiming rent, burning, or consolidating.
Show hidden tokens
When off (default): tokens you've hidden via the Hide button stay out of the positions list.
When on: hidden positions render with a 🙈 prefix and an inline Unhide link. Tap it to restore the token to your regular positions view.
Tip: Both toggles are per-user and apply to every chain. They affect display only — no tokens are ever moved, sold, or burned.
Buy & Sell Presets
Customize your quick-action buttons.
Buy Presets
When you look up a token (by pasting a CA), you see 4 quick-buy buttons with preset amounts. Each chain has separate presets:
Solana: 0.1 SOL · 0.5 SOL · 1.0 SOL · 2.0 SOL
Base: 0.001 ETH · 0.005 ETH · 0.01 ETH · 0.05 ETH
BSC: 0.1 BNB · 0.25 BNB · 0.5 BNB · 1.0 BNB
Ethereum: 0.05 ETH · 0.1 ETH · 0.25 ETH · 1.0 ETH
Customize these in /settings → Buy Options. Changes apply immediately to all buy cards.
Sell Presets
Your positions show 2 quick-sell percentage buttons. The defaults are:
25% · 100%
Customize per chain in /settings → Sell Options (same as buy presets).
PIN Security
Protect sensitive operations with a PIN.
Set a 4–6 digit PIN with /setpin. Once set, you'll need to enter it before:
- Exporting your private key (
/export)
- Withdrawing funds from your wallet
Your PIN is stored as a bcrypt hash (12 rounds) — it cannot be reversed. The messages you type your PIN into are automatically deleted for security.
You can change your PIN at any time by running /setpin again.
To remove your PIN entirely, tap the 🗑️ Remove PIN button in /settings. You'll need to enter your current PIN to confirm the removal.
MEV Protection
Protect your trades from sandwich attacks and front-running.
MEV (Maximal Extractable Value) protection shields your transactions from being exploited by bots that detect pending swaps and manipulate prices around them — commonly known as sandwich attacks and front-running.
Per-Chain Breakdown
Solana
Solana transactions are protected via two mechanisms:
- Jito private relay — Your transaction is routed through Jito's private mempool, keeping it invisible to sandwich bots until it reaches validators.
- Jupiter Beam — Jupiter's private transaction submission endpoint, which keeps your swap invisible to mempool scanners until it lands on-chain.
MEV protection on Solana is on by default and can be toggled via /settings → MEV Protection.
Ethereum
Ethereum transactions route through Flashbots Protect, a private RPC that sends your transaction directly to block builders — bypassing the public mempool entirely. MEV protection is on by default and can be toggled via /settings → Ethereum → MEV Protection.
Base / BSC
MEV protection is not currently available on Base or BSC. Transactions are submitted via standard RPCs. While sandwich attacks are less common on these chains due to shorter block times, they are not fully protected.
How to Toggle
Open /settings, select the chain (Solana or Ethereum), and tap MEV Protection to toggle between on and off. When off, transactions use standard RPCs instead of Jito's private relay / Jupiter Beam (Solana) or Flashbots Protect (Ethereum).
Recommendation: Keep MEV protection enabled on both Solana and Ethereum unless you are experiencing landing issues with specific tokens.
Referral Program
Trade cheaper — together.
Share your referral link and both you and your friend get a permanent fee discount.
How It Works
- Get your code — Open
/referral to see your unique referral link.
- Share it — Send the link to a friend. When they start the bot via your link, they're linked to you.
- Both save — Once linked, both users trade at 0.2% instead of the standard 0.25% — no time limit.
Referral fee structure
| Status | Fee per Trade |
| No referral | 0.25% |
| With referral (either direction) | 0.2% |
Entering a Code
If someone shared their referral link with you, just click it to open the bot. The referral is applied automatically on your first /start.
Fee Structure
Simple, transparent pricing.
Fee structure
| User Type | Fee per Trade |
| Standard user | 0.25% (25 bps) |
| Referred user | 0.2% (20 bps) |
Where Fees Apply
The platform fee is collected on every trade, regardless of how it was triggered:
- Manual buys and sells
- Limit order executions
- Copy trade executions
- Call channel auto-buys
- Trigger order fills
How Fees Are Collected
- Buys: The fee is deducted from your SOL (Solana), ETH (Base), or BNB (BSC) before the swap. If you buy with 1 SOL at 0.25%, the swap uses 0.9975 SOL.
- Sells: The fee is deducted from the SOL, ETH, or BNB you receive after the swap.
The same fee rate applies on Solana, Base, BSC, and Ethereum. There are no hidden fees, subscription costs, or withdrawal charges.
Fee-Free: Stablecoin Swaps
Stablecoin swaps are completely free. No platform fee is charged on any direction (native↔USDC, native↔USDT, or USDC↔USDT) on any chain. Stablecoin swaps also do not count toward your daily P&L and are not shown in your trade history. See Swap Stables for details.