A production-grade full-stack Web3 portfolio analytics platform that ingests Ethereum transactions and delivers DAO-grade asset intelligence for digital asset custodians and treasury systems. Built end-to-end with a scalable Next.js dashboard, Node.js analytics APIs, and modular on-chain data pipelines.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
A production-style crypto portfolio dashboard implementing the CryptoCustodian architecture with intuitive UX, scalable Next.js frontend, API-driven Node Backend, real-time data visualization, and testing-first engineering.
Built as part of the CryptoCustodian project architecture to demonstrate real-world Web3 system design across frontend, backend, and data layers.
Managing digital assets requires clarity, performance, and trust.
This platform shows how to build a real production-style Web3 analytics system that:
- Aggregates on-chain data
- Computes portfolio intelligence
- Presents insights through fast, intuitive dashboards
- Maintains scalability and clean architecture
It reflects the kind of systems used by DAO treasuries, custodians, and Web3 asset platforms.
I Designed and implemented the entire full-stack system end-to-end.
- Architected modular Web3 analytics platform across 3 repositories
- Built scalable Next.js dashboard with real-time portfolio visualization
- Implemented Node.js analytics APIs with Sequelize data layer
- Designed Web3 analytics pipeline (portfolio, allocation, performance engines)
- Integrated Etherscan data ingestion and normalization workflow
- Implemented testing infrastructure (Jest + Supertest + UI tests)
- Defined architecture documentation and clean repo separation
This project demonstrates production-style Web3 system design across frontend architecture, backend analytics, and on-chain data processing.
• Processed thousands of Ethereum transactions in test environments using Etherscan APIs
• Implemented 3 analytics engines transforming raw blockchain data into structured portfolio intelligence
• Designed modular architecture across 3 repositories with clean separation of concerns
• Reduced dashboard rendering latency via optimized data aggregation and API design
• Built reusable frontend architecture supporting complex multi-token portfolio visualization
• Implemented unit and integration tests across frontend and backend layers
• Designed API-driven architecture enabling scalable multi-chain extension in roadmap
🔹 Portfolio Analytics Dashboard
- Real-time asset allocation visualization
- Multi-token portfolio tracking
- Chart-driven UX using Chart.js & D3 scale
- Data-intensive dashboard optimization
🔹 Scalable API Architecture
- REST APIs with Node.js + Express
- Sequelize ORM with SQLite / MySQL
- Asset analytics aggregation layer
- Middleware-based request handling
🔹 Production-Grade Frontend Architecture
- Next.js + TypeScript App Router
- Component-driven design system approach
- Performance-optimized rendering
- Testing with Jest + UI testing
🔹 Engineering Quality
- Unit + integration testing
- ESLint + Prettier + Husky
- CI-ready project structure
- Clean architecture separation
Designed a production-style on-chain portfolio analytics pipeline that transforms raw Ethereum transaction data (via Etherscan APIs) into actionable treasury insights for DAO-grade dashboards.
Core modules
- Portfolio engine → token balances
- Allocation engine → diversification metrics
- Performance engine → gas usage, activity, efficiency analytics
Built to mirror real custody, treasury, and digital asset management systems, turning complex blockchain data into fast, intuitive user insights.
👉 Full implementation in crypto-custodian-apis.
Frontend (Next.js + TypeScript)
↓
API Layer (Node.js + Express + Sequelize)
↓
On-Chain Data (Ethereum) + Off-chain Processing
↓
Portfolio Intelligence & Reporting UX
A modular full-stack Web3 analytics platform that ingests raw Ethereum transactions, computes portfolio intelligence, and delivers a high-performance digital-asset dashboard.
- Frontend Platform - Next.js + TypeScript
- Real-time portfolio visualization
- Accessible component-driven design system
- Optimized Core Web Vitals
- Chart.js + D3-scale analytics UI
- Backend Analytics API - Node.js + Express
- Portfolio computation engine
- Asset allocation engine
- Performance metrics engine
- REST API layer with Sequelize ORM (SQLite/MySQL)
- Web3 Data Pipeline
- Transaction ingestion via Etherscan API
- Data normalization → analytics → aggregation
- Token-level analytics & metrics
- Fetch on-chain transactions via Etherscan API
- Normalize & process portfolio state
- Compute allocation & performance metrics
- Store processed data
- Serve insights via REST API
- Render optimized UI dashboard ( Charts & Views )
✔ Modular full-stack architecture
✔ Real-time data-heavy UI workflows
✔ Clear separation of concerns
✔ Clean API-driven frontend
✔ Production-grade performance-first dashboard UX
✔ Scalable Web3 analytics pipeline
✔ Production-ready engineering practices
✔ Testing-first engineering
CryptoCustodian is organized as a modular Web3 system:
- crypto-custodian-platform → Architecture, orchestration, and documentation
- crypto-custodian-dashboard → Next.js analytics dashboard UI
- crypto-custodian-apis → Node.js portfolio analytics engine
- crypto-custodian-tests → Integration and UI testing suite
Each repository represents a layer of a production-style Web3 platform with clear separation of concerns.
- Next.js
- React
- TypeScript
- Chart.js
- TailwindCSS
- Jest
- Node.js
- Express
- Sequelize
- SQLite / MySQL
- Supertest
- Etherscan API
- Ethereum transaction analytics
- Jest
- ts-jest
- Git submodules
- Designing Web3 analytics pipelines
- Translating on-chain data into user insights
- Performance-first frontend dashboards
- Clean API architecture for Web3 platforms
- Balancing UX clarity with complex blockchain data
Spin up the full CryptoCustodian Web3 analytics platform locally in minutes. This repo orchestrates a modular production-style system with dedicated Backend, Frontend, and Test suites.
- Node.js = 18
- npm ≥ 9
- Git ≥ 2.30
Verify:
node -v && npm -v && git --version
- This repository uses Git submodules for clean architecture separation.
Clone everything in one command:
git clone --recurse-submodules https://github.com/am-ramona/crypto-custodian-platform.git
cd crypto-custodian-platform
If you already cloned without submodules:
git submodule update --init --recursive
Each submodule is an independent production service.
Fast install:
npm run install:all
Or manually:
npm install --prefix Backend
npm install --prefix Frontend
npm install --prefix __Tests__
You can start the platform in two ways:
Option 1 — Run Everything Automatically (Recommended)
Start the full stack:
npm run start:all
Run the test suite:
npm run test:all
Option 2 — Run Services Individually
Use this if you want to debug or work on one component.
Backend APIs
cd Backend
npm run dev
Frontend Dashboard
cd Frontend
npm run dev
Integration Tests
cd __Tests__
npm run test
After starting:
- Frontend → http://localhost:3000
- Backend → API endpoints available locally
- Tests → Jest integration suite passes
You now have a working DAO-grade crypto portfolio analytics platform running locally.
- crypto-custodian-apis → Node.js analytics backend
- crypto-custodian-dashboard → Next.js Web3 dashboard
- crypto-custodian-tests → Integration & UI test suite
Each repo contains advanced configuration and architecture notes.
- Submodules ensure clean separation of concerns across frontend, backend, and analytics engines.
- Designed to mirror real-world Web3 custody and treasury systems.
- CI-ready architecture with modular test pipelines.
- Expand dashboard modules (Transactions, Risk Analytics, Alerts)
- Implement scalable server-side pagination, sorting and filtering for high volume tables, with React Query caching
- Add Multi-chain portfolio support & analytics
- Real-time websocket updates
- Advanced performance & risk metrics
- Wallet clustering analysis and anomaly detection (future analytics layer)
- DAO treasury reporting dashboards & governance dashboards
See the open issues for a full list of proposed features (and known issues).


