Development of new token monitoring bot
On Ethereum 200-500 new ERC-20 tokens are created daily. Most are scams or junk. But among them several times a week tokens appear with real community and liquidity, showing 5-20x in first hours after listing. The problem is by the time info appears on CoinGecko or Telegram channels, first buyers already took profits. Monitoring needs to happen at blockchain level, not news aggregators.
What exactly we monitor and how
PairCreated event as entry point
For Uniswap V2 and all its forks (SushiSwap, PancakeSwap, BaseSwap) the signal of new trading pool creation — is event PairCreated(address token0, address token1, address pair, uint) from Factory contract.
Subscribe through WebSocket:
const filter = {
address: UNISWAP_V2_FACTORY,
topics: [ethers.id("PairCreated(address,address,address,uint256)")]
};
provider.on(filter, (log) => {
const [token0, token1, pair] = decodeEvent(log);
analyzeNewPair(token0, token1, pair);
});
For Uniswap V3 — PoolCreated(address token0, address token1, uint24 fee, int24 tickSpacing, address pool) from V3 Factory. Important difference: in V3 the same token can have multiple pools with different fee tiers (0.01%, 0.05%, 0.3%, 1%). Liquidity must be summed across all pools.
Scam filtering: on-chain checks checklist
Getting new token address, in 100-200ms you must perform series of checks:
Honeypot detection. Simulate sell transaction through eth_call with impersonation: take large holder address, call approve + transfer. If simulation reverts — token unsellable (honeypot). If transfer fee > 10% — red flag too.
Ownership check. Read owner(). If owner not renounced (not address(0)) — owner can call mint() or change tax. Renounced ownership doesn't guarantee safety, but non-renounced is explicit risk.
Liquidity lock. Check if LP tokens locked through Unicrypt or Team.Finance. Unlocked liquidity — rug pull vector: creator can withdraw all ETH/BNB from pool anytime.
Contract source. If contract not verified on Etherscan — additional risk. For verified check for mint, pause, blacklist functions.
| Check | Red flag | How to check |
|---|---|---|
| Sell simulation | Revert | eth_call simulation |
| Buy/sell tax | > 10% | Swap simulation |
| Ownership | Not renounced | owner() |
| LP lock | Not locked | Unicrypt API |
| Source code | Not verified | Etherscan API |
| Max wallet | < 1% supply | maxWalletAmount() |
Liquidity and distribution analysis
After basic filtering — assess real potential:
Initial liquidity. Initial liquidity in ETH/BNB — indicator of project seriousness. < 0.5 ETH — likely junk. 5-50 ETH — interesting range for early entry. > 50 ETH — serious project or well-organized scam.
Holder distribution. Through ERC-20 Transfer events or Moralis API check top-10 holders. If 40%+ supply in 1-2 wallets — high dump risk.
Creation transaction. Analyze deployer token creation tx: how much ETH spent, were there previous tokens from this deployer and how they ended.
Monitoring system architecture
Bot consists of several layers:
Event listener — WebSocket connection to node, subscription to PairCreated from all relevant Factory contracts. On event receipt places task in queue.
Analyzer — worker taking tasks from queue and performing all on-chain checks. In parallel makes several eth_calls, Etherscan API requests, swap simulation.
Scorer — aggregates check results into score from 0 to 100. Configurable weights for each criterion.
Notifier — sends alerts only for tokens with score above threshold. Telegram bot with formatted message: contract address, key metrics, direct links to Etherscan and Dexscreener.
For production use: WebSocket through dedicated Alchemy/QuickNode endpoint or own node. On public RPC with rate limiting you'll miss 30-50% of events under high load.
Multichain expansion
Same architectural pattern works on all EVM-compatible chains: Ethereum, BSC, Base, Arbitrum, Polygon, Avalanche. Just need to parameterize Factory addresses and RPC endpoint. On BSC PancakeSwap Factory — most active, 500-2000 new pairs daily.
For Solana monitoring is more complex: Raydium creates pools through initialize2 instruction parsed from Solana logs. Pump.fun added separate pattern — graduation mechanism at $69k market cap, monitorable through Program logs.
Timeline estimates
Basic bot for one DEX with Telegram notifications — 3-5 days. Multichain with extended analysis and honeypot detection — 1-2 weeks. Cost calculated individually.







