Skip to content

oxyamilmdevs/0xYamiLM

Repository files navigation

CI Python License Solana Version

The market speaks in shadow. 0xYamiLM listens.


What is 0xYamiLM

0xYamiLM reads hidden patterns in Solana meme token on-chain data and produces BUY / HOLD / AVOID decisions with confidence scores and LLM-powered reasoning.

Named from kanji 暗 (Yami = darkness). The signals others miss.

Not price prediction. Not sentiment tracking. Signal quality — the difference between real momentum and manufactured noise, between genuine accumulation and a coordinated exit.

Most tools tell you where a token is. 0xYamiLM tells you what the signal behind it means.


Signal Classification

  DIVINE_ENTRY  [90-100]  ##########  maximum confidence, rare convergence
  SHADOW_EDGE   [70-89]   ########    strong signal, favorable risk/reward
  WHISPER       [50-69]   ######      weak signal, position small
  STATIC        [25-49]   ###         noise dominant, no edge
  VOID          [0-24]    #           avoid, capital preservation

Architecture

TokenSnapshot[] (holder_count, volume, price_change, flip_ratio, timestamp)
        |
        v
SignalEngine
  +-- MomentumAnalyzer   (weight: 0.35)  volume growth + direction bias
  +-- ConvictionAnalyzer (weight: 0.30)  holder accumulation pattern
  +-- ShadowAnalyzer     (weight: 0.20)  signal clarity vs noise
  +-- TimingAnalyzer     (weight: 0.15)  entry window / volume acceleration
        |
        v
TradeSignal
  +-- signal: BUY / HOLD / AVOID
  +-- confidence: float (0-100)
  +-- classification: DIVINE_ENTRY -> VOID
  +-- reasoning: str (LLM or heuristic)
  +-- metrics: dict
        |
        +-> Python API | Go CLI | TypeScript

Install

pip install 0xyamilm

From source:

git clone https://github.com/0xyamilm/0xYamiLM
cd 0xYamiLM
pip install -e .

Usage

Python

from yami import SignalEngine, TokenSnapshot
from datetime import datetime, timedelta

snapshots = [
    TokenSnapshot(
        timestamp=datetime.now() - timedelta(days=7),
        holder_count=1200,
        volume_24h=85000,
        price_change_pct=8.5,
        flip_ratio=0.22,
        transfer_count=340,
    ),
    TokenSnapshot(
        timestamp=datetime.now(),
        holder_count=8700,
        volume_24h=420000,
        price_change_pct=18.3,
        flip_ratio=0.15,
        transfer_count=1850,
    ),
]

engine = SignalEngine()
result = engine.analyze(snapshots)

print(f"{result.signal.value} | {result.classification.value} | {result.confidence:.1f}/100")
print(result.reasoning)

Output:

BUY | DIVINE_ENTRY | 92.4/100
Maximum signal clarity. Rare convergence of all indicators. Act fast. Strongest indicator: momentum score (97.5/100). Confidence: 92.4.

CLI

# Single token scan
yami scan <TOKEN_ADDRESS> --no-llm

# Batch ranking
yami batch TOKEN_A TOKEN_B TOKEN_C

Docker

docker compose run yami scan <TOKEN_ADDRESS> --no-llm

Signals

Signal Formula Weight
Momentum Score volume growth + direction bias 35%
Conviction Index (1 - flip_ratio)*70 + holder_growth bonus 30%
Shadow Depth 100 - noise_ratio*40 20%
Entry Timing volume acceleration ratio 15%

Configuration

ANTHROPIC_API_KEY=your_key_here   # optional, enables LLM reasoning
SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
CACHE_TTL=300
RATE_LIMIT_RPS=5

Development

pip install -e .
pytest tests/ -v
ruff check yami/ cli/

See CONTRIBUTING.md for adding new signal analyzers.