AnishDe12020/vibecheck

โ˜… 0Forks 0TypeScriptGitHub โ†—Compare

Project website โ†—

README

๐Ÿ” VibeCheck โ€” AI Token Safety Scanner

Paste any BSC token address โ†’ get an instant AI-powered safety analysis โ†’ on-chain attestation on opBNB.

๐ŸŒ Live Demo: opvibecheck.xyz
โš”๏ธ Comparison: opvibecheck.xyz/compare
๐Ÿ‘› Portfolio Scanner: opvibecheck.xyz/portfolio
๐Ÿ“œ Contract: 0x427F...AA161 on opBNB (v2, with access control)
๐Ÿ—๏ธ Track: Consumer
๐ŸŽฏ Hackathon: Good Vibes Only: OpenClaw Edition

What it does

VibeCheck helps users evaluate the safety of any BEP-20 token on BNB Smart Chain before investing. It combines on-chain data analysis with AI to provide a clear, actionable safety report.

Key Features

  • Instant AI Safety Analysis โ€” Powered by Gemini 3 Flash for lightning-fast, high-reasoning audits.
  • On-Chain Attestations โ€” Every scan result is permanently recorded on opBNB as an immutable, verifiable proof.
  • โš”๏ธ Comparison Mode โ€” Compare two tokens side-by-side to make better investment decisions.
  • ๐Ÿ‘› Portfolio Scanner โ€” Paste any BSC wallet address, scan all held tokens in parallel.
  • Premium Visualization โ€” Holder concentration charts and liquidity depth bars.
  • Project Intel โ€” Deep-dive into verification status, ownership, and supply metrics.
  • Redis Caching โ€” Repeat scans return instantly via Upstash Redis (1hr TTL).

How it works

  1. Paste a token address โ€” any BSC BEP-20 contract
  2. On-chain data fetching โ€” contract source code, top holders, PancakeSwap liquidity, recent large transfers
  3. AI safety analysis โ€” Gemini 3.0 Flash Preview analyzes the data and produces a structured safety report
  4. Safety score 0-100 with risk level (SAFE / CAUTION / DANGER / CRITICAL)
  5. On-chain attestation โ€” the verdict is permanently recorded on opBNB

Risk categories

Category What it checks
๐Ÿ“œ Contract Safety Verified source, owner functions, mint/pause, honeypot patterns
๐Ÿฆ Holder Concentration Top holder %, whale risk, burned supply
๐Ÿ’ง Liquidity Health PancakeSwap depth, lock status, USD value
๐Ÿ“Š Trading Patterns Large transfers, suspicious activity, wash trading

Example Results

Token Score Risk Level
WBNB 100/100 โœ… SAFE
CAKE 98/100 โœ… SAFE
BabyDoge 88/100 โœ… SAFE
SafeMoon 15/100 ๐Ÿšจ CRITICAL
SquidGame 5/100 ๐Ÿšจ CRITICAL

Screenshots

Home Scan Result Comparison
Home Scan Compare

Tech Stack

  • Frontend: Next.js 16 + React 19 + Tailwind CSS v4
  • AI: Gemini 3.0 Flash Preview via OpenRouter
  • On-chain data: BSCScan API + ethers.js (direct RPC calls to BSC)
  • Attestation: Custom Solidity contract on opBNB (verified)
  • Liquidity: PancakeSwap V2 factory/pair contracts
  • Streaming: Server-Sent Events for real-time scan progress

Architecture

User โ†’ Next.js Frontend
         โ†“
    API Route (POST /api/scan-stream)
         โ†“
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚ 1. Fetch BSC Data          โ”‚
    โ”‚    โ€ข BSCScan API           โ”‚
    โ”‚    โ€ข Direct RPC (ethers)   โ”‚
    โ”‚    โ€ข PancakeSwap V2        โ”‚
    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
    โ”‚ 2. AI Analysis             โ”‚
    โ”‚    โ€ข Gemini 3.0 Flash via  โ”‚
    โ”‚      OpenRouter            โ”‚
    โ”‚    โ€ข Structured JSON       โ”‚
    โ”‚      output                โ”‚
    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
    โ”‚ 3. On-chain Attestation    โ”‚
    โ”‚    โ€ข VibeCheck.sol on      โ”‚
    โ”‚      opBNB                 โ”‚
    โ”‚    โ€ข Permanent record      โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ†“
    SSE Stream โ†’ Frontend
    (real-time progress updates)

Project Structure

vibecheck/
โ”œโ”€โ”€ contracts/
โ”‚   โ””โ”€โ”€ VibeCheck.sol          # On-chain attestation contract (opBNB)
โ”œโ”€โ”€ frontend/
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ app/
โ”‚       โ”‚   โ”œโ”€โ”€ page.tsx        # Main UI โ€” input, score gauge, report
โ”‚       โ”‚   โ”œโ”€โ”€ compare/        # โš”๏ธ Comparison mode
โ”‚       โ”‚   โ”œโ”€โ”€ portfolio/      # ๐Ÿ‘› Wallet portfolio scanner
โ”‚       โ”‚   โ”œโ”€โ”€ history/        # On-chain scan history + attestation proofs
โ”‚       โ”‚   โ””โ”€โ”€ api/
โ”‚       โ”‚       โ”œโ”€โ”€ scan/       # Original scan endpoint
โ”‚       โ”‚       โ”œโ”€โ”€ scan-stream/# SSE streaming scan
โ”‚       โ”‚       โ”œโ”€โ”€ total-scans/# Contract scan counter
โ”‚       โ”‚       โ””โ”€โ”€ history/    # On-chain history data
โ”‚       โ”œโ”€โ”€ components/
โ”‚       โ”‚   โ”œโ”€โ”€ HolderChart.tsx # ๐Ÿฆ Holder distribution
โ”‚       โ”‚   โ”œโ”€โ”€ LiquidityPanel.tsx# ๐Ÿ’ง Liquidity depth
โ”‚       โ”‚   โ””โ”€โ”€ TokenLogo.tsx   # ๐Ÿ–ผ๏ธ CDN-powered logos
โ”‚       โ””โ”€โ”€ lib/
โ”‚           โ”œโ”€โ”€ analyzer.ts     # AI analysis pipeline (Gemini 3.0)
โ”‚           โ”œโ”€โ”€ attester.ts     # opBNB attestation submission
โ”‚           โ”œโ”€โ”€ fetcher.ts      # BSC data fetching
โ”‚           โ”œโ”€โ”€ chain.ts        # ABIs, addresses, providers
โ”‚           โ””โ”€โ”€ types.ts        # TypeScript interfaces
โ”œโ”€โ”€ scripts/
โ”‚   โ””โ”€โ”€ deploy.js              # Contract deployment script
โ”œโ”€โ”€ AI_BUILD_LOG.md            # Detailed AI build log
โ””โ”€โ”€ README.md

Setup

# Clone
git clone https://github.com/AnishDe12020/vibecheck
cd vibecheck/frontend

# Install
npm install

# Configure
cp .env.local.example .env.local
# Fill in your keys (see .env.local.example)

# Run
npm run dev

Open http://localhost:3000, paste a BSC token address, hit Scan.

Contract Deployment

cd vibecheck
node scripts/deploy.js mainnet   # or 'testnet'

Requires opBNB gas in the deployer wallet. Current deployment cost: ~$0.003.

On-chain Proof

Security

API Rate Limiting

  • IP-based rate limiting: 5 scans per IP per hour
  • In-memory store (best-effort in serverless; for production, use Upstash Redis)
  • Applied to /api/scan and /api/scan-stream

Contract Access Control (v2)

  • onlyAuthorized modifier on submitAttestation โ€” only whitelisted scanner addresses can write
  • Owner can addScanner(address) / removeScanner(address)
  • Deployer is auto-authorized in constructor

Request Validation

  • Content-Type enforcement (must be application/json)
  • Max body size (1KB)
  • Input address validation via ethers.js

CORS

  • Restricted to vibecheck-bsc.vercel.app and localhost origins

Error Sanitization

  • Stack traces and file paths are stripped from client-facing errors

Production Improvements (not yet implemented)

  • Cloudflare WAF โ€” custom domain + Cloudflare proxy for DDoS protection and bot filtering
  • Upstash Redis rate limiter โ€” persistent, serverless-friendly rate limiting across all instances
  • Contract verification โ€” verify v2 contract source on opBNB BSCScan

AI Build Log

See AI_BUILD_LOG.md for a detailed breakdown of how AI was used throughout development.

TL;DR: Built over 2 days with Claude Opus 4 (via OpenClaw) handling architecture, coding, deployment, and testing. Gemini 3 Flash powers the runtime token analysis. Multi-agent parallel development with 5+ sub-agents for concurrent feature building.

License

MIT

Contributors

AnishDe12020

Issues