Telegram arbitrum new token launch scanner
Skill 0xgetz/xi-agent-skills/telegram-bots/telegram-arbitrum-new-token-launch-scanner
Build a Telegram bot to detect new token deployments on Arbitrum, with on-chain/market data sourcing, risk/honeypot filtering, and Telegram alert delivery. Activate when the user wants to detect new token deployments on Arbitrum and get alerts in Telegram.From its SKILL.md
npx -y skills add 0xgetz/xi-agent-skills --skill telegram-arbitrum-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, 821 tokens by cl100k_base, as published. Nobody here has run it
Telegram Arbitrum New Token Launch Scanner
Overview
Detects newly deployed token contracts on Arbitrum, 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://arb1.arbitrum.io/rpc"
EXPLORER = "https://arbiscan.io"
def fetch_new_tokens():
url = f"https://api.dexscreener.com/token-pairs/v1/42161"
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-arb-newtoken .
docker run -d -e TELEGRAM_BOT_TOKEN=x -e TELEGRAM_CHAT_ID=y tg-arb-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.
Gives 0 of the 12 instructions most product growth skills give in 821 tokens
Counted across 728 of the 1,010 authors here whose files we hold, read 2026-08-07
- Read product marketing context before asking questionsin 24 of 728, across 18 files
- Define the ideal customer profilein 21 of 728, across 3 files
- Document a rollback plan before deploymentin 21 of 728, across 12 files
- Analyze the codebase to understand the productin 19 of 728, across 1 file
- Ask clarifying questions about the value propositionin 19 of 728, across 1 file
- Search for companies matching the criteriain 19 of 728, across 1 file
- Look for signals of immediate needin 19 of 728, across 1 file
- Assign a fit score from one to tenin 19 of 728, across 1 file
- Identify the target decision-maker rolein 19 of 728, across 1 file
- Suggest a personalized contact strategyin 19 of 728, across 1 file
- Provide conversation starters for outreachin 19 of 728, across 1 file
- Format results in a scannable markdown templatein 19 of 728, across 1 file
Said here and by no other author read
- Detect new Arbitrum token deployments
- Filter tokens with liquidity below 500 USD
- Filter tokens older than 30 minutes
- Check for honeypots via eth_call
- Require token holder count above 5
- Reject tokens with mint or blacklist signatures
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.