Crypto Sniper Oracle

v3.3.0

Institutional-grade quantitative market oracle with Order Book Imbalance (OBI), VWAP analysis, automated reports, and Telegram alerts.

0· 343·0 current·0 all-time
byWesley Armando@georges91560
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description align with what the code does: fetch public Binance market data, compute OBI/VWAP, generate reports, and optionally send via Telegram. Required binary (python3) and optional TELEGRAM_* env vars are appropriate for the stated purpose.
Instruction Scope
Runtime instructions and SKILL.md stay within the stated scope (fetch public data, generate files under /workspace, optional Telegram delivery). Note: documentation and config recommend persisting TELEGRAM_BOT_TOKEN in shell startup files and adding cronjobs—these are user actions that create ongoing behavior and require care because they persist a secret and schedule automated runs.
Install Mechanism
No external install or downloads are specified; code files are included and the skill relies only on the Python standard library. No suspicious remote installs or extracted archives are present.
Credentials
No required credentials are declared. The only sensitive inputs are optional TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID, which are justified by the optional Telegram feature. Additional optional env vars (cache TTL, log level) are non-sensitive and proportionate.
Persistence & Privilege
Skill does not force persistence (always:false). It writes cache and report files under /workspace and recommends optionally creating cron jobs—these are expected for a reporting skill but create a persistent, scheduled presence under user control. The skill does not modify other skills or system-wide agent config.
Assessment
This skill appears internally coherent and implements only public Binance data fetching plus optional Telegram alerts. Before installing: (1) review the included Python files yourself (crypto_oracle.py and reporter.py) or inspect the upstream GitHub repo URL in the SKILL.md to ensure authenticity; (2) if you enable Telegram, avoid pasting your bot token into globally sourced shell files if possible—store it in a secure secret store or an environment limited to the cron job; (3) if you enable cron jobs, use full paths and run them under a restricted account and directory (the skill writes to /workspace/); (4) limit network permissions to only the listed endpoints if your environment allows firewall rules; (5) rotate the Telegram bot token if you later disable the skill. Overall risk is low but exercise standard operational hygiene for secrets and scheduled tasks.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🎯 Clawdis
Binspython3
analysisvk97499gesgh6xkeax7cncqr94h81zsqflatestvk97b8sj0jvdfpxj186n8e8btzn81zqavmicrostructurevk97499gesgh6xkeax7cncqr94h81zsqfobivk97499gesgh6xkeax7cncqr94h81zsqfquantvk97499gesgh6xkeax7cncqr94h81zsqftradingvk97499gesgh6xkeax7cncqr94h81zsqfvwapvk97499gesgh6xkeax7cncqr94h81zsqf
343downloads
0stars
3versions
Updated 1mo ago
v3.3.0
MIT-0

Crypto Sniper Oracle — Quantitative Market Intelligence + Reporting

⚠️ SCOPE & CAPABILITIES

Core Function: Fetch public market data and generate quantitative analysis.

What it does:

  • ✅ Fetches public ticker data from Binance API
  • ✅ Fetches public order book data from Binance API
  • ✅ Calculates Order Book Imbalance (OBI)
  • ✅ Calculates VWAP divergence
  • ✅ Scores liquidity quality (spread in bps)
  • ✅ Generates formatted analysis reports
  • [OPTIONAL] Sends reports via Telegram
  • [OPTIONAL] Scheduled cron jobs for automated reports

What it does NOT do:

  • ❌ Place orders or execute trades
  • ❌ Transfer funds
  • ❌ Access private exchange data
  • ❌ Read agent memory (beyond its own logs)
  • ❌ Intercept or block other skills

🔧 Configuration Options

Mode 1: Analysis Only (Default)

No Telegram, manual invocation:

# Just fetch data and analyze
python3 crypto_oracle.py --symbol BTCUSDT

Use case: Manual analysis on demand.


Mode 2: Telegram Reports (Optional)

Enable Telegram alerts and reports:

Required environment variables:

export TELEGRAM_BOT_TOKEN="your_bot_token_here"
export TELEGRAM_CHAT_ID="your_chat_id_here"

Configuration:

{
  "skills": {
    "crypto-sniper-oracle": {
      "enabled": true,
      "config": {
        "telegram_enabled": true
      }
    }
  }
}

Use case: Automated reports sent to Telegram.


Mode 3: Cron Jobs + Telegram (Automated)

Scheduled market reports:

Example cron jobs:

# Daily report at 9am UTC
0 9 * * * /workspace/skills/crypto-sniper-oracle/reporter.py --mode daily

# Hourly anomaly check
0 * * * * /workspace/skills/crypto-sniper-oracle/reporter.py --mode hourly

# Price alerts every 15min
*/15 * * * * /workspace/skills/crypto-sniper-oracle/reporter.py --mode alerts

Use case: Fully automated market monitoring.


📊 Report Templates

1. Daily Market Report

Trigger: Cron (9am daily) or manual command

Content:

📊 CRYPTO MARKET DAILY REPORT
{date} | Powered by Wesley

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🎯 MARKET OVERVIEW (10 pairs analyzed)

🟢 BULLISH SETUPS (OBI > +0.15)
• BTCUSDT: OBI +0.18, Spread 2.1 bps
  Price vs VWAP: +0.5% (above average)
  Signal: Strong buying pressure

• ETHUSDT: OBI +0.12, Spread 3.5 bps
  Price vs VWAP: +0.3%
  Signal: Moderate bullish

🔴 BEARISH SETUPS (OBI < -0.15)
• SOLUSDT: OBI -0.16, Spread 8.2 bps
  Price vs VWAP: -0.8%
  Signal: Selling pressure

💰 LIQUIDITY QUALITY
Excellent (< 5 bps): 5 pairs
Good (5-10 bps): 3 pairs
Poor (> 30 bps): 2 pairs

📈 TOP MOVERS (24h)
+12.3% SOLUSDT (volatility: HIGH)
+8.1% ETHUSDT (volatility: MODERATE)
-5.2% BNBUSDT (volatility: MODERATE)

🎯 TRADING OPPORTUNITIES
→ BTC: Bullish setup confirmed (OBI +0.18)
→ ETH: Moderate strength, watch for breakout
→ SOL: Avoid - selling pressure + poor liquidity

━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Generated: 2026-02-27 09:00:00 UTC
Next report: 2026-02-28 09:00:00 UTC

2. Anomaly Alert

Trigger: OBI spike, spread explosion, or volume surge

Content:

🚨 MARKET ANOMALY DETECTED

Time: 15:23:45 UTC
Asset: BTCUSDT

📊 Anomaly Type: OBI SPIKE
• Previous OBI: +0.05
• Current OBI: +0.22
• Change: +340% in 15 minutes

💰 Liquidity: EXCELLENT (2.3 bps)
📈 Price vs VWAP: +0.6%

💡 Implication:
Strong buying pressure surge detected.
Potential upward price movement imminent.

🎯 Suggested Action:
Consider LONG entry if other signals align.
Monitor closely for next 30 minutes.

[View Full Analysis]

3. Hourly Summary

Trigger: Cron (every hour)

Content:

⚡ HOURLY MARKET CHECK
{timestamp}

🔍 Scanned: 10 pairs
🟢 Bullish: 3
🔴 Bearish: 2
⚪ Neutral: 5

📊 Notable Changes:
• BTC OBI: +0.05 → +0.12 (↑)
• ETH Spread: 3.2 → 5.8 bps (↑)

⚠️ Alerts: None
Next check: {next_hour}

🔐 File Access (Expanded)

READ:

  • /workspace/skills/crypto-sniper-oracle/crypto_oracle.py (data fetcher)
  • /workspace/skills/crypto-sniper-oracle/reporter.py (report generator)
  • /workspace/skills/crypto-sniper-oracle/templates/*.md (report templates)

WRITE:

  • /workspace/.oracle_cache.json (45s cache)
  • /workspace/MARKET_ANALYSIS.md (analysis reports)
  • /workspace/TRADING_LOGS.md (audit trail)
  • /workspace/reports/daily_{date}.md (archived reports)
  • /workspace/reports/alerts_{date}.log (alert history)

🌐 Network Access (Expanded)

Always allowed:

  • https://api.binance.com/api/v3/* (public market data)

Conditionally allowed (if Telegram enabled):

  • https://api.telegram.org/bot{token}/* (send messages only)

Never allowed:

  • ❌ Binance private endpoints
  • ❌ Order placement endpoints
  • ❌ Withdrawal endpoints

📋 Cron Job Specifications

Daily Report

# Schedule: 9am UTC daily
0 9 * * * /workspace/skills/crypto-sniper-oracle/reporter.py --mode daily --symbols BTCUSDT,ETHUSDT,SOLUSDT,BNBUSDT,ADAUSDT

# What it does:
1. Fetch data for all symbols
2. Calculate OBI, VWAP, spread for each
3. Aggregate into daily report
4. Send via Telegram (if enabled)
5. Archive to /workspace/reports/daily_{date}.md

Hourly Check

# Schedule: Every hour
0 * * * * /workspace/skills/crypto-sniper-oracle/reporter.py --mode hourly --symbols BTCUSDT,ETHUSDT

# What it does:
1. Quick scan of key pairs
2. Compare vs previous hour
3. Detect significant changes
4. Alert if anomaly detected

Price Alerts

# Schedule: Every 15 minutes
*/15 * * * * /workspace/skills/crypto-sniper-oracle/reporter.py --mode alerts --symbols BTCUSDT

# What it does:
1. Check for OBI spikes (>50% change)
2. Check for spread explosions (>100% increase)
3. Check for volume surges (>200% of average)
4. Send immediate Telegram alert if detected

🛠️ How It Works

LAYER 1 — Data Acquisition (Unchanged)

Same as v3.2.1 - uses crypto_oracle.py to fetch data.


LAYER 2 — Report Generation (NEW)

PROCEDURE Generate_Report(mode, symbols):

  1. FETCH DATA FOR ALL SYMBOLS
     For each symbol in symbols:
       data[symbol] = call_oracle(symbol)

  2. AGGREGATE METRICS
     Calculate:
     - How many bullish (OBI > 0.15)
     - How many bearish (OBI < -0.15)
     - Average spread across all symbols
     - Top movers by price change %

  3. LOAD TEMPLATE
     template = load_template(f"{mode}_report.md")

  4. POPULATE TEMPLATE
     report = template.format(
       date=now(),
       bullish_pairs=format_bullish(data),
       bearish_pairs=format_bearish(data),
       liquidity_summary=format_liquidity(data),
       top_movers=format_movers(data)
     )

  5. SAVE REPORT
     Write to /workspace/reports/{mode}_{date}.md

  6. IF TELEGRAM ENABLED:
       send_telegram_message(report)

  7. LOG EXECUTION
     Write to /workspace/TRADING_LOGS.md

LAYER 3 — Telegram Delivery (NEW)

PROCEDURE Send_Telegram_Report(report):

  1. VALIDATE CREDENTIALS
     IF TELEGRAM_BOT_TOKEN not set:
       → Log error: "Telegram not configured"
       → ABORT
     
     IF TELEGRAM_CHAT_ID not set:
       → Log error: "Chat ID not configured"
       → ABORT

  2. FORMAT MESSAGE
     # Telegram has 4096 char limit
     IF len(report) > 4000:
       → Split into multiple messages
       → Send sequentially

  3. SEND VIA API
     POST https://api.telegram.org/bot{token}/sendMessage
     Body:
     {
       "chat_id": "{chat_id}",
       "text": "{report}",
       "parse_mode": "Markdown"
     }

  4. HANDLE RESPONSE
     IF success:
       → Log: "Report sent to Telegram"
     
     IF error:
       → Log error details
       → Retry once after 5s
       → If still fails: Save to /workspace/failed_reports/

🔒 Security & Privacy

Data Collection:

  • Public market data only
  • No authentication for Binance API
  • No personal data

Data Processing:

  • All calculations local
  • Cache temporary (45s TTL)
  • Reports stored locally

Telegram (Optional):

  • User must explicitly enable
  • User provides bot token + chat ID
  • Only sends TO user's Telegram
  • No data sent to third parties
  • Can be disabled anytime

Transparency:

  • All Telegram sends logged
  • All reports archived
  • Full audit trail in TRADING_LOGS.md

📚 Installation & Setup

Basic Setup (No Telegram):

git clone https://github.com/georges91560/crypto-sniper-oracle.git
cd crypto-sniper-oracle

cp -r * /workspace/skills/crypto-sniper-oracle/
chmod +x /workspace/skills/crypto-sniper-oracle/*.py

Telegram Setup (Optional):

Step 1: Create Telegram Bot

1. Open Telegram, search @BotFather
2. Send: /newbot
3. Follow prompts, get BOT_TOKEN

Step 2: Get Chat ID

1. Send message to your bot
2. Visit: https://api.telegram.org/bot{YOUR_TOKEN}/getUpdates
3. Find "chat":{"id":123456789}

Step 3: Configure

export TELEGRAM_BOT_TOKEN="1234567890:ABCdefGHIjklMNOpqrsTUVwxyz"
export TELEGRAM_CHAT_ID="123456789"

Step 4: Test

python3 /workspace/skills/crypto-sniper-oracle/reporter.py --mode test

Expected: "✅ Test message sent to Telegram"


Cron Setup (Optional):

# Edit crontab
crontab -e

# Add jobs:
0 9 * * * /workspace/skills/crypto-sniper-oracle/reporter.py --mode daily
0 * * * * /workspace/skills/crypto-sniper-oracle/reporter.py --mode hourly
*/15 * * * * /workspace/skills/crypto-sniper-oracle/reporter.py --mode alerts

📊 Usage Examples

Example 1: Manual Analysis

python3 crypto_oracle.py --symbol BTCUSDT

Output: JSON data (same as v3.2.1)


Example 2: Generate Report (No Telegram)

python3 reporter.py --mode daily --symbols BTCUSDT,ETHUSDT

Output:

  • Report saved to /workspace/reports/daily_2026-02-27.md
  • No Telegram send

Example 3: Generate + Send Telegram

# With env vars set
export TELEGRAM_BOT_TOKEN="..."
export TELEGRAM_CHAT_ID="..."

python3 reporter.py --mode daily --symbols BTCUSDT,ETHUSDT

Output:

  • Report saved locally
  • Report sent to Telegram
  • Logged in TRADING_LOGS.md

Example 4: Alert Check

python3 reporter.py --mode alerts --symbols BTCUSDT

If anomaly detected:

🚨 Alert sent to Telegram
📝 Logged to /workspace/reports/alerts_2026-02-27.log

If no anomaly:

✅ No alerts - market normal

🎯 Transparency Statement

What This Skill Does:

Without Telegram:

  • Fetches public data
  • Calculates metrics
  • Generates reports
  • Saves locally

With Telegram (User Opt-In):

  • All of above PLUS
  • Sends reports to user's Telegram
  • User must provide bot token + chat ID
  • User can disable anytime

What This Skill Does NOT Do:

  • Does NOT read agent memory
  • Does NOT intercept other skills
  • Does NOT trade or place orders
  • Does NOT access private data
  • Does NOT send data to third parties (except user's own Telegram if enabled)

Network Behavior:

Default:

  • Binance public API only

With Telegram Enabled:

  • Binance public API
  • Telegram API (send messages only, to user's bot)

📄 License

MIT License - See LICENSE


Version: 3.3.0
Security Level: L1 (Default) / L2 (With Telegram)
Author: Georges Andronescu (Wesley Armando)
Repository: https://github.com/georges91560/crypto-sniper-oracle


END OF SKILL

Comments

Loading comments...