Telegram new token launch scanner
Skill 0xgetz/xi-agent-skills/telegram-bots/telegram-new-token-launch-scanner
Build a Telegram bot to detect brand-new token deployments and contract creations, with on-chain/market data sourcing, risk/honeypot filtering, and Telegram alert delivery. Activate when the user wants to detect brand-new token deployments and contract creations and get alerts in Telegram.From its SKILL.md
npx -y skills add 0xgetz/xi-agent-skills --skill telegram-new-token-launch-scannerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.2 KB, 815 tokens by cl100k_base, as published. Nobody here has run it
Telegram Ethereum New Token Launch Scanner
Overview
Detects newly deployed token contracts on Ethereum, evaluates risk, and sends alerts.
Dependencies & Imports
from lib.gumloop_telegram import BotConfig, send_alert, build_alert, ScheduledBot, escape_md
import requests, os, json, time
Bot Config
config = BotConfig(bot_token=os.environ["TELEGRAM_BOT_TOKEN"], chat_id=os.environ["TELEGRAM_CHAT_ID"])
Core Detection
RPC = "https://eth.llamarpc.com"
EXPLORER = "https://etherscan.io"
def fetch_new_tokens():
url = f"https://api.dexscreener.com/token-pairs/v1/1"
pairs = requests.get(url, timeout=15).json()
cutoff = time.time() - 1800
fresh = []
for p in pairs:
created = p.get("pairCreatedAt", 0) / 1000
if created > cutoff and float(p.get("liquidity", {"usd": 0})["usd"]) > 500:
fresh.append(p)
return fresh
def quick_risk(token):
payload = {"jsonrpc": "2.0", "method": "eth_call",
"params": [{"to": token, "data": "0x70a082310000000000000000000000000000000000000000000000000000000000000001"}, "latest"], "id": 1}
try:
resp = requests.post(RPC, json=payload, timeout=10)
return resp.json().get("result") is not None
except:
return False
def run():
for t in fetch_new_tokens():
if not quick_risk(t["baseToken"]["address"]):
continue
msg = (
f"π *New Token:* {escape_md(t['baseToken']['symbol'])}\n"
f"π° ${t['priceUsd']}\n"
f"π§ Liq: ${float(t['liquidity']['usd']):,.0f}\n"
f"π [Explorer]({EXPLORER}/address/{t['baseToken']['address']})"
)
send_alert(config, msg)
Webhook Mode
from flask import Flask, request
app = Flask(__name__)
@app.route("/webhook/token-launch", methods=["POST"])
def webhook():
send_alert(config, f"π New token: {request.json.get('tokenAddress','')}")
return "ok", 200
Polling (ScheduledBot)
bot = ScheduledBot(config, interval=120)
@bot.on_poll
def scan():
run()
Docker
FROM python:3.11-slim
WORKDIR /app
RUN pip install lib-gumloop-telegram requests flask
COPY bot.py .
CMD ["python", "bot.py"]
docker build -t tg-eth-newtoken .
docker run -d -e TELEGRAM_BOT_TOKEN=x -e TELEGRAM_CHAT_ID=y tg-eth-newtoken
Production Deployment
| Platform | Instructions |
|---|---|
| Railway | railway init, set env vars, railway up |
| Fly.io | fly launch, fly secrets set TELEGRAM_BOT_TOKEN=... |
| Render | Connect GitHub, add env vars, select Worker |
Risk Filters
- Minimum liquidity: $500 USD
- Age filter: < 30 minutes
- Honeypot check via eth_call before alerting
- Holder count > 5 required
- Reject tokens with mint() or blacklist() signature
Disclaimer
High-risk. No profit guaranteed. Not financial advice.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.