pumpfun-claims-bot
PumpFun Claims Bot
대화형 모니터링을 찾고 계신가요? telegram-bot은 워치 관리, 그룹 채팅, REST API, SSE 스트리밍, 웹훅을 지원합니다. 이 채널 봇은 단순한 브로드캐스트 전용 채널에 사용하세요.
기능
피드 유형
피드 | 설명 | 토글 |
GitHub 소셜 수수료 클레임 | GitHub 개발자가 PumpFun 소셜 수수료 PDA 보상을 클레임 |
|
토큰 상장 | 본딩 커브에서 PumpAMM으로 상장하는 토큰 |
|
클레임 인텔리전스
모든 GitHub 소셜 수수료 클레임 카드에는 다음이 포함됩니다:
기능 | 설명 |
🟢 신뢰도 점수 | 모든 신뢰 신호를 종합한 결정적 0-100 판정(강함/보통/주의/고위험)과 투명한 ±요인 분석 |
📊 개발자 이력 | 개발자별 지속 평판 — 반복 개발자의 이전 토큰과 평균 신뢰도를 기록하여, 새 코인이 깨끗해 보이는 연쇄 수수료 파밍러도 한눈에 드러남 |
🚨 첫 클레임 알림 | GitHub 사용자가 처음으로 클레임할 때 |
⚠️ 가짜 클레임 감지 |
|
📊 클레임 카운터 | 재시작 후에도 지속적으로 추적되는 순차 클레임 번호 |
💹 평생 SOL | PDA에서 지금까지 클레임한 총 SOL |
👤 GitHub 프로필 | 사용자 이름, 소개, 저장소, 팔로워, 계정 연령, 위치, 블로그 |
𝕏 소셜 링크 | 팔로워 수가 포함된 Twitter/X 프로필(GitHub 프로필에서) |
🏅 인플루언서 배지 | 팔로워가 많은 GitHub/X 계정에 대한 등급 기반 배지 |
📈 토큰 인텔 | 상장/본딩 커브 상태, 커브 진행률 %, 생성 경과 시간, 답글 수 |
🔗 토큰 소셜 | 토큰 메타데이터의 Twitter, Telegram, 웹사이트 링크 |
🏷️ 토큰 플래그 | NSFW, 금지, 캐시백 상태 표시 |
⚠️ 신뢰 신호 | 새 GitHub 계정(< 30일), 저장소 0개, 가짜 클레임에 대한 경고 |
🔗 거래 링크 | 제휴 코드가 포함된 Axiom, GMGN, Padre 링크 |
️ 토큰 이미지 | 사진 카드로 표시되는 토큰 이미지 또는 GitHub 아바타 |
상장 카드
풍부한 상장 카드에는 생성자 프로필, 상위 보유자 분석, 24시간 거래량, 개발자 지갑 활동, 풀 유동성, 번들 감지가 포함됩니다.
인플루언서 등급 시스템
GitHub 및 X/Twitter 팔로워 데이터를 결합하여 클레임 사용자를 분류합니다:
등급 | 배지 | X 팔로워 | GitHub 팔로워 |
메가 | 🔥🔥 MEGA INFLUENCER | ≥ 100K | ≥ 10K |
인플루언서 | 🔥 Influencer | ≥ 10K | ≥ 1K |
주목할 만함 | ⭐ Notable | ≥ 1K | ≥ 100 |
두 기준 중 하나만 충족해도 등급이 부여됩니다 — X 팔로워 50K, GitHub 팔로워 50명인 사용자도 인플루언서로 분류됩니다.
신뢰도 점수 및 개발자 이력
모든 클레임 카드는 봇이 이미 수집한 신뢰 신호와 클레임 개발자의 지속적인 이력을 종합한 결정적 0-100 신뢰도 판정으로 시작합니다.
점수는 결정적이고 투명합니다 — 동일한 입력은 항상 동일한 숫자를 생성하며, 모델 호출이 없고 모든 점수는 헤드라인 아래에 표시되는 명명된 요인에 귀속됩니다:
등급 | 배지 | 점수 |
강함 | 🟢 | 75-100 |
보통 | 🟡 | 55-74 |
주의 | 🟠 | 35-54 |
고위험 | 🔴 | 0-34 |
점수는 중립적인 50에서 시작하여 가중 요인에 따라 조정됩니다: 클레임 검증(+22, GitHub 소유자 불일치 시 -20), 계정 연령(5년 이상 +14에서 30일 미만 -18까지), 공개 저장소, 팔로워, 별표 표시된 비포크 저장소, 모방(-10/-16), 번들링, 보유자 집중도, 이전 러그, 금지.
개발자 이력은 일회성 점수를 기억으로 전환합니다. 모든 점수는 클레임한 GitHub 사용자 ID에 기록되고 저장되어, 다음에 그 개발자가 토큰을 출시하면 카드에 이력이 표시됩니다 — 새 코인이 깨끗해 보이는 연쇄 수수료 파밍러를 폭로하고, 실제 기록이 있는 빌더에게 신뢰를 부여합니다:
🟢 Credibility: 100/100 · Strong
↑ claim verified · GitHub 6y · 42 repos · repo 150★
📊 Dev track record: 3 prior tokens · avg 🔴 19/100 (High Risk)로직은 src/credibility.ts(순수 scoreCredibility)와 src/dev-reputation.ts(영구 저장소)에 있으며, 둘 다 테스트로 완전히 커버됩니다.
AI 기반 클레임 요약
첫 클레임에는 Groq(llama-3.3-70b-versatile)이 생성한 한 줄 AI 요약이 제공됩니다:
토큰 메타데이터, GitHub 프로필, 생성자 이력, 거래 활동 등 30개 이상의 신호 분석
최대 120자 — 직접적이고, 의견이 있으며, 트레이더 중심
5초 타임아웃과 우아한 폴백(실패 시 빈 문자열)
Telegram에 안전한 HTML-샌itized 출력
예시:
"실제 GitHub 프로젝트, 개발자가 빠르게 클레임" · "인기 저장소의 포크, 주의 진행"
Related MCP server: NoesisAPI
아키텍처
Solana RPC (WebSocket + HTTP polling)
│
▼
┌───────────────────┐
│ SocialFeeIndex │──▶ Bootstraps ~148K SharingConfig → mint mappings
└────────┬──────────┘
│
┌────────▼──────────┐
│ ClaimMonitor │──▶ Decodes PumpFees program claim transactions
│ EventMonitor │──▶ Decodes Pump program logs (graduations)
└────────┬──────────┘
│ FeeClaimEvent / GraduationEvent
┌────────▼──────────┐
│ Enrichment Layer │
│ ├─ GitHub API │──▶ User profile, repos, followers
│ ├─ X/Twitter API │──▶ Follower counts, influencer tier
│ ├─ PumpFun API │──▶ Token info, creator profile, holders, trades
│ ├─ ClaimTracker │──▶ First-claim detection, persistent counts
│ └─ Fake Detect │──▶ Instruction called but no payout (amountLamports=0)
└────────┬──────────┘
│ ClaimFeedContext
┌────────▼──────────┐
│ Formatters │──▶ Rich HTML cards with sections & emoji layout
└────────┬──────────┘
│
┌────────▼──────────┐
│ grammY Bot │──▶ Posts photo + caption to Telegram channel
│ (retry + rate │ Falls back to text-only if photo fails
│ limiting) │
└───────────────────┘다중 RPC 장애 조치
RpcFallback 클래스는 자동 순환으로 여러 Solana RPC 엔드포인트를 관리합니다:
라운드로빈 순환 — 엔드포인트에서 3회 연속 실패 후
60초 쿨다운 — 실패한 엔드포인트마다 재시도 전
가장 빨리 만료되는 폴백 — 모든 엔드포인트가 쿨다운 중이면 가장 빨리 만료되는 것을 선택
성공 시 리셋 — 단일 성공 호출이 실패 카운터를 리셋
SOLANA_RPC_URLS(쉼표로 구분)로 구성
모니터링되는 프로그램
프로그램 | ID | 목적 |
PumpFees |
| 수수료 공유, 소셜 수수료 PDA 클레임 |
Pump |
| 본딩 커브(상장) |
PumpAMM |
| AMM(상장 풀 이벤트) |
설치
npm(MCP 서버 — AI 어시스턴트 권장)
npx로 MCP 서버를 즉시 실행하세요 — 클론 불필요:
npx pumpfun-claims-bot또는 전역 설치:
npm install -g pumpfun-claims-bot
pumpfun-claims-botMCP 클라이언트 구성(Claude Desktop, Cursor, VS Code Copilot)에 추가:
{
"mcpServers": {
"pumpfun": {
"command": "npx",
"args": ["pumpfun-claims-bot"]
}
}
}npm 패키지: pumpfun-claims-bot on npm
소스에서(전체 봇 + Telegram 피드)
git clone https://github.com/nirholas/pumpfun-claims-bot.git
cd pumpfun-claims-bot && npm install빠른 시작
1. Telegram 봇 생성
Telegram에서 @BotFather에게 메시지
/newbot→ 안내에 따라 진행 → 봇 토큰 복사공개 채널 생성(예:
@pumpfunclaims)봇을 채널의 관리자로 추가("메시지 게시" 권한 필요)
2. 환경 구성
cp .env.example .env# ── Required ──────────────────────────────────────────────
TELEGRAM_BOT_TOKEN=your-bot-token-from-botfather
CHANNEL_ID=@your_channel_name # or numeric chat ID like -100xxx
# ── Solana RPC ────────────────────────────────────────────
SOLANA_RPC_URL=https://mainnet.helius-rpc.com/?api-key=your-key
SOLANA_WS_URL=wss://mainnet.helius-rpc.com/?api-key=your-key
# Comma-separated fallback RPCs (rotates on 429/5xx/timeout)
SOLANA_RPC_URLS=https://mainnet.helius-rpc.com/?api-key=key1,https://your-other-rpc.com
# ── Feed Toggles (all default false except FEED_CLAIMS) ───
FEED_CLAIMS=true # GitHub social fee claims (default: true)
FEED_GRADUATIONS=false # Token graduations to PumpAMM (default: false)
FEED_LAUNCHES=false # New token launches (default: false)
FEED_WHALES=false # Large buy/sell whale alerts (default: false)
FEED_FEE_DISTRIBUTIONS=false # Creator fee distribution events (default: false)
# ── Claim Filter ──────────────────────────────────────────
REQUIRE_GITHUB=true # Only post claims with GitHub social fee PDA (default: true)
# ── Enrichment APIs ───────────────────────────────────────
GITHUB_TOKEN=ghp_your_token # Raises GitHub rate limit: 60 → 5000 req/hr
GROQ_API_KEY=gsk_your_key # Groq API for AI one-liner summaries
# X/Twitter follower counts & influencer detection
# Get cookies from x.com DevTools → Application → Cookies
# X_AUTH_TOKEN=your_auth_token_cookie
# X_CT0_TOKEN=your_ct0_cookie
# ── Affiliate Ref Codes ───────────────────────────────────
# Appended to Axiom / GMGN / Padre trading links in cards
# AXIOM_REF=your_ref
# GMGN_REF=your_ref
# PADRE_REF=your_ref
# ── Tuning ────────────────────────────────────────────────
POLL_INTERVAL_SECONDS=30 # HTTP polling fallback interval (default: 30)
WHALE_THRESHOLD_SOL=10 # Minimum SOL for whale alerts (default: 10)
LOG_LEVEL=info # debug | info | warn | error (default: info)
# ── Health Check ──────────────────────────────────────────
# PORT=3000 # Set automatically by Railway환경 변수 참조
변수 | 필수 | 기본값 | 설명 |
| ✅ | — | 봇 토큰 — @BotFather에게 메시지 → |
| ✅ | — | 게시할 채널 ( |
| ✅ |
| 기본 Solana HTTP RPC — Helius, QuickNode 또는 Alchemy에서 무료 티어 제공 |
| — |
| Solana WebSocket URL — |
| — | — | 쉼표로 구분된 대체 RPC URL — 429 / 5xx / 타임아웃 시 자동 순환 |
| — |
| GitHub 소셜 수수료 클레임 카드 게시 |
| — |
| 토큰 졸업 카드 게시 |
| — |
| 신규 토큰 출시 카드 게시 |
| — |
| 고래 매수/매도 알림 게시 |
| — |
| 크리에이터 수수료 분배 이벤트 게시 |
| — |
| GitHub 소셜 수수료 PDA가 없는 클레임 건너뛰기 |
| — | — | GitHub PAT — 여기서 생성 (스코프 불필요) — 요청 한도를 60 → 5000 req/hr로 상향 |
| — | — | AI 한 줄 요약용 Groq API 키 — console.groq.com에서 무료 키 발급 |
| — | — | X/Twitter |
| — | — | X/Twitter |
| — | — | Axiom 거래 링크용 제휴 추천 코드 |
| — | — | GMGN 거래 링크용 제휴 추천 코드 |
| — | — | Padre 거래 링크용 제휴 추천 코드 |
| — |
| WebSocket을 사용할 수 없을 때 HTTP 폴링 간격 |
| — |
| 고래 알림을 트리거하는 최소 SOL 거래 크기 |
| — |
| 로그 상세 수준: |
| — |
| 헬스 체크 HTTP 서버 포트 — Railway에서 자동 설정 |
| — |
| AI 어시스턴트 통합용 MCP (Model Context Protocol) 서버 활성화 |
| — |
| MCP 서버 HTTP 포트 (Streamable HTTP 전송) |
3. 실행
# Install dependencies
npm install
# Development (hot reload via tsx)
npm run dev
# Production
npm run build
npm start4. Docker로 배포
docker build -t pumpfun-channel-bot .
docker run -d --env-file .env pumpfun-channel-bot5. Railway에 배포
Railway는 GitHub에서 자동 배포하며 클레임 추적 데이터용 영구 볼륨을 제공합니다.
# Install Railway CLI
npm install -g @railway/cli
railway login
# Create & link project
railway init
railway link
# Set environment variables
railway variables set TELEGRAM_BOT_TOKEN=your-token
railway variables set CHANNEL_ID=@your_channel_name
railway variables set SOLANA_RPC_URL=https://mainnet.helius-rpc.com/?api-key=your-key
railway variables set SOLANA_WS_URL=wss://mainnet.helius-rpc.com/?api-key=your-key
railway variables set FEED_CLAIMS=true
railway variables set REQUIRE_GITHUB=true
# Create persistent volume for claim tracker data
railway volume create --mount /app/data
# Deploy
railway up배포 구성은 railway.json을 참조하세요:
{
"$schema": "https://railway.app/railway.schema.json",
"build": {
"builder": "DOCKERFILE",
"dockerfilePath": "Dockerfile"
},
"deploy": {
"restartPolicyType": "ON_FAILURE",
"restartPolicyMaxRetries": 10
}
}프로젝트 구조
pumpfun-claims-bot/
├── src/
│ ├── index.ts # Entry point — wires monitors, enrichment, & Telegram posting
│ ├── config.ts # Environment variable loading & validation
│ ├── mcp-server.ts # MCP server — exposes tools via Streamable HTTP or stdio
│ ├── mcp-stdio.ts # Standalone MCP entry point (stdio transport)
│ ├── claim-monitor.ts # PumpFees program monitor (WebSocket + HTTP polling)
│ ├── claim-routing.ts # Decides which claims are posted, skipped, or re-routed
│ ├── claim-tracker.ts # First-claim detection + claim counter (persisted to disk)
│ ├── credibility.ts # Deterministic 0-100 credibility scoring
│ ├── dev-reputation.ts # Persistent per-developer track record store
│ ├── event-monitor.ts # Pump program log decoder (graduations, launches)
│ ├── social-fee-index.ts # SocialFeeIndex — maps SharingConfig PDAs → mints (~148K)
│ ├── formatters.ts # Rich HTML card builders for Telegram
│ ├── pump-client.ts # PumpFun HTTP API client (token info, creator profiles)
│ ├── github-client.ts # GitHub API client (user profiles, rate-limited cache)
│ ├── x-client.ts # X/Twitter profile fetcher + influencer tier logic
│ ├── groq-client.ts # Groq AI one-liner summaries
│ ├── rpc-fallback.ts # Multi-RPC failover with round-robin
│ ├── health.ts # HTTP health check server
│ ├── types.ts # Program IDs, discriminators, event types
│ └── logger.ts # Leveled console logger
├── src/__tests__/ # Vitest suites (203 tests) + shared fixtures
├── packages/web/ # React dashboard, mock-data build (see Web Dashboard)
├── web/web/ # React dashboard, live-SSE build (see Web Dashboard)
├── leaderboard-bot/ # Separate Telegram bot: GitHub dev earnings leaderboard
├── data/ # Persisted state (gitignored, Railway volume mount)
│ └── github-first-claims.json
├── Dockerfile # Multi-stage Docker build
├── railway.json # Railway deployment config
├── package.json
└── tsconfig.json작동 방식
클레임 감지 파이프라인
Transaction detected on PumpFees program
│
▼
Identify instruction: claim_social_fee_pda?
│
├─ YES ──▶ Parse platform (2 = GitHub) + user_id from Anchor args
│ │
│ ▼
│ Check amountLamports from SocialFeePdaClaimed event
│ │
│ ├─ amountLamports > 0 ──▶ Real claim
│ │ ├─ Check ClaimTracker: first time for this GitHub user?
│ │ │ ├─ YES ──▶ 🚨 FIRST TIME CLAIM banner
│ │ │ └─ NO ──▶ Standard claim card
│ │ └─ Enrich: GitHub API + PumpFun API + X profile
│ │
│ └─ amountLamports = 0 ──▶ ⚠️ FAKE CLAIM (instruction called, no payout)
│
└─ NO ───▶ Other claim type (creator fee, cashback, etc.)SocialFeeIndex 부트스트랩
시작 시 봇은 PumpFees 프로그램에서 모든 SharingConfig 계정을 가져와 소셜 수수료 PDA 주소에서 토큰 민트로의 역방향 매핑을 구축합니다. 이를 통해 추가 RPC 호출 없이 소셜 수수료 클레임이 어떤 토큰에 속하는지 확인할 수 있습니다.
시작 시 ~148K 매핑 로드
증분 업데이트 —
CreateFeeSharingConfig및UpdateFeeShares이벤트에 대한 WebSocket 구독을 통해조회:
socialFeeIndex.getMintForPda(pdaAddress)→ 토큰 민트하나의 PDA → 여러 민트 — 여러 토큰에 걸쳐 PDA를 재사용하는 사기꾼 처리
가짜 클레임 감지
일부 사용자는 수령할 수수료가 없는 임의의 토큰 PDA를 대상으로 claim_social_fee_pda 명령을 호출합니다. 봇은 다음을 확인하여 이를 감지합니다:
명령 디스크리미네이터가
claim_social_fee_pda와 일치트랜잭션 로그에
SocialFeePdaClaimed이벤트가 없음 — 또는 이벤트에amountLamports = 0표시GitHub 사용자 ID와 플랫폼은 여전히 명령 인수(Anchor Borsh 형식)에서 파싱
가짜 클레임은 ⚠️ FAKE CLAIM 경고와 🚩 Fake claim — no fees paid out 신뢰 신호와 함께 게시됩니다.
첫 클레임 추적
ClaimTracker는 성공적으로 클레임한 GitHub 사용자 ID의 영구 집합을 유지합니다:
인메모리 집합 — 처리 중 빠른 조회용
디바운스 디스크 저장 (5초 지연) —
data/github-first-claims.json에 저장분리된 확인/표시 패턴:
hasGithubUserClaimed()는 부작용 없이 확인,markGithubUserClaimed()는 Telegram 게시 성공 후에만 호출클레임 카운터:
incrementGithubClaimCount()는 사용자별 순차 클레임 번호 반환가짜 클레임에는 첫 클레임 상태가 설정되지 않음
3계층 첫 클레임 검증
로컬 중복 제거 — 이미 게시된 경우 건너뜀 (영구 JSON으로 재시작 후에도 유지)
온체인 검증 —
lifetimeClaimedLamports == amountLamports가 실제로 온체인 첫 클레임임을 확인우아한 폴백 — 검증 실패 시 첫 클레임 배너 건너뜀 (재배포 후 오탐 방지)
예시 클레임 카드
🚨🚨🚨 FIRST TIME CLAIM 🚨🚨🚨
🐙 $PUMP — PumpCoin 💹 $45K
↳ GitHub dev claimed PumpFun social fees
📊 Claim #1 · 0.1043 SOL lifetime ($15.65)
🏦 0.1043 SOL ($15.65)
↳ 8mNp...4rWz
👤 nirholas (Nicholas)
↳ 📦 45 · 👁 200 · 📅 5y ago
TypeScript SDK builder
𝕏 nichxbt · 1.2K
📈 Bonding curve (72%) · Created 3h ago · 💬 12
𝕏 @pump_coin · 💬 TG · 🌐 pumpcoin.io
⚠️ GitHub account created 15d ago
CA: 7xKXt...p3Bz
Axiom · GMGN · Padre
🔍 TX요구 사항
Node.js >= 20.0.0
Telegram 봇 토큰 (@BotFather 통해)
Telegram 채널 — 봇이 관리자로 추가되어 있어야 함
Solana RPC 엔드포인트 — 전용 RPC 권장 (Helius, QuickNode, Triton). 공개 메인넷도 작동하지만 속도 제한이 있을 수 있음
GitHub 토큰 (선택) — API 요청 한도를 60에서 5,000 req/hr로 상향
문제 해결
봇이 메시지를 게시하지 않음
봇 권한 확인 — 봇은 채널에서 "메시지 게시" 권한이 있는 관리자여야 함
CHANNEL_ID 확인 — 공개 채널은
@channel_name, 비공개 채널은 숫자 ID (예:-100xxx) 사용. 숫자 ID를 찾으려면 채널 메시지를 @userinfobot으로 전달Telegram 403 오류 — 봇이 채널의 멤버/관리자가 아님을 의미. 채널 설정 → 관리자 → 관리자 추가로 추가
로그 확인 —
LOG_LEVEL=debug로 설정하여 봇이 처리하는 모든 이벤트 확인
속도 제한
Telegram은 채널에 초당 ~30개 메시지로 봇을 제한합니다. grammY 프레임워크가 속도 제한을 자동으로 처리합니다:
메시지는 지연될 수 있지만 삭제되지는 않음
봇은
retry_after헤더를 존중하는 재시도 헬퍼 포함활동이 매우 많을 경우
POLL_INTERVAL_SECONDS를 늘려 이벤트 볼륨을 줄임
RPC 연결 문제
공개 RPC 엔드포인트에는 속도 제한이 있음 — 프로덕션에서는 전용 RPC 사용
자동 장애 조치를 위해
SOLANA_RPC_URLS에 여러 엔드포인트 설정WebSocket 연결이 끊기면 봇은
POLL_INTERVAL_SECONDS간격으로 HTTP 폴링으로 전환RpcFallback클래스는 구성된 엔드포인트 간 라운드로빈 제공LOG_LEVEL=debug로 설정하여 연결 상태 확인
누락된 클레임
GitHub 클레임만? —
REQUIRE_GITHUB=true로 설정하여 GitHub 소셜 수수료 클레임만 게시피드 비활성화? —
FEED_CLAIMS=true가 설정되어 있는지 확인SocialFeeIndex 느림? — 초기 부트스트랩은 ~148K 계정을 가져옴. 시작 시 30-60초 소요.
SocialFeeIndex: loaded N mappings로그 확인속도 제한? — GitHub API는 인증 없이 60 req/hr 허용.
GITHUB_TOKEN설정 시 5,000 req/hr
파이프라인 통계
봇은 60초마다 파이프라인 카운터를 로깅합니다:
Pipeline: 15 total → 8 social → 3 first / 5 repeat → 8 posted (skip: 7 cashback)total: 수신된 모든 클레임 이벤트
social: GitHub 소셜 수수료 PDA 클레임
first/repeat: 첫 클레임 vs. 재클레임 사용자
posted: Telegram에 성공적으로 게시됨
skip cashback: 캐시백 클레임 (사용자 환불, 크리에이터 활동 아님)
웹 대시보드
두 개의 React 프론트엔드가 체크인되어 있으며, 동일한 앱이 아닙니다:
디렉터리 | 설명 | 빌드 |
| 전체 대시보드: SSE 이벤트 스트림, 관심 목록, SEO 에셋( |
|
| 동일한 UI의 초기이자 더 작은 복사본. 대시보드는 SSE 클라이언트 없이 생성된 샘플 이벤트를 렌더링합니다. |
|
아래에 나열된 기능들은 web/web/에 대한 설명입니다. 두 디렉터리 모두 현재 깨끗하게 빌드됩니다. 둘을 하나로 통합하는 작업은 아직 남은 과제입니다.
/dashboard, /docs 등과 같은 딥 링크는 클라이언트 사이드 라우트이므로, 정적 호스트는 알 수 없는 경로를 index.html로 재작성해야 합니다. 이제 각 앱에는 이 재작성이 포함된 vercel.json이 함께 제공됩니다. Vercel이 아닌 호스트에서는 이에 상응하는 SPA 폴백을 설정하세요.
페이지
페이지 | 경로 | 설명 |
홈 |
| 프로젝트 개요가 포함된 랜딩 페이지 |
대시보드 |
| SSE 스트리밍 실시간 이벤트 피드 |
코인 만들기 |
| 토큰 생성 인터페이스 |
문서 |
| API 문서 및 Telegram 명령어 |
패키지 |
| 패키지 브라우저 |
대시보드 기능
Server-Sent Events(SSE) —
/api/v1/claims/stream을 통한 실시간 스트리밍, 자동 재연결(3초 지연)이벤트 필터 — 전체(All), 출시(Launches), 고래(Whales), 졸업(Graduations), 클레임(Claims), 분배(Distributions)
실시간 통계 바 — 이벤트 유형별 카운터
관심 목록 — 감시할 지갑 주소 추가/제거(
GET/POST/DELETE /api/v1/watches)리치 이벤트 카드 — 전체 컨텍스트와 함께 제공되는 토큰 출시, 고래 거래, 졸업, 수수료 클레임
연결 상태 — 오류 메시지가 있는 시각적 표시기
모의 데이터 폴백 — SSE를 사용할 수 없을 때 시뮬레이션된 피드
기술 스택
계층 | 기술 |
프레임워크 | React 18 |
라우터 | React Router |
빌드 | Vite 5 |
스타일링 | Tailwind CSS |
언어 | TypeScript |
MCP 서버
봇에는 AI 어시스턴트(Claude, Copilot, Cursor 등)가 PumpFun 온체인 데이터를 대화형으로 조회할 수 있게 해주는 내장 Model Context Protocol(MCP) 서버가 포함되어 있습니다.
MCP 도구
도구 | 설명 |
| 토큰 메타데이터, 시가총액, 본딩 커브 진행도, 플래그 |
| 집중도 지표를 포함한 상위 보유자 |
| 최근 거래 활동 — 거래량, 매수/매도 수 |
| 졸업한 토큰의 PumpSwap AMM 풀 유동성 |
| 번들 감지(스캠 지표) |
| 생성자의 출시 이력, 스캠 추정치, 최근 코인 |
| 사용자 이름 또는 숫자 ID로 GitHub 프로필 조회 |
| GitHub 사용자의 클레임 상태 — 건수, 클레임된 민트 수 |
| 현재 SOL/USD 가격 |
사용: Stdio 전송(Claude Desktop / Cursor / VS Code)
MCP 클라이언트 설정(예: claude_desktop_config.json)에 추가하세요:
{
"mcpServers": {
"pumpfun": {
"command": "npx",
"args": ["pumpfun-claims-bot"]
}
}
}또는 소스에서 실행합니다:
# Development (tsx)
npm run mcp:dev
# Production (compiled)
npm run build && npm run mcp사용: Streamable HTTP 전송(임베디드)
MCP_ENABLED=true로 설정하여 메인 봇과 함께 실행합니다:
MCP_ENABLED=true MCP_PORT=3001 npm run devMCP 엔드포인트는 설정된 포트의 POST /mcp에서 사용할 수 있습니다. 클라이언트는 Streamable HTTP 전송으로 연결합니다.
예시 쿼리
연결되면 AI 어시스턴트에게 물어보세요:
"민트 주소 7xKXt...p3Bz에 대한 토큰 정보를 찾아줘"
"GitHub 사용자 12345가 PumpFun 수수료를 클레임한 적이 있나요?"
"이 토큰의 상위 보유자는 누구인가요?"
"이 토큰 출시가 번들인지 확인해 줄래?"
"현재 SOL 가격은 얼마인가요?"
헬스 체크 API
봇은 Railway/Docker 프로브를 위한 HTTP 헬스 체크 서버를 제공합니다.
엔드포인트 | 메서드 | 설명 |
| GET | 가동 시간(status)과 통계가 포함된 헬스 상태 |
| GET |
|
응답:
{
"status": "ok",
"uptime": "12345s",
"uptimeMs": 12345000
}ok에 대해서는 200,degraded에 대해서는 503을 반환합니다.콜백을 통해 동적 통계가 주입됩니다(파이프라인 카운터, 연결 상태).
포트는
PORT또는HEALTH_PORT환경 변수로 설정할 수 있습니다(기본값: 3000).
테스트
이 프로젝트는 Vitest를 사용합니다. 11개 스위트에 걸쳐 203개의 테스트가 있으며 npm ci및 npm test 모두 잘 통과합니다.
# Run all tests
npm test
# Watch mode (re-runs on file changes)
npm run test:watch테스트 스위트
모든 스위트는 src/__tests__/(그리고 공통 샘플 데이터인 fixtures.ts)에 있습니다.
스위트 | 파일 | 커버리지 |
클레임 추적 |
| 최초 클레임 감지, 영속성, 카운터, 지난 누적 총합 |
클레임 라우팅 |
| 어떤 클레임이 게시되거나 건너뛰어지고 애초에 어느 피드로 라우팅되는지 |
신뢰도 |
| 결정적인 0-100점 채점, 요인별 기여, 티어 경계 |
개발자 평판 |
| 개발자별 지속 실적과 평균 |
포맷터 |
| HTML 카드 생성, 이스케이핑, null 처리, 가장자리 케이스 |
GitHub 클라이언트 |
| URL 파싱, API 응답 처리, 캐시 동작 |
Groq 클라이언트 |
| AI 요약 생성, API 키 처리, HTML 안전성 |
Pump 클라이언트 |
| 토큰, 보유자, 거래, 생성자 API 응답 처리 |
RPC 폴백 |
| 라운드로빈 순환, 쿨다운, 재시도 가능 오류 처리 |
X 클라이언트 |
| 인플루언서 티어 분류, 팔로워 포맷 |
E2E 파이프라인 |
| 종단간 상업 실적 추적, 포맷팅, GitHub 피드 게시 |
로컬 개발
# Install dependencies
npm install
# Run with hot reload (tsx)
npm run dev
# Type-check without emitting
npm run typecheckLOG_LEVEL=debug로 설정하면, 모든 이벤트는 텔레그램에 게시되는지와 상관없이 stdout으로 기록됩니다.
기술 스택
구성요소 | 기술 |
런타임 | Node.js >= 20 (ESM) |
언어 | TypeScript 5.7 (strict) |
블록체인 | Solana ( |
Telegram | grammY 프레임워크 |
AI | Groq API (llama-3.3-70b-versatile) |
프론트엔드 | React 18 + Vite 5 + Tailwind CSS |
테스팅 | Vitest |
컨테이너 | Docker (multi-stage Alpine, non-root) |
MCP |
|
호스팅 | Railway (GitHub 자동 배포) |
의존성 | 프로덕션 6개, 개발 4개 — 의도적으로 최소한 유지 |
기여
기여는 언제나 환영합니다! 가이드라인은 CONTRIBUTING.md를 참조하세요.
저장소를 포크합니다.
기능 브랜치를 생성합니다(
git checkout -b feature/my-feature).테스트(
npm test)와 타입체크(npm run typecheck)를 실행합니다.Pull Request를 엽니다.
보안
취약점을 발견하셨나요? 책임 있게 신고해 주세요 — SECURITY.md 참조.
라이선스
All rights reserved. LICENSE 참조.
문서
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceReal-time radar for Solana memecoins, Pump.fun launches, and KOL trades.82MIT
- AlicenseNot gradedqualityDmaintenanceSolana on-chain intelligence API — token scans, wallet PnL, bundle detection, fresh wallets, dev profiling. MCP server for Claude, Cursor & AI agents. Live PumpFun/Raydium streams1MIT

Pique Signalofficial
AlicenseAqualityCmaintenanceLive scored Solana memecoin signals with safety profiles, conviction scoring, and paper trading for AI agents.6MIT- FlicenseBqualityCmaintenanceReal-time Solana pump.fun token scanner with MCP stdio transport and HTTP API. Enables AI agents to monitor and trade pump.fun tokens via natural language.83
Related MCP Connectors
Solana on-chain intelligence — token scans, wallet profiling, bundle detection, 19 MCP tools.
Rug-check & launch radar for trading agents: composite honeypot score, EVM+Solana, keyless x402.
Solana token risk-scoring MCP server for AI trading agents with insider wallet cluster detection.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nirholas/pumpfun-claims-bot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server