How Meme Coin Bots Drain Buyers: Mirror-Sell & Fake Staking Exposed
## How Meme Coin Bots Drain Buyers: A Technical Breakdown > **If you lost money in a BSC meme coin — it probably wasn't bad luck. It was automation.**

How Meme Coin Bots Drain Buyers: A Technical Breakdown
If you lost money in a BSC meme coin — it probably wasn't bad luck. It was automation.
Most retail investors assume meme coin price drops are caused by market sentiment or whale dumps. The reality is more systematic: a three-layer bot infrastructure running 24/7 on private servers, designed to extract value from every single buy transaction while shielding insiders from their own exit.
This article documents the exact mechanics based on real bot code observed on BSC meme coin projects.
Layer 1: The Mirror-Sell Bot (bot.js)
The core mechanism is deceptively simple.
The bot listens to a custom smart contract event called BuyOrSell emitted on every trade. The moment any retail wallet sends a buy transaction, the bot instantly fires a sell transaction from one of the project's internal wallets.
Event: BuyOrSell(user, value, symbol)
→ symbol == 1 (BUY detected)
→ Bot immediately calls: swapTokenForFund_auto(bot_wallet, amount)
What this means for you:
- You buy 100 USDT worth of tokens
- In the same block (or next block), the project sells 100 USDT worth
- Your buy pressure is immediately cancelled
- The price never rises — but you paid market price
- The project pockets your USDT
The bot rotates through multiple wallets (sell_wallets array) to avoid detection. Each wallet sells once, then the index resets — spreading the extraction across dozens of addresses that don't look connected on-chain.
Notably, the matching buy-side logic — a "mirror-buy" that would prop the price back up after a real sell — exists in the same codebase but is commented out and inactive. The manipulation runs one direction only: suppress every real buy, never artificially support a sell. That asymmetry is the point — it caps retail's upside without lifting a finger to slow the price being walked down.
Gas Strategy
The bot doesn't just sell — it sells first. The code explicitly sets gas price at 120% of network price:
cachedGasPrice = networkGas.mul(120).div(100)
This ensures the bot's sell transaction gets mined before or simultaneously with your buy, guaranteeing the project extracts value on every single trade.
Layer 2: The Rugpull-Aware Variant (bot-out-lp.js)
A more sophisticated version adds protection for the insiders themselves.
The problem with a naive mirror-sell bot: when the project finally pulls liquidity (the "rugpull"), the bot would still try to sell — into an empty pool, losing the project's own funds.
The solution is elegant from the attacker's perspective:
// Listen for Liquidity Removal (Burn events on the LP pool)
poolContract.on("Burn", (sender, amount0, amount1, to, event) => {
burnTxSet.add(event.transactionHash.toLowerCase())
// Auto-clean after 15 seconds
setTimeout(() => burnTxSet.delete(txHash), 15000)
});
// Before each sell, check if this tx is a liquidity removal
if (burnTxSet.has(txHash)) {
console.log('Liquidity removal detected — SKIPPING sell');
return;
}
Translation: The bot monitors the LP pool for Burn events (which signal liquidity being removed). If a buy transaction happens in the same transaction as a liquidity removal — the bot skips the sell. The insiders exit cleanly. Everyone else is left with worthless tokens.
Layer 3: Fake TVL via Staking Bot (caishen-stake-bot)
The third component inflates the project's apparent legitimacy.
A separate bot monitors LP token transfers into the staking contract. When real users stake their LP tokens (locking their money), the bot records this and calls stake() from project wallets to inflate the TVL (Total Value Locked) figures displayed on DeFi dashboards.
// When LP tokens arrive at the staking contract
if (to.toLowerCase() == tokenAddress.toLowerCase()) {
waitSellSubject.next({from, value, event})
}
// → Triggers artificial stake() calls to inflate TVL
This inflated TVL:
- Makes the project appear legitimate on DeFi Llama, DexScreener
- Attracts more retail investors
- Creates a false sense of "people are committing to this project"
A Separate, More Direct Threat: The Private-Key Drain Script
The three layers above all operate through the token contract — they manipulate price and TVL, but none of them can touch your wallet directly. Operations like this typically run a second, unrelated tool that does: an automated batch-collection script that sweeps USDT and BNB out of any wallet it holds a private key for.
// Excerpt of the logic — sweeps USDT from a list of wallets to one address
const CONFIG = {
usdtAddress: "0x55d398...", // USDT on BSC
toAddress: "0x...", // collection address
privateKeys: [ /* harvested keys */ ],
reserveAmount: "0.5", // leaves a sliver behind, sweeps the rest
};
// For each wallet: check the USDT balance, keep a small gas reserve, transfer() the rest
The critical distinction: this script needs your private key or seed phrase — not a token approval. No legitimate wallet connection (MetaMask, Phantom, WalletConnect, a signature popup) ever asks for your seed phrase. If a "verify your wallet," "claim your airdrop," or "support" flow ever asks you to type it in, that's the harvesting step feeding a script exactly like this one. Once your key is in their hands, sweeping every token and the gas-reserve BNB out of your wallet takes seconds — no approval popup, no signature, nothing for a block explorer to flag in advance.
If you only ever clicked "Connect Wallet" and signed what your wallet displayed, this particular script can't touch you. If you ever typed your seed phrase or private key into a website, assume it was harvested and move any remaining funds to a fresh wallet immediately.
The Complete Attack Flow
1. Project launches token with custom BuyOrSell event in contract
2. Bot server starts listening on BSC node
3. Retail buyer sends 100 USDT → Bot immediately sells equivalent
4. Buyer's price impact is neutralized, project pockets USDT
5. Staking bot inflates TVL to attract more buyers
6. LP Burn monitor protects insiders from their own exit
7. When ready: project removes all liquidity, token price → $0
8. Retail holders: unable to sell (no liquidity), stuck with worthless tokens
How to Protect Yourself
Before buying any BSC meme coin:
-
Check for custom events — Use BSCScan to look at the token contract. If there's a
BuyOrSellor similar custom event that isn't standard ERC-20, treat it as a red flag. -
Analyze the deployer wallet — Use tools like Breadcrumbs or Nansen to see if the deployer has launched multiple tokens that ended in rugpulls.
-
Check LP lock status — If LP tokens aren't locked via a third-party service (like Unicrypt or Team.Finance), there's nothing stopping an instant rugpull.
-
Look for bot activity on DexScreener — If you see very regular, small sell transactions happening milliseconds after every buy, that's a mirror-sell bot.
-
Use MEV-aware tools — AI-driven execution tools like FRB Agent can analyze mempool patterns and identify bot-heavy tokens before you commit capital.
-
Never type your seed phrase or private key into a website — not to "verify" a wallet, claim an airdrop, or get support. Every legitimate wallet interaction happens inside your wallet extension or app, never on a page asking you to paste in 12 or 24 words.
Conclusion
The meme coin ecosystem on BSC is not a fair market. It is an automated extraction machine with three layers of precision tooling:
- Mirror-sell bots that neutralize every retail buy
- LP-aware protection that shields insiders from their own exit
- Fake staking TVL that attracts new victims
- A separate private-key drain script for anyone tricked into typing in their seed phrase
If you were hurt by a project like this, your loss wasn't random. It was the predictable outcome of a designed system. The good news: understanding the mechanics is the first step toward protecting yourself.
FRB Agent uses AI-powered mempool analysis to detect bot-heavy tokens and protect your trades. Start your free trial →
Step after reading
Launch FRB dashboard
Connect your wallet, pair the node client with a 6-character PIN, and assign the contract mentioned above.
Need the installer?
Download & verify FRB
Grab the latest installer, compare SHA‑256 to Releases, then follow the Safe start checklist.
Check Releases & SHA‑256Related Articles
Further reading & tools
Discussion
No notes yet. Add the first observation, or share the link with your team on X (@MCFRB).