Real-time AI-powered transaction security for Base blockchain that prevents users from falling victim to scams, exploits, and malicious contracts.
- Node.js 18+
- PostgreSQL 12+
- API keys for external services (optional for development)
- Install dependencies
npm install- Set up environment variables
cp .env.example .env
# Edit .env with your configuration- Set up database
# Create PostgreSQL database
createdb firewall_db
# The database schema will be initialized automatically on first run- Start development server
npm run devThe API will be available at http://localhost:3001
GET /health- Basic health checkGET /api/health/detailed- Detailed health with dependency checks
POST /api/analysis/transaction- Analyze a single transactionPOST /api/analysis/simulate- Simulate a transactionPOST /api/analysis/batch- Analyze multiple transactionsGET /api/analysis/history/:userAddress- Get analysis history
GET /api/address/:address/risk- Check address risk level
GET /api/dashboard/:userAddress- Get user security dashboard
curl -X POST http://localhost:3001/api/analysis/transaction \
-H "Content-Type: application/json" \
-d @test-transaction.json{
"success": true,
"data": {
"riskScore": 15,
"riskLevel": "LOW",
"warnings": [],
"analysis": {
"isKnownScam": false,
"hasSuspiciousCode": false,
"hasUnlimitedApprovals": false,
"isNewContract": false,
"simulationResult": {
"success": true,
"gasUsed": "21000"
},
"aiAnalysis": {
"contractRisk": 0,
"riskFactors": []
}
},
"recommendation": "PROCEED",
"userFriendlyMessage": "β
LOW RISK: This transaction appears safe to proceed."
},
"message": "Transaction analysis completed",
"timestamp": "2025-01-13T19:30:00.000Z"
}- TransactionAnalyzer - Main analysis orchestrator
- RiskScoringService - Calculates risk scores
- SimulationService - Simulates transactions (Tenderly integration)
- AIService - AI contract analysis (OpenAI integration)
- ScamDatabaseService - Maintains known scam addresses
- ContractService - Fetches and caches contract information
const riskScore =
+ (isKnownScam ? 90 : 0)
+ (hasSuspiciousCode ? 60 : 0)
+ (hasUnlimitedApprovals ? 40 : 0)
+ (isNewContract ? 30 : 0)
+ (simulationFailed ? 50 : 0)
+ aiRiskScore
+ gasRiskScore
+ transactionRiskScore;- 0-24: LOW (β Proceed)
- 25-49: MEDIUM (
β οΈ Caution) - 50-74: HIGH (
β οΈ Caution) - 75-100: CRITICAL (π¨ Block)
# Server
PORT=3001
NODE_ENV=development
# Database (PostgreSQL)
DATABASE_URL=postgresql://username:password@host:port/database
# Blockchain
BASE_RPC_URL=https://mainnet.base.org
ALCHEMY_API_KEY=your_alchemy_key
# External APIs
OPENAI_API_KEY=your_openai_key
TENDERLY_ACCESS_KEY=your_tenderly_key
TENDERLY_USER=your_tenderly_user
TENDERLY_PROJECT=your_tenderly_project
CHAINABASE_API_KEY=your_chainabase_keyThe API automatically creates the following tables:
scam_addresses- Known scam/malicious addressesuser_transactions- Transaction analysis historyuser_security_scores- User security scoringcontract_info- Contract information cacherisk_patterns- Risk pattern definitions
npm run dev- Start development server with hot reloadnpm run build- Build TypeScript to JavaScriptnpm start- Start production servernpm test- Run tests (coming soon)
src/
βββ config/ # Configuration and database setup
βββ controllers/ # Request handlers
βββ middleware/ # Express middleware
βββ routes/ # API route definitions
βββ services/ # Business logic services
βββ types/ # TypeScript type definitions
βββ utils/ # Utility functions
βββ server.ts # Express server setup
- Build the application
npm run build- Set production environment variables
NODE_ENV=production
# Set all required API keys- Start the server
npm startdocker build -t transaction-firewall-api .
docker run -p 3001:3001 transaction-firewall-api- β Rate limiting
- β CORS protection
- β Helmet security headers
- β Input validation
- β SQL injection prevention
- β Error handling
- Basic API server setup
- Database schema and connection
- Transaction analysis framework
- Risk scoring algorithm
- Health check endpoints
- Error handling and logging
- Input validation
- Tenderly simulation integration
- OpenAI contract analysis
- Chainabase scam database
- WebSocket real-time alerts
- Frontend integration
- Advanced ML models
- Multi-chain support
- Browser extension
- Community reporting
This is a hackathon project. Contributions welcome!
MIT License - See LICENSE file for details