GXQ Studio is a production-ready Solana trading bot system with multiple deployment options, comprehensive monitoring, and enterprise-grade security.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β USER LAYER β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
β β Trader β β Admin β β CLI β β API β β
β β (Web) β β (Panel) β β Tools β β Client β β
β ββββββ¬ββββββ ββββββ¬ββββββ ββββββ¬ββββββ ββββββ¬ββββββ β
βββββββββΌββββββββββββββΌββββββββββββββΌββββββββββββββΌββββββββββββββ
β β β β
βββββββββββββββ΄ββββββββββββββ΄ββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FRONTEND LAYER β
β Next.js 16 App Router + React 19 + Tailwind CSS 4 β
β β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
β β /swap β β /admin β β/arbitrageβ β/launchpadβ β
β β (Trade) β β (Control)β β (Scan) β β (Launch) β β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
β β /sniper β β /staking β β/airdrop β β/analysis β β
β β (Bot) β β (Stake) β β (Check) β β (Wallet) β β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
β β
β Wallet Adapters: Phantom, Solflare, Backpack, Glow, etc. β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β API LAYER β
β Serverless Functions (Vercel) or Express (Railway) β
β β
β PUBLIC ENDPOINTS: β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β /monitor β β /execute β β /health β β
β β (cron) β β (cron) β β (GET) β β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β
β ADMIN ENDPOINTS (JWT Required): β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
β β /auth β β /control β β /metrics β β /logs β β
β β (POST) β β (POST) β β (GET) β β (GET) β β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CORE LIBRARY LAYER β
β Business Logic & Trading Engine β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β SCANNER (lib/scanner.ts) β β
β β β’ Parallel token pair scanning β β
β β β’ Multi-strategy detection β β
β β β’ Jupiter price comparison β β
β β β’ Profit calculation with fees β β
β β β’ Confidence scoring β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β EXECUTOR (lib/executor.ts) β β
β β β’ Jupiter swap building β β
β β β’ Dynamic priority fees β β
β β β’ Transaction signing β β
β β β’ Confirmation tracking β β
β β β’ Retry with exponential backoff β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β LOGGER (lib/logger.ts) β β
β β β’ Structured JSON logging β β
β β β’ Multiple log levels β β
β β β’ Request ID tracking β β
β β β’ Performance timing β β
β β β’ Color-coded console (dev) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β AUTH (lib/auth.ts) β β
β β β’ JWT generation/verification β β
β β β’ Bcrypt password hashing β β
β β β’ Rate limiting β β
β β β’ Token extraction β β
β β β’ API key management β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BLOCKCHAIN LAYER β
β Solana Mainnet Integration β
β β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
β β Solana β β Jupiter β β Flash β β DEXs β β
β β RPC β β API v6 β β Loans β β (Multi) β β
β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β
β β β β β β
β β β β β β
β ββββββ΄βββββ ββββββ΄βββββ ββββββ΄βββββ ββββββ΄βββββ β
β β Balance β β Quote β βMarginfi β βRaydium β β
β βTransaction β Swap β β Solend β β Orca β β
β β Confirm β β Route β β Mango β βMeteora β β
β βββββββββββ βββββββββββ β Kamino β βPhoenix β β
β β Port β β Pump.funβ β
β βββββββββββ βββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββ
β CRON β (Vercel: Every 1 min)
β TRIGGER β (Railway: Continuous)
ββββββ¬βββββ
β
βΌ
ββββββββββββββββββββ
β /api/monitor β
β β’ Auth check β
β β’ RPC connect β
ββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β lib/scanner β
β β’ Fetch pairs β
β β’ Get quotes β
β β’ Calculate β
β β’ Filter β
ββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β Jupiter API β
β β’ Quote request β
β β’ Route plan β
ββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β Opportunities β
β β’ Stored/cached β
β β’ Logged β
ββββββββββββββββββββ
βββββββββββ
β CRON β (Vercel: Every 5 min)
β TRIGGER β (Railway: Immediate)
ββββββ¬βββββ
β
βΌ
ββββββββββββββββββββ
β /api/execute β
β β’ Auth check β
β β’ Load wallet β
β β’ Check balance β
ββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β Validate Opps β
β β’ Re-check β
β β’ Still valid? β
ββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β lib/executor β
β β’ Build tx β
β β’ Sign tx β
β β’ Send tx β
ββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β Jupiter Swap β
β β’ Quote β
β β’ Transaction β
ββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β Solana Network β
β β’ Broadcast β
β β’ Confirm β
ββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β Result β
β β’ Log trade β
β β’ Update metricsβ
β β’ Record profit β
ββββββββββββββββββββ
βββββββββββ
β ADMIN β
β PANEL β
ββββββ¬βββββ
β
βΌ
ββββββββββββββββββββ
β /api/admin/auth β
β β’ Credentials β
β β’ Rate limit β
β β’ Hash check β
ββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β JWT Token β
β β’ 24h validity β
β β’ Stored client β
ββββββ¬ββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββ
β Authenticated Actions β
β ββββββββββββββ ββββββββββββββββββββ β
β β /control β β /metrics β β
β β start/stopβ β profit/trades β β
β ββββββββββββββ ββββββββββββββββββββ β
β ββββββββββββββ ββββββββββββββββββββ β
β β /logs β β /opportunities β β
β β view/export β live feed β β
β ββββββββββββββ ββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β Vercel Edge Network β
β ββββββββββββββ ββββββββββββββ β
β β CDN β β HTTPS β β
β ββββββββββββββ ββββββββββββββ β
ββββββββββββββ¬ββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββ
β Serverless Functions β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β monitor β β execute β β health β β
β β (60s) β β (60s) β β (10s) β β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β auth β β control β β metrics β β
β β (10s) β β (10s) β β (30s) β β
β ββββββββββββ ββββββββββββ ββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββ
β Vercel Cron Jobs β
β β’ /api/monitor - Every 1 minute β
β β’ /api/execute - Every 5 minutes β
ββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β Railway Service β
β ββββββββββββββ ββββββββββββββ β
β β Load Balancer β HTTPS β β
β ββββββββββββββ ββββββββββββββ β
ββββββββββββββ¬ββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββ
β Express.js Server β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β /health β β /metrics β β /control β β
β β (GET) β β (GET) β β (POST) β β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β Background Monitoring Loop β β
β β β’ Continuous (5-second cycle) β β
β β β’ Scan β Execute β Repeat β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β Auto-Restart on Failure β β
β β β’ Max 10 retries β β
β β β’ Graceful shutdown (SIGTERM) β β
β ββββββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β Security Layers β
β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β NETWORK SECURITY β β
β β β’ HTTPS only β β
β β β’ CORS configuration β β
β β β’ DDoS protection (Vercel/Railway) β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β AUTHENTICATION β β
β β β’ JWT tokens (24h expiry) β β
β β β’ Bcrypt hashing (10 rounds) β β
β β β’ Rate limiting (5/15min) β β
β β β’ Cron authorization β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β SECRETS MANAGEMENT β β
β β β’ Environment variables β β
β β β’ No hardcoded keys β β
β β β’ .env isolation β β
β β β’ No logs of secrets β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β WALLET SECURITY β β
β β β’ Base58 private key β β
β β β’ Balance checks β β
β β β’ Transaction confirmation β β
β β β’ Dedicated trading wallet β β
β ββββββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β Monitoring & Observability β
β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β HEALTH MONITORING β β
β β β’ RPC latency tracking β β
β β β’ Wallet balance monitoring β β
β β β’ API availability checks β β
β β β’ Error rate calculation β β
β β β’ Uptime tracking β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β PERFORMANCE METRICS β β
β β β’ Scan frequency/duration β β
β β β’ Trade execution time β β
β β β’ Success/failure rates β β
β β β’ Gas usage tracking β β
β β β’ Profit accumulation β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β LOGGING β β
β β β’ Structured JSON logs β β
β β β’ Multiple severity levels β β
β β β’ Request ID tracking β β
β β β’ Performance timing β β
β β β’ Trade audit trail β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β ALERTING (Future) β β
β β β’ Low balance warnings β β
β β β’ High error rate alerts β β
β β β’ RPC failure notifications β β
β β β’ Unusual activity detection β β
β ββββββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββ
β Trading Strategies β
β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β ARBITRAGE β β
β β β’ Cross-DEX price differences β β
β β β’ Buy low, sell high β β
β β β’ Small capital, frequent trades β β
β β β’ 0.3-1% profit target β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β FLASH LOAN ARBITRAGE β β
β β β’ Borrow large amount (no collateral) β β
β β β’ Execute arbitrage trade β β
β β β’ Repay loan + fee (0.09%) β β
β β β’ Keep profit β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββ β
β β TRIANGULAR ARBITRAGE β β
β β β’ Three-way currency exchange β β
β β β’ SOL β USDC β USDT β SOL β β
β β β’ Exploit price inefficiencies β β
β β β’ Higher complexity, higher reward β β
β ββββββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββ
- Framework: Next.js 16 (App Router)
- UI Library: React 19
- Styling: Tailwind CSS 4
- 3D Graphics: Three.js, React Three Fiber
- Animation: Framer Motion
- Wallet: @solana/wallet-adapter-react
- Runtime: Node.js 18
- Language: TypeScript (ES2022)
- Blockchain: @solana/web3.js
- DEX: @jup-ag/api (Jupiter v6)
- Server: Express.js (Railway mode)
- Auth: jsonwebtoken, bcrypt
- Serverless: Vercel Functions
- Continuous: Railway
- Container: Docker (Alpine Linux)
- Build: Nixpacks / Dockerfile
- Logging: Custom structured logger
- Metrics: In-memory tracking
- Health: HTTP endpoints
- Multiple bot instances per user
- Load balancing via Railway/cloud
- Distributed caching (future: Redis)
- Database for persistent state (future: PostgreSQL)
- Increase RPC rate limits
- Premium RPC providers
- Larger trade sizes
- More frequent scans
- Connection pooling
- Request caching
- Parallel processing
- Efficient algorithms
GXQ Studio uses Winston for centralized, structured logging with the following features:
Log Levels:
error: Critical errors requiring immediate attentionwarn: Warning conditions that should be reviewedinfo: Informational messages about normal operationsdebug: Detailed debugging informationverbose: Very detailed trace information
Log Features:
- Request ID Tracking: Each request gets a unique ID for tracing
- Context-Aware Logging: Logs include context (e.g., "RPC", "Transaction", "Auth")
- Structured Metadata: JSON-formatted additional information
- Log Rotation: Automatic rotation at 5MB (5 error files, 10 combined files)
- Multiple Transports: Console (colorized) + File output
Specialized Logging Methods:
import { Logger } from './utils/logger';
const logger = new Logger('MyService');
// RPC errors
logger.rpcError('getBalance', error, { address: '...' });
// Transaction failures
logger.transactionError(signature, error, { amount, token });
// Authentication events
logger.authEvent('login', true, { username });
// Arbitrage opportunities
logger.opportunity(profitAmount, ['DEX1', 'DEX2'], { slippage });
// Trade execution
logger.trade('flash-loan-arbitrage', true, { profit, signature });Log Files:
logs/error.log- Error-level messages onlylogs/combined.log- All log levels
Environment Variable:
LOG_LEVEL- Set log level (default: 'info')
The project enforces TypeScript strict mode for maximum type safety:
{
"compilerOptions": {
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"types": ["node", "jest"]
}
}Type Definitions:
- All external modules have proper
@types/*packages installed - Custom types defined in
src/types.ts - Test files excluded from build (use separate tsconfig for tests)
ESLint Rules:
@typescript-eslint/no-explicit-any: warn (not error)@typescript-eslint/no-unused-vars: error (withargsIgnorePattern: "^_")
For detailed deployment instructions, see:
QUICKSTART.md- 5-minute setupdocs/archive/DEPLOYMENT.md- Complete guide (archived)