Solana wallet reputation analysis tool with sybil detection capabilities.
WalletGuard provides on-chain Solana wallet reputation scoring and sybil attack detection through a Rust-based API and React frontend.
- Wallet Reputation Scoring: Analyzes wallet trustworthiness based on on-chain activity
- Sybil Detection: Identifies clusters of wallets sharing funding sources
- Risk Metrics: Detailed analysis of wallet age, transaction patterns, and token interactions
- Caching: 24-hour local storage cache to reduce API calls
- Interactive Graph: Visual representation of wallet clusters and risk levels
.
├── backend/ # Rust API server
├── frontend/ # React + TypeScript + Vite frontend
└── README.md # This file
- Rust (for backend)
- Node.js (for frontend)
- Solana RPC URL (public RPCs are rate-limited, consider using a paid RPC)
cd backend
cp .env.example .env
# Edit .env and set SOLANA_RPC_URL
cargo runThe API will be available at http://localhost:3001
| Method | Path | Description |
|---|---|---|
| GET | /api/reputation?address= |
Full wallet reputation report |
| POST | /api/sybil-scan |
Batch wallet sybil analysis |
| GET | /health |
Health check |
cd backend
cargo build --release
./target/release/walletguard-apicd backend
docker build -t walletguard-api .
docker run -p 3001:3001 -e SOLANA_RPC_URL=... walletguard-apicd frontend
npm install
npm run devThe frontend will be available at http://localhost:5173
cd frontend
npm run buildUse these addresses to test the wallet reputation and sybil scanning features:
HgR2ifA5t7EMMfciZr65YZVaYxDQvUbLDrpd9tmkQT61
53unSgGWqEWANcPYRF35B2Bgf8BkszUtcccKiXwGGLyr
7sGdNQSvUGpahh6qyXB3g5gsdK9FAzZM299KyCXspump
42RLPACwZPx3vYYmxSueqsogfynBDqXK298EDsNoyoHi
7zqc5Zsqk4HPKrKZg9AhUkBQQej3HxRhqrQaRP1qoyY6
3JPYL9xEPFjefV3tccrUwhLzME1mMq2dQSDeDebgzQi6
CdFHmaj37EtjgRqvyt6vZqoA9tuMSvKLSmbgpuV6ejaP
hyDQ4Nz1eYyegS6JfenyKwKzYxRsCWCriYSAjtzP4Vg
HfMbPyDdZH6QMaDDUokjYCkHxzjoGBMpgaUvpLWGbF5p
25JUPL6ksapY1iCLWkFcSaXaA6Ar3W7JDCdPjeSApump
- Navigate to the "Wallet Check" tab
- Enter a Solana wallet address
- Click "Check wallet" to analyze
- Results are cached for 24 hours
- Navigate to the "Sybil Scan" tab
- Paste multiple wallet addresses (one per line)
- Click "Scan" to analyze batch
- View cluster graph and risk analysis
- Use "Force Refresh" to bypass cache
Both single wallet checks and sybil scans use localStorage caching:
- Cache duration: 24 hours
- Automatic cache expiration
- "Force Refresh" button to bypass cache
- Visual indicators show cached results with timestamps
The backend is built with Rust and uses:
- Solana RPC for on-chain data
- Optional RugCheck/Solsniffer integrations
- Custom reputation scoring algorithm
The frontend uses:
- React + TypeScript
- Vite for build tooling
- Canvas-based cluster graph visualization
- localStorage for caching
[Add your license here]