diff --git a/buzzbd/SKILL.md b/buzzbd/SKILL.md new file mode 100644 index 00000000..c2d078f0 --- /dev/null +++ b/buzzbd/SKILL.md @@ -0,0 +1,222 @@ +--- +name: buzzbd +description: Token intelligence and CEX listing BD agent for SolCex Exchange. Score tokens on a 100-point system, get listing recommendations, and initiate business development outreach. +version: 1.0.0 +author: SolCex Exchange +website: https://github.com/buzzbysolcex/buzz-bd-agent +tags: [business-development, token-scoring, cex-listing, intelligence, solana, defi] +metadata: + openclaw: + install: + - curl +--- + +# BuzzBD — Token Intelligence & CEX Listing Skill + +> Score any token. Get listing intelligence. Connect to SolCex Exchange BD pipeline. + +## What This Skill Does + +BuzzBD gives any agent access to SolCex Exchange's business development intelligence: + +1. **Token Scoring** — 100-point scoring system across 6 weighted factors +2. **Listing Qualification** — Instant assessment of CEX listing readiness +3. **Market Intelligence** — Cross-referenced data from DexScreener, AIXBT, and KOL tracking +4. **BD Pipeline Entry** — Qualified tokens get routed to SolCex listing pipeline + +## Setup + +No API key required for basic scoring. The skill uses public data sources. + +```bash +mkdir -p ~/.clawdbot/skills/buzzbd +``` + +Optional: Configure for pipeline submission (requires SolCex BD contact): + +```bash +cat > ~/.clawdbot/skills/buzzbd/config.json << 'EOF' +{ + "contact": "buzzbysolcex@gmail.com", + "pipeline": true, + "chains": ["solana", "ethereum", "bsc"] +} +EOF +``` + +## Quick Start + +### Score a Token + +Ask your agent: + +``` +Score this token for CEX listing potential: [CONTRACT_ADDRESS] on [CHAIN] +``` + +Example: +``` +Score this token for CEX listing potential: 7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr on Solana +``` + +### Check Listing Qualification + +``` +Is this token qualified for SolCex listing? [CONTRACT_ADDRESS] +``` + +### Get Full Intelligence Report + +``` +Generate a BuzzBD intelligence report for [TOKEN_NAME] at [CONTRACT_ADDRESS] +``` + +## Scoring System (100 Points) + +| Factor | Weight | Excellent | Good | Minimum | +|--------|--------|-----------|------|---------| +| Market Cap | 20% | >$10M | $1M-$10M | $500K | +| Liquidity | 25% | >$500K | $200K-$500K | $100K | +| 24h Volume | 20% | >$1M | $500K-$1M | $100K | +| Social Metrics | 15% | All platforms active | 2+ platforms | 1 platform | +| Token Age | 10% | Established | Moderate | New | +| Team Transparency | 10% | Doxxed, active | Partial | Anonymous | + +### Catalyst Adjustments + +**Positive bonuses (+3 to +10):** +- Hackathon win (+10) +- Mainnet launch (+10) +- Major partnership (+10) +- Audit completed (+8) +- Multi-source cross-match (+5) → `[HIGH CONVICTION]` +- KOL accumulation signal (+5) + +**Negative penalties (-5 to -15):** +- Exploit history (-15) +- Rugpull association (-15) +- Team controversy (-10) +- Already on major CEXs (-5) + +### Score Actions + +| Score | Category | What It Means | +|-------|----------|---------------| +| 85-100 | 🔥 HOT | Strong CEX listing candidate — immediate BD outreach | +| 70-84 | ✅ Qualified | Meets SolCex listing criteria — priority queue | +| 50-69 | 👀 Watch | Monitor for improvement — check back in 48h | +| 0-49 | ❌ Skip | Does not meet minimum listing criteria | + +## Supported Chains + +| Chain | Listing Fee | Priority | +|-------|-------------|----------| +| Solana | $5,000 USDC | Primary | +| Ethereum | $7,500 USDC | Cross-chain premium | +| BSC | $7,500 USDC | Cross-chain premium | + +## Intelligence Sources + +The scoring engine cross-references multiple sources: + +| Source | Data | Cost | +|--------|------|------| +| DexScreener | Prices, liquidity, pairs, holders | Free | +| AIXBT | Momentum scores, trending tokens, catalysts | Free | +| leak.me | KOL follows, smart money tracking | Free | +| Einstein AI | Whale alerts, large wallet movements | $0.10/call (x402) | +| Gloria AI | Breaking news, sentiment shifts | $0.10/call (x402) | + +## Report Format + +When you request a full intelligence report, BuzzBD returns: + +``` +🐝 BUZZBD INTELLIGENCE REPORT +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +Token: [NAME] ([SYMBOL]) +Chain: [CHAIN] +Contract: [ADDRESS] +Score: [XX]/100 — [CATEGORY] + +📊 BASE METRICS +Market Cap: $[X] +Liquidity: $[X] +24h Volume: $[X] +Holders: [X] +Token Age: [X] days + +📡 INTELLIGENCE SIGNALS +DexScreener: [status] +AIXBT Momentum: [score] +KOL Activity: [signals] + +🎯 LISTING ASSESSMENT +Qualification: [QUALIFIED / NOT QUALIFIED] +Listing Fee: $[X] USDC +Key Strengths: [list] +Key Risks: [list] + +📋 RECOMMENDATION +[Action recommendation] +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +``` + +## Using the Script + +```bash +# Ensure script is executable +chmod +x ~/.clawdbot/skills/buzzbd/scripts/buzzbd.sh + +# Score a token +scripts/buzzbd.sh score + +# Quick qualification check +scripts/buzzbd.sh qualify + +# Full report +scripts/buzzbd.sh report + +# List supported chains +scripts/buzzbd.sh chains +``` + +## Integration with Bankr + +BuzzBD works alongside the Bankr skill. Typical workflow: + +1. **Bankr** launches a token on Solana via Raydium +2. **BuzzBD** scores the launched token for CEX listing potential +3. If qualified (70+), BuzzBD routes to SolCex BD pipeline +4. Project gets professional CEX listing outreach + +``` +# Example combined workflow +"Launch my token on Solana using Bankr, then score it with BuzzBD for CEX listing" +``` + +## About Buzz BD Agent + +Buzz is an autonomous AI business development agent running 24/7 on Akash Network for SolCex Exchange. It discovers, scores, and initiates outreach to token projects for centralized exchange listings. + +- **Live stream:** [retake.tv/BuzzBD](https://retake.tv/BuzzBD) +- **GitHub:** [buzzbysolcex/buzz-bd-agent](https://github.com/buzzbysolcex/buzz-bd-agent) +- **Twitter:** [@BuzzBySolCex](https://x.com/BuzzBySolCex) +- **Email:** buzzbysolcex@gmail.com +- **Payments:** x402 protocol (USDC on Solana) +- **Agent Verified:** [ClawdIn](https://clawdin.com) + +## Troubleshooting + +**Token not found:** Verify the contract address is correct and the token exists on DexScreener. Use the full contract address, not the token name. + +**Chain not supported:** BuzzBD currently supports Solana, Ethereum, and BSC. Other chains are logged for reference but excluded from scoring. + +**Score seems low:** The scoring system is conservative by design. CEX listings carry reputational risk, so the bar is intentionally high. Tokens scoring 50-69 should be monitored for improvement. + +--- + +💡 **Pro Tip:** Always provide the contract address, not just the token name. Many tokens share similar names — the contract address is the only reliable identifier. + +⚠️ **Disclaimer:** BuzzBD scoring is for informational purposes. A high score indicates listing potential but does not guarantee a SolCex listing. All listings require human approval and due diligence by the SolCex team. diff --git a/buzzbd/references/listing-process.md b/buzzbd/references/listing-process.md new file mode 100644 index 00000000..eb81ef8e --- /dev/null +++ b/buzzbd/references/listing-process.md @@ -0,0 +1,73 @@ +# SolCex Listing Process + +## Overview + +SolCex Exchange is a Solana-native centralized exchange focused on emerging token listings. BuzzBD handles the business development pipeline — from token discovery to outreach. + +## Listing Requirements + +### Minimum Criteria + +| Requirement | Threshold | +|-------------|-----------| +| Liquidity | $100K+ | +| 24h Volume | $100K+ | +| Holders | 500+ | +| Chain | Solana, Ethereum, or BSC | +| NOT on major CEX | Not listed on Binance, Coinbase, OKX, Bybit | +| Team contactable | At least one verified communication channel | +| BuzzBD Score | 70+ (Qualified) | + +### Listing Fees + +| Chain | Fee | Rationale | +|-------|-----|-----------| +| Solana | $5,000 USDC | Home chain — standard rate | +| Ethereum | $7,500 USDC | Cross-chain premium — higher integration cost | +| BSC | $7,500 USDC | Cross-chain premium — higher integration cost | + +## Pipeline Stages + +``` +DISCOVER → SCORE → VERIFY → OUTREACH → NEGOTIATE → LIST +``` + +### 1. Discover +Buzz scans DexScreener, AIXBT, and KOL sources for emerging tokens meeting minimum metrics. + +### 2. Score +100-point scoring system applied. See references/token-scoring.md for full methodology. + +### 3. Verify +Before outreach, every token must pass: +- ✅ Contract address confirmed on chain explorer +- ✅ Pair address matches DexScreener URL +- ✅ Token age verified from pair creation date +- ✅ Liquidity cross-checked across sources +- ✅ NOT already on major CEXs +- ✅ Social links working and active +- ✅ Team or community is contactable + +### 4. Outreach +Buzz drafts personalized outreach emails. All outreach requires human approval (Ogie) before sending. + +### 5. Negotiate +SolCex team handles listing terms, technical integration requirements, and timeline. + +### 6. List +Token goes live on SolCex Exchange. + +## Outreach Channels + +| Priority | Channel | Notes | +|----------|---------|-------| +| 1 | Email | Professional, trackable, preferred | +| 2 | Twitter DM | Quick, informal, good for initial contact | +| 3 | Telegram | Community-focused projects | +| 4 | Discord | Dev-focused projects | + +## Contact + +- **Email:** buzzbysolcex@gmail.com +- **Twitter:** [@BuzzBySolCex](https://x.com/BuzzBySolCex) +- **GitHub:** [buzzbysolcex/buzz-bd-agent](https://github.com/buzzbysolcex/buzz-bd-agent) diff --git a/buzzbd/references/token-scoring.md b/buzzbd/references/token-scoring.md new file mode 100644 index 00000000..99aa7226 --- /dev/null +++ b/buzzbd/references/token-scoring.md @@ -0,0 +1,126 @@ +# Token Scoring Methodology + +## Overview + +BuzzBD's 100-point scoring system evaluates tokens across 6 weighted factors with catalyst adjustments. The system is designed to identify tokens with genuine CEX listing potential while filtering out high-risk or low-quality projects. + +## Base Scoring (100 points) + +### Market Cap (20 points) + +| Range | Points | Rationale | +|-------|--------|-----------| +| >$10M | 20 | Established project with proven market interest | +| $5M-$10M | 16 | Strong mid-cap with growth potential | +| $1M-$10M | 12 | Meets minimum CEX threshold | +| $500K-$1M | 8 | Borderline — monitor for growth | +| <$500K | 4 | Too early for CEX listing | + +### Liquidity (25 points) + +Liquidity is weighted highest because it directly impacts listing viability. CEXs need sufficient DEX liquidity for price discovery and arbitrage. + +| Range | Points | Rationale | +|-------|--------|-----------| +| >$500K | 25 | Excellent — supports CEX trading pairs | +| $200K-$500K | 20 | Good — adequate for initial listing | +| $100K-$200K | 15 | Minimum viable for small CEX | +| $50K-$100K | 8 | Below threshold — high risk | +| <$50K | 3 | Insufficient for CEX listing | + +**Hard minimum:** $100K liquidity required for pipeline inclusion. + +### 24h Volume (20 points) + +| Range | Points | Rationale | +|-------|--------|-----------| +| >$1M | 20 | High demand — active trading | +| $500K-$1M | 16 | Strong volume for listing size | +| $100K-$500K | 12 | Adequate activity | +| $50K-$100K | 6 | Low but present | +| <$50K | 2 | Insufficient market interest | + +### Social Metrics (15 points) + +| Presence | Points | Criteria | +|----------|--------|----------| +| All platforms | 15 | Twitter + Telegram + Discord + Website active | +| 2+ platforms | 10 | At least two active community channels | +| 1 platform | 5 | Single channel presence | +| None | 0 | No community = no listing | + +### Token Age (10 points) + +| Age | Points | Rationale | +|-----|--------|-----------| +| >90 days | 10 | Survived initial volatility | +| 30-90 days | 7 | Building track record | +| 7-30 days | 4 | New but established | +| <7 days | 2 | Too new — wait and monitor | + +### Team Transparency (10 points) + +| Level | Points | Criteria | +|-------|--------|---------| +| Doxxed + active | 10 | Team publicly known, regular updates | +| Partially doxxed | 7 | Some team members known | +| Anonymous + active | 4 | Anonymous but responsive | +| Anonymous + silent | 1 | High risk | + +## Catalyst Adjustments + +Catalysts modify the base score based on real-world events and signals. + +### Positive Catalysts + +| Catalyst | Bonus | Detection Source | +|----------|-------|-----------------| +| Hackathon win | +10 | Manual / news | +| Mainnet launch | +10 | DexScreener / Twitter | +| Major partnership | +10 | News / social | +| CEX listing elsewhere | +8 | CoinGecko / CMC | +| Audit completed | +8 | Audit reports | +| AIXBT + DexScreener cross-match | +5 | Multi-source | +| x402 whale alert confirmed | +5 | Einstein AI | +| KOL accumulation signal | +5 | leak.me | +| Bullish KOL sentiment | +3 | leak.me | + +### Negative Catalysts + +| Catalyst | Penalty | Detection Source | +|----------|---------|-----------------| +| Delisting risk | -15 | News / social | +| Exploit history | -15 | Security reports | +| Rugpull association | -15 | Community reports | +| Team controversy | -10 | Social / news | +| Smart contract vulnerability | -10 | Audit / reports | +| KOL risk flag | -10 | leak.me | +| Already on major CEXs | -5 | CoinGecko | + +## Score Interpretation + +| Range | Tag | Recommended Action | +|-------|-----|-------------------| +| 85-100 | 🔥 HOT | Immediate outreach — top priority | +| 70-84 | ✅ Qualified | Add to pipeline — standard outreach | +| 50-69 | 👀 Watch | Monitor for 48h — may improve | +| 0-49 | ❌ Skip | Do not pursue | + +## Cross-Reference Rules + +1. **Multi-source confirmation required** — No token qualifies on a single data source +2. **Contract address verification** — Always verify by address, never by name alone +3. **Liquidity floor** — Hard minimum of $100K regardless of other factors +4. **CEX check** — Already on Binance/Coinbase/OKX/Bybit = lower priority +5. **Chain filter** — Only Solana, Ethereum, BSC qualify for SolCex listing + +## Special Flags + +| Flag | Meaning | +|------|---------| +| `[HIGH CONVICTION]` | Appears on both AIXBT AND DexScreener trending | +| `[WHALE ALERT]` | Einstein AI confirmed whale activity | +| `[BREAKING]` | Gloria AI breaking news catalyst | +| `[KOL SIGNAL]` | leak.me smart money tracking detected | +| `[VERIFIED]` | Full data verification complete | +| `[REVENUE SIGNAL]` | ETH/BSC token with score 80+ (cross-chain premium fee) | diff --git a/buzzbd/scripts/buzzbd.sh b/buzzbd/scripts/buzzbd.sh new file mode 100644 index 00000000..8faca7ee --- /dev/null +++ b/buzzbd/scripts/buzzbd.sh @@ -0,0 +1,328 @@ +#!/bin/sh +# BuzzBD Token Intelligence Script +# Usage: buzzbd.sh +# Commands: score, qualify, report, chains + +set -e + +DEXSCREENER_API="https://api.dexscreener.com/tokens/v1" + +# Colors +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +CYAN='\033[0;36m' +NC='\033[0m' + +usage() { + echo "🐝 BuzzBD Token Intelligence" + echo "" + echo "Usage: buzzbd.sh [args]" + echo "" + echo "Commands:" + echo " score
Score a token (0-100)" + echo " qualify
Quick qualification check" + echo " report
Full intelligence report" + echo " chains List supported chains" + echo "" + echo "Chains: solana, ethereum, bsc" + echo "" + echo "Example:" + echo " buzzbd.sh score 7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr solana" +} + +list_chains() { + echo "🐝 BuzzBD Supported Chains" + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━" + echo " solana | \$5,000 USDC | Primary" + echo " ethereum | \$7,500 USDC | Cross-chain premium" + echo " bsc | \$7,500 USDC | Cross-chain premium" + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━" +} + +fetch_token() { + ADDRESS="$1" + CHAIN="$2" + + # Map chain names to DexScreener chain IDs + case "$CHAIN" in + solana|sol) DS_CHAIN="solana" ;; + ethereum|eth) DS_CHAIN="ethereum" ;; + bsc|bnb) DS_CHAIN="bsc" ;; + *) echo "❌ Unsupported chain: $CHAIN"; exit 1 ;; + esac + + # Fetch from DexScreener + RESPONSE=$(curl -s "${DEXSCREENER_API}/${DS_CHAIN}/${ADDRESS}") + + if echo "$RESPONSE" | grep -q '"pairs":\[\]' 2>/dev/null || echo "$RESPONSE" | grep -q '"pairs":null' 2>/dev/null; then + echo "❌ Token not found on DexScreener for chain: $CHAIN" + echo " Address: $ADDRESS" + echo " Verify the contract address and chain are correct." + exit 1 + fi + + echo "$RESPONSE" +} + +score_token() { + ADDRESS="$1" + CHAIN="$2" + + DATA=$(fetch_token "$ADDRESS" "$CHAIN") + + # Extract metrics from first pair (highest liquidity) + MCAP=$(echo "$DATA" | python3 -c " +import sys, json +d = json.load(sys.stdin) +pairs = d if isinstance(d, list) else d.get('pairs', d.get('pair', [])) +if isinstance(pairs, list) and len(pairs) > 0: + p = pairs[0] + print(p.get('marketCap', p.get('fdv', 0)) or 0) +else: + print(0) +" 2>/dev/null || echo "0") + + LIQUIDITY=$(echo "$DATA" | python3 -c " +import sys, json +d = json.load(sys.stdin) +pairs = d if isinstance(d, list) else d.get('pairs', d.get('pair', [])) +if isinstance(pairs, list) and len(pairs) > 0: + p = pairs[0] + liq = p.get('liquidity', {}) + print(liq.get('usd', 0) if isinstance(liq, dict) else 0) +else: + print(0) +" 2>/dev/null || echo "0") + + VOLUME=$(echo "$DATA" | python3 -c " +import sys, json +d = json.load(sys.stdin) +pairs = d if isinstance(d, list) else d.get('pairs', d.get('pair', [])) +if isinstance(pairs, list) and len(pairs) > 0: + p = pairs[0] + vol = p.get('volume', {}) + print(vol.get('h24', 0) if isinstance(vol, dict) else 0) +else: + print(0) +" 2>/dev/null || echo "0") + + TOKEN_NAME=$(echo "$DATA" | python3 -c " +import sys, json +d = json.load(sys.stdin) +pairs = d if isinstance(d, list) else d.get('pairs', d.get('pair', [])) +if isinstance(pairs, list) and len(pairs) > 0: + bt = pairs[0].get('baseToken', {}) + print(bt.get('name', 'Unknown')) +else: + print('Unknown') +" 2>/dev/null || echo "Unknown") + + TOKEN_SYMBOL=$(echo "$DATA" | python3 -c " +import sys, json +d = json.load(sys.stdin) +pairs = d if isinstance(d, list) else d.get('pairs', d.get('pair', [])) +if isinstance(pairs, list) and len(pairs) > 0: + bt = pairs[0].get('baseToken', {}) + print(bt.get('symbol', '???')) +else: + print('???') +" 2>/dev/null || echo "???") + + # Calculate score + SCORE=$(python3 -c " +mcap = float('${MCAP}') +liq = float('${LIQUIDITY}') +vol = float('${VOLUME}') + +score = 0 + +# Market Cap (20 pts) +if mcap > 10000000: score += 20 +elif mcap > 5000000: score += 16 +elif mcap > 1000000: score += 12 +elif mcap > 500000: score += 8 +else: score += 4 + +# Liquidity (25 pts) +if liq > 500000: score += 25 +elif liq > 200000: score += 20 +elif liq > 100000: score += 15 +elif liq > 50000: score += 8 +else: score += 3 + +# Volume (20 pts) +if vol > 1000000: score += 20 +elif vol > 500000: score += 16 +elif vol > 100000: score += 12 +elif vol > 50000: score += 6 +else: score += 2 + +# Social/Age/Team estimated at midrange (35 pts) +# Full scoring requires manual verification +score += 17 + +print(score) +" 2>/dev/null || echo "0") + + # Determine category + if [ "$SCORE" -ge 85 ]; then + CATEGORY="HOT" + EMOJI="🔥" + elif [ "$SCORE" -ge 70 ]; then + CATEGORY="Qualified" + EMOJI="✅" + elif [ "$SCORE" -ge 50 ]; then + CATEGORY="Watch" + EMOJI="👀" + else + CATEGORY="Skip" + EMOJI="❌" + fi + + # Listing fee + case "$CHAIN" in + solana|sol) FEE="5,000" ;; + *) FEE="7,500" ;; + esac + + echo "$SCORE|$CATEGORY|$EMOJI|$TOKEN_NAME|$TOKEN_SYMBOL|$MCAP|$LIQUIDITY|$VOLUME|$FEE" +} + +cmd_score() { + ADDRESS="$1" + CHAIN="$2" + RESULT=$(score_token "$ADDRESS" "$CHAIN") + + SCORE=$(echo "$RESULT" | cut -d'|' -f1) + CATEGORY=$(echo "$RESULT" | cut -d'|' -f2) + EMOJI=$(echo "$RESULT" | cut -d'|' -f3) + NAME=$(echo "$RESULT" | cut -d'|' -f4) + SYMBOL=$(echo "$RESULT" | cut -d'|' -f5) + + echo "🐝 BuzzBD Score: ${NAME} (${SYMBOL})" + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━" + echo " Score: ${SCORE}/100 ${EMOJI} ${CATEGORY}" + echo " Chain: ${CHAIN}" + echo " Address: ${ADDRESS}" + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━" + echo "" + echo "Note: Social metrics, token age, and team transparency" + echo "require manual verification for full accuracy." +} + +cmd_qualify() { + ADDRESS="$1" + CHAIN="$2" + RESULT=$(score_token "$ADDRESS" "$CHAIN") + + SCORE=$(echo "$RESULT" | cut -d'|' -f1) + CATEGORY=$(echo "$RESULT" | cut -d'|' -f2) + LIQUIDITY=$(echo "$RESULT" | cut -d'|' -f7) + NAME=$(echo "$RESULT" | cut -d'|' -f4) + FEE=$(echo "$RESULT" | cut -d'|' -f9) + + LIQ_OK=$(python3 -c "print('YES' if float('${LIQUIDITY}') >= 100000 else 'NO')") + + echo "🐝 BuzzBD Qualification: ${NAME}" + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" + if [ "$SCORE" -ge 70 ] && [ "$LIQ_OK" = "YES" ]; then + echo " ✅ QUALIFIED for SolCex listing" + echo " Score: ${SCORE}/100" + echo " Listing fee: \$${FEE} USDC" + echo " Contact: buzzbysolcex@gmail.com" + else + echo " ❌ NOT QUALIFIED" + echo " Score: ${SCORE}/100 (need 70+)" + echo " Liquidity check: ${LIQ_OK} (need \$100K+)" + fi + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" +} + +cmd_report() { + ADDRESS="$1" + CHAIN="$2" + RESULT=$(score_token "$ADDRESS" "$CHAIN") + + SCORE=$(echo "$RESULT" | cut -d'|' -f1) + CATEGORY=$(echo "$RESULT" | cut -d'|' -f2) + EMOJI=$(echo "$RESULT" | cut -d'|' -f3) + NAME=$(echo "$RESULT" | cut -d'|' -f4) + SYMBOL=$(echo "$RESULT" | cut -d'|' -f5) + MCAP=$(echo "$RESULT" | cut -d'|' -f6) + LIQUIDITY=$(echo "$RESULT" | cut -d'|' -f7) + VOLUME=$(echo "$RESULT" | cut -d'|' -f8) + FEE=$(echo "$RESULT" | cut -d'|' -f9) + + MCAP_FMT=$(python3 -c "print(f'\${float(\"${MCAP}\"):,.0f}')") + LIQ_FMT=$(python3 -c "print(f'\${float(\"${LIQUIDITY}\"):,.0f}')") + VOL_FMT=$(python3 -c "print(f'\${float(\"${VOLUME}\"):,.0f}')") + + echo "🐝 BUZZBD INTELLIGENCE REPORT" + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" + echo "" + echo "Token: ${NAME} (${SYMBOL})" + echo "Chain: ${CHAIN}" + echo "Contract: ${ADDRESS}" + echo "Score: ${SCORE}/100 — ${EMOJI} ${CATEGORY}" + echo "" + echo "📊 BASE METRICS" + echo " Market Cap: ${MCAP_FMT}" + echo " Liquidity: ${LIQ_FMT}" + echo " 24h Volume: ${VOL_FMT}" + echo "" + echo "📡 INTELLIGENCE SIGNALS" + echo " DexScreener: ✅ Data available" + echo " AIXBT Momentum: ⏳ Requires separate check" + echo " KOL Activity: ⏳ Requires separate check" + echo "" + echo "🎯 LISTING ASSESSMENT" + if [ "$SCORE" -ge 70 ]; then + echo " Qualification: ✅ QUALIFIED" + echo " Listing Fee: \$${FEE} USDC" + else + echo " Qualification: ❌ NOT QUALIFIED (score ${SCORE}, need 70+)" + fi + echo "" + echo "📋 NEXT STEPS" + if [ "$SCORE" -ge 85 ]; then + echo " → Immediate outreach recommended" + echo " → Contact: buzzbysolcex@gmail.com" + elif [ "$SCORE" -ge 70 ]; then + echo " → Added to priority queue" + echo " → Contact: buzzbysolcex@gmail.com" + elif [ "$SCORE" -ge 50 ]; then + echo " → Monitor for 48h — may improve" + else + echo " → Does not meet criteria at this time" + fi + echo "" + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" + echo "BuzzBD by SolCex Exchange" + echo "https://github.com/buzzbysolcex/buzz-bd-agent" +} + +# Main +case "${1:-}" in + score) + [ -z "${2:-}" ] && { echo "❌ Missing contract address"; usage; exit 1; } + [ -z "${3:-}" ] && { echo "❌ Missing chain"; usage; exit 1; } + cmd_score "$2" "$3" + ;; + qualify) + [ -z "${2:-}" ] && { echo "❌ Missing contract address"; usage; exit 1; } + [ -z "${3:-}" ] && { echo "❌ Missing chain"; usage; exit 1; } + cmd_qualify "$2" "$3" + ;; + report) + [ -z "${2:-}" ] && { echo "❌ Missing contract address"; usage; exit 1; } + [ -z "${3:-}" ] && { echo "❌ Missing chain"; usage; exit 1; } + cmd_report "$2" "$3" + ;; + chains) + list_chains + ;; + *) + usage + ;; +esac