본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 17. 03:45

OnChainOS를 활용한 토큰 분위기 체크 에이전트 구축하기

요약

OnChainOS API를 활용하여 암호화폐 토큰의 리스크를 분석하고 1~10점 사이의 점수를 매기는 CLI 에이전트 구축 방법을 소개합니다. TypeScript를 사용하여 개발자 평판, 홀더 집중도, 번들링 여부 등 9가지 지표를 자동 조사합니다.

핵심 포인트

  • OnChainOS API를 통한 온체인 데이터(리스크, 클러스터, 개발자 정보) 확보
  • 9가지 가중치 적용 지표를 활용한 자동화된 '분위기 점수(vibe score)' 산정
  • TypeScript 기반의 200줄 미만 경량 CLI 에이전트 구현
  • 스캠 및 러그풀 방지를 위한 보안 휴리스틱 적용

200줄 미만의 TypeScript 코드로 모든 암호화폐 토큰에 대해 전체 배경 조사를 수행하고 1~10점 사이로 점수를 매기는 CLI 에이전트를 구축한 방법입니다.

아이디어 (The Idea)

매일 수천 개의 토큰이 온체인 (onchain) 상에 출시됩니다. 대부분은 스캠 (scam), 러그 (rug), 또는 허니팟 (honeypot)입니다. 어떤 토큰에든 에이프 인 (ape into) 하기 전에, 당신은 다음과 같은 질문에 대한 답을 얻어야 합니다:

  • 개발자가 이전에 러그 (rugged)를 한 적이 있는가?
  • 공급량이 번들링 (bundled) 또는 스나이핑 (sniped) 되었는가?
  • 상위 10명의 홀더 (holders)가 너무 많은 물량을 통제하고 있는가?
  • 클러스터 집중도 리스크 (cluster concentration risk)는 어떠한가?

나는 이 모든 질문에 답할 수 있는 단일 명령어를 원했습니다. 즉, 거래하기 전에 명확한 1~10점 사이의 "분위기 점수 (vibe score)"를 제공하는 터미널에서 실행되는 **에이전트 (agent)**입니다.

왜 OnChainOS인가? (Why OnChainOS?)

OKX의 OnChainOS는 정확히 이러한 데이터를 제공하는 풍부한 마켓 API (Market APIs) 세트를 노출합니다:

  • 토큰 상세 정보 (Token advanced-info) — 리스크 관리 수준 (risk control level), 개발자 평판 (dev reputation), 번들/스나이퍼 보유량 (bundle/sniper holdings)
  • 클러스터 개요 (Cluster overview) — 홀더 집중도 (holder concentration), 러그 풀 확률 (rug pull probability), 신규 지갑 비율 (new wallet percentage)
  • 가격 정보 (Price info) — 시가 총액 (market cap), 유동성 (liquidity), 홀더 (holders), 24시간 거래량 (24h trading volume)
  • 토큰 개발자 정보 (Token Dev Info) (pump.fun) — 이 개발자가 생성한 토큰 수 대비 러그를 한 토큰 수
  • 토큰 번들 정보 (Token Bundle Info) — 새로 출시된 토큰에 대한 번들러 탐지 (bundler detection)
  • 유사 토큰 (Similar tokens) — 동일한 개발자가 만든 다른 토큰들

이 모든 것은 HMAC-SHA256 인증을 사용하는 단일 REST API를 통해 접근할 수 있습니다.

아키텍처 (Architecture)

┌──────────────┐     ┌──────────────────────────────────────────┐
│   index.ts   │────▶│              client.ts                   │
│  CLI entry   │     │  Promise.all (6 parallel OnChainOS API   │
...

점수 산정 알고리즘 (The Scoring Algorithm)

점수는 **9개의 가중치 적용 지표 (weighted metrics)**를 통해 계산됩니다. 각 지표는 일반적인 DeFi 보안 휴리스틱 (security heuristics)에서 도출된 임계값 (thresholds)을 사용하여 1~10점으로 점수가 매겨집니다:

// 가중치 분포 (Weight distribution)
const METRICS = [
  { name: "Risk Level",       weight: 20, source: "riskControlLevel" },
...

각 지표에 대해, 점수를 결정하는 임계값을 정의합니다:

// 예시: 상위 10명 보유자 비율 (%) 점수 산정
const top10Thresholds: [number, number][] = [
[10, 10], // ≤10% → 만점
...
];

최종 점수는 (weightedSum / totalWeight) * 10 입니다.

HMAC-SHA256 인증

OnChainOS API는 커스텀 HMAC-SHA256 서명 방식을 사용합니다. 각 요청에는 다음이 필요합니다:

export function getHeaders(auth, method, requestPath, bodyOrQuery) {
  const timestamp = new Date().toISOString().slice(0, -5) + "Z";
  const message = timestamp + method + requestPath + bodyOrQuery;
...

주의할 점: 타임스탬프 형식은 공식 JS 예제와 일치해야 합니다 — 밀리초를 제외해야 합니다 (.slice(0, -5) + "Z").

병렬 API 호출 (Parallel API Calls)

6개의 엔드포인트 호출은 모두 Promise.all을 사용하여 병렬로 실행되므로, 전체 체크 시간은 가장 느린 엔드포인트의 시간(~300-500ms)만큼만 소요됩니다:

const [priceInfo, advancedInfo, clusterInfo] = await Promise.all([
  postJson("dex/market/price-info", [...]);
  getJson("dex/market/token/advanced-info", {...});
...

밈 토큰 체인(Solana, BSC)의 경우, 개발자 평판(dev reputation) 및 번들 탐지(bundle detection)를 위해 memepump 전용 엔드포인트를 추가로 쿼리합니다.

CLI 출력

디스플레이 모듈은 색상 코드가 적용된 출력을 위해 picocolors (chalk를 대체하는 2KB 크기의 의존성 없는 라이브러리)를 사용합니다:

  • 🟢 초록색 (score ≥ 8) — "Solid vibes"
  • 🟡 노란색 (score ≥ 6) — "Decent, some caution"
  • 🟠 주황색 (score ≥ 4) — "Risky"
  • 🔴 빨간색 (score < 4) — "High risk"

각 지표에는 시각적 바(bar)가 표시됩니다:

Risk Level:       LOW     ████████░░  8/10
Top 10 Holders:   9.59%   ██████████ 10/10

배운 점

  1. 병렬 처리 (Parallelism)의 중요성 — 6개의 엔드포인트(endpoints)에 대해 Promise.all을 사용함으로써 응답 시간을 약 1.5초에서 약 400ms로 단축했습니다.
  2. HMAC 주의사항 — 문서 예제와 타임스탬프(timestamp) 형식 간의 불일치로 인해 인증(auth) 실패가 발생했습니다. 설명글보다는 코드 예제를 따르세요.
  3. 모든 엔드포인트가 모든 곳에서 작동하지는 않음 — memepump 엔드포인트는 Solana/BSC/TRON에서만 작동합니다. 이를 우아하게 처리(handle gracefully)하세요.
  4. TypeScript의 가치 — 10개 이상의 API 응답 인터페이스(interfaces) 덕분에 런타임(runtime) 이전에 3개의 필드 이름 오타를 잡아낼 수 있었습니다.
  5. Picocolors > Chalk — CLI 도구의 경우, 2KB 대 20KB의 차이는 실질적인 차이를 만듭니다.

확장 아이디어

  • 자동 매매 에이전트 (Auto-trade agent) — 분위기 체크(vibe checker) 기능을 OnChainOS DEX Swap API와 결합하세요: 점수가 7점 이상이면 매수(buy)를 실행합니다.
  • 텔레그램 봇 (Telegram bot) — CLI를 봇으로 감싸서 이동 중에도 토큰 조사를 할 수 있게 만드세요.
  • 대시보드 (Dashboard) — 점수를 SQLite에 기록하고, 시간에 따른 트렌드를 보여주는 Svelte 대시보드를 구축하세요.

직접 시도해보기

git clone https://github.com/harishkotra/token-vibe.git
cd token-vibe
npm install
...

OKX Developer Portal에서 무료 API 키를 받으세요.

코드 및 상세 정보: https://www.dailybuild.xyz/project/165-token-vibe

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0