A comprehensive, production-grade analytics platform for the Ronin blockchain gaming economy. This project provides real-time insights into gaming performance, DeFi activity, NFT marketplace dynamics, and network health monitoring through multiple interfaces: a modern web dashboard, a Streamlit analytics app, and a robust FastAPI backend.
- Primary App/Dashboard (Next.js): https://ronin-network-tracker.vercel.app
- API Backend: Hosted on Railway
This platform aggregates and visualizes data from 13 different data sources (1 CoinGecko + 12 Dune Analytics queries) to provide a holistic view of the Ronin Network ecosystem. The architecture consists of three main components:
- FastAPI Backend - Raw data pass-through with 24-hour intelligent caching
- Next.js Frontend - Modern, interactive web dashboard with real-time updates
- Streamlit App - Professional analytics interface with advanced visualizations
- Gaming Intelligence: Player behavior analysis, game performance rankings, revenue optimization
- DeFi Analytics: Liquidity flow analysis, trading patterns, whale activity monitoring
- NFT Marketplace Intel: Collection performance metrics, floor price analytics, revenue breakdown
- Network Health Monitoring: Real-time performance scoring, congestion analysis, predictive alerts
- Token Holder Analytics: Distribution analysis, segmentation (whales, large holders, retail)
- User Retention Analysis: Cohort-based retention tracking with interactive heatmaps
- 24-hour intelligent caching system for optimal API usage
- Real-time alert system with severity levels
- Actionable recommendations and insights
- Interactive charts and visualizations (Plotly, Recharts)
- Dark/light mode with persistent preferences
- Responsive design for all devices
- Auto-refresh capabilities with manual override
- Time-based filtering (7, 30, 90 days, all time)
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β External APIs ββββββΆβ FastAPI Backend ββββββΆβ Application β
β β β (Railway) β β β
β β’ Dune (x12) β β β β β’ Next.js Web β
β β’ CoinGecko β β β’ 24hr Cache β β β
βββββββββββββββββββ β β’ Rate Limiting β βββββββββββββββββββ
β β’ Data Proxy β
ββββββββββββββββββββ
- External APIs β FastAPI fetches from Dune Analytics & CoinGecko
- Caching Layer β 24-hour cache with joblib for persistent storage
- API Endpoints β RESTful endpoints serve raw, unmanipulated data
- Frontend App β Next.js consume API data
- User Interface β Interactive visualizations and real-time updates
Production: https://web-production-4fae.up.railway.app
GET /api/raw/coingecko/ron- RON token market data
GET /api/raw/dune/ronin_daily_activity- Daily network metricsGET /api/raw/dune/games_overall_activity- Gaming statisticsGET /api/raw/dune/games_daily_activity- Daily gaming activityGET /api/raw/dune/user_activation_retention- User retention cohortsGET /api/raw/dune/ron_current_holders- Token holder dataGET /api/raw/dune/ron_segmented_holders- Holder segmentationGET /api/raw/dune/wron_active_trade_pairs- DEX trading pairsGET /api/raw/dune/wron_whale_tracking- Whale wallet activityGET /api/raw/dune/wron_volume_liquidity- Volume & liquidityGET /api/raw/dune/wron_trading_hourly- Hourly trading patternsGET /api/raw/dune/wron_weekly_segmentation- Weekly trader segmentsGET /api/raw/dune/nft_collections- NFT marketplace data
GET /api/cache/status- Cache status for all sourcesPOST /api/cache/refresh- Force refresh all dataPOST /api/cache/clear- Clear all cached dataGET /api/bulk/all- Get all data sources at once
- Framework: FastAPI
- Data Processing: Pandas, NumPy
- Caching: Joblib (24-hour persistent cache)
- APIs: Dune Analytics, CoinGecko Pro
- Async Operations: aiohttp, asyncio
- Deployment: Railway
- Framework: Next.js 15 with App Router
- UI Library: React 19, TypeScript
- Styling: Tailwind CSS v4, shadcn/ui
- Charts: Recharts
- Data Fetching: SWR (stale-while-revalidate)
- Icons: Lucide React
- Deployment: Vercel
ronin-ecosystem-tracker/
βββ main.py # FastAPI backend application
βββ ronin_tracker_app.py # Streamlit analytics app
βββ requirements.txt # Python dependencies
βββ .env # Environment variables (create locally)
βββ raw_data_cache/ # Cache directory (auto-created)
βββ frontend/ # Next.js application
β βββ app/
β β βββ api/ # Next.js API routes (proxy layer)
β β β βββ coingecko/
β β β β βββ ron/
β β β β βββ route.ts # RON token data endpoint
β β β βββ dune/
β β β βββ games-overall/
β β β βββ games-daily/
β β β βββ ronin-daily/
β β β βββ retention/
β β β βββ holders/
β β β βββ segmented-holders/
β β β βββ trade-pairs/
β β β βββ whales/
β β β βββ volume-liquidity/
β β β βββ hourly/
β β β βββ weekly-segmentation/
β β β βββ nft-collections/
β β βββ layout.tsx # Root layout with theme provider
β β βββ page.tsx # Main dashboard page
β β βββ globals.css # Global styles and design tokens
β βββ components/
β β βββ ui/ # shadcn/ui components
β β βββ animated-background.tsx # Particle animation system
β β βββ gaming-economy.tsx # Gaming metrics section
β β βββ header.tsx # Dashboard header with refresh
β β βββ hero-section.tsx # RON token overview
β β βββ katana-dex.tsx # DEX analytics section
β β βββ network-activity.tsx # Network activity charts
β β βββ network-health.tsx # Network health metrics
β β βββ nft-collections.tsx # NFT collections table
β β βββ nft-marketplace.tsx # NFT marketplace section
β β βββ retention-heatmap.tsx # Cohort retention heatmap
β β βββ theme-provider.tsx # Dark/light mode provider
β β βββ theme-toggle.tsx # Theme switcher button
β β βββ token-holders.tsx # Token holder analytics
β β βββ token-metrics.tsx # Token metrics cards
β βββ hooks/
β β βββ use-mobile.tsx # Mobile detection hook
β β βββ use-toast.ts # Toast notification hook
β βββ lib/
β β βββ utils.ts # Utility functions (cn, etc.)
β βββ public/ # Static assets
βββ Notebooks/ # Jupyter notebooks for analysis
βββ README.md # This file
- Duration: 24-hour cache lifecycle
- Storage: Local filesystem using Joblib
- Validation: Automatic cache expiration and refresh
- Background Tasks: Auto-refresh every 24 hours
- Efficiency: Shared cache across all users
- API Rate Limits: 24-hour caching minimizes API calls
- Memory Management: Efficient pandas operations for large datasets
- Lazy Loading: Progressive component loading for better UX
- Auto-refresh: Smart revalidation with SWR
- Background Tasks: Non-blocking data refresh operations
This project is licensed under the MIT License - see the LICENSE file for details.
- KTTY World - For inspiring this analytics tool
- Ronin Network - For building an innovative gaming-focused blockchain
- Dune Analytics - For comprehensive on-chain data access
- CoinGecko - For reliable market data and pricing
- Vercel - For seamless frontend deployment
- Railway - For reliable backend hosting
- Streamlit - For the excellent analytics framework
Created by Jo$h - DeFi Analytics Specialist
- Telegram: @joshuatochinwachi
- X (Twitter): @defi__josh
For questions, suggestions, or collaboration opportunities, feel free to reach out!
Built with β€οΈ for the Ronin community