
Architecture Overview
Idle Finance is designed as a desktop-first, multi-layered system that turns idle digital resources into yield. The system combines secure local compute environments with intelligent AI, blockchain-based rewards, and user-friendly dashboards. The diagram below shows how each part of Idle Finance connects from the desktop app that runs on the user’s device to the smart contracts on Base.
Let’s walk through the key parts of the architecture:
Desktop App (Electron) - Cross-platform user interface (Windows, Mac, Linux)
Backend API (NestJS) - User profiles, node orchestration, reward tracking
Automation Layer (FastAPI) - Golem deployment, KVM setup, monitoring (Linux only)
DePIN Network (Golem) - Currently the only supported network (Linux only)
Local Reward Tracking - GLM earnings tracked locally (bridging planned) Platform Support:
Desktop App: Windows, macOS, Linux
Golem Nodes: Linux only (requires KVM virtualization)
Automation API: Cross-platform (but only deploys to Linux) Data Flow:
User signs up → Profile created → Curated wallet generated
System check → Node deployed → Connection established
Node runs tasks → Rewards earned → Automatic tracking
Future: Rewards bridged → Vault deposited → Yield generated
The process is simple:

Download the Idle Finance desktop app
Launch and check if you have an existing profile
Sign up with your name and email (if new)
Wait for the system check
Your device gets a unique profile tied to its IP address. This keeps things secure while letting you use multiple devices (though they won't sync together).
System Requirements

Before we can start earning, we check your device: What We Need (Golem):
Golem Node Requirements (Linux Only):
OS: Linux (Ubuntu 18.04+ works best) - Currently the only supported network
CPU: 2+ cores with virtualization support (VMX/SVM)
RAM: 4GB minimum, 8GB recommended
Storage: 20GB free space
Internet: Stable connection
Virtualization: KVM support (automatically installed) What Golem Uses:
CPU: 1-4 cores (we adjust based on your system)
RAM: 2-8GB (flexible based on what you have)
Storage: 10-50GB for tasks
Network: Stable internet for work distribution
If your system doesn't meet requirements, we'll tell you exactly what needs upgrading and why the node can't start.
Note: Right now we only support Golem Network on Linux systems. The desktop app works on all platforms, but DePIN nodes only run on Linux.
First Run

Once everything checks out:
Wallet created - we generate a secure wallet for you
Node deployed - Golem provider starts running
Connection established - your device connects to the network
Dashboard ready - start monitoring your earnings Everything happens automatically. No technical setup needed.
Brief Orientation on Navigation

Main Sections:
Dashboard - Real-time monitoring and controls
Rewards - Earnings tracking and history
Node - Deployment and management
$IDLE Token - Coming soon (vault integration)
Activity Log - Transaction and event tracking
Settings - Profile and wallet management

Main Sections:
Dashboard - Real-time monitoring and controls
Rewards - Earnings tracking and history
Node - Deployment and management
$IDLE Token - Coming soon (vault integration)
Activity Log - Transaction and event tracking
Settings - Profile and wallet management Key Features:
Connection Status - Animated rings show real-time status
Curated Wallet - Automatically generated, no manual management
One-Click Controls - Start/stop nodes with single clicks
Real-Time Updates - All metrics update automatically
Visual User Flow
Complete User Journey Flowchart
Key Decision Points:
Profile Check - Existing user goes straight to dashboard
System Check - Requirements not met shows upgrade guidance
Node Deployment - Automatic setup with progress indicators
Connection Status - Real-time feedback on network connectivity Error Handling:
Hardware Issues - Clear guidance on system upgrades
Network Problems - Automatic retry with status updates
Node Failures - Automatic recovery and restart
Wallet Issues - Secure backup and recovery systems
Architecture & Tech Stack
Frontend Layer:
Electron Desktop App - Cross-platform desktop application
React/TypeScript - Modern UI with real-time updates
Zustand - Local state management
Tailwind CSS - Styling and responsive design
Backend Layer:
NestJS - RESTful API framework
SQLite - Local database for user profiles
TypeORM - Database management and migrations
Swagger - API documentation and testing Automation Layer:
Golem Integration - Automated provider deployment
KVM Virtualization - Resource isolation and management
Cross-Platform Support - Linux, macOS, Windows compatibility
Real-Time Monitoring - Performance tracking and logging Blockchain Layer:
Base Network - Coinbase's L2 for smart contracts
Meta-Vault Contracts - Yield aggregation and management
Ethereum Bridge - Cross-chain reward bridging
Non-Custodial Design - User maintains full control
Data Flow Architecture
User Registration Flow:
Client → Electron app launches
Backend → NestJS API receives registration
Database → SQLite stores user profile
Wallet → Curated wallet generated locally
Automation → Golem provider deployed
Monitoring → Real-time status tracking Reward Collection Flow:
Node → Golem provider runs compute tasks
Network → GLM tokens earned on Ethereum
Tracking → Backend monitors earnings
Future → Automatic bridging to Base
Vault → Smart contracts manage yield
Security Architecture
Local Security:
Encrypted Storage - Wallet data encrypted with device keys
Local Processing - Sensitive operations on user device
Non-Custodial - Users maintain full control
Device-Specific - Profiles tied to specific devices Network Security:
HTTPS/TLS - All communications encrypted
API Authentication - Secure endpoint access
Input Validation - Comprehensive data validation
Error Handling - Secure error responses Privacy Protection:
Minimal Data Collection - Only necessary information
Local Analytics - Performance data stays on device
Anonymous Participation - DePIN participation without identification
GDPR Compliance - European data protection standards
Setup for Local Development
Prerequisites
System Requirements:
OS: Linux (Ubuntu 18.04+), macOS 10.15+, or Windows 10+ Node.js: Version 18+ with npm
Python: Version 3.8+ for automation scripts Git: Latest version for version control Hardware Requirements:
CPU: 4+ cores recommended for development
RAM: 8GB+ for running multiple services
Storage: 50GB+ free space for dependencies
Network: Stable internet connection Development Tools:
VS Code - Recommended IDE with extensions
Postman - API testing and documentation
SQLite Browser - Database management
Chrome DevTools - Frontend debugging
Installation Steps
Clone Repository:
git clone https://github.com/your-org/idle-finance-v2.git cd idle-finance-v2
Install Dependencies: # Frontend dependencies
cd frontend npm install
# Backend dependencies cd ../backend
npm install
# Automation dependencies cd ../automation/golem
pip install -r requirements.txt
Environment Setup:
# Backend environment cd backend
cp .env.example .env
# Edit .env with your configuration
# Frontend environment cd ../frontend
cp .env.example .env
# Edit .env with your configuration
Database Setup: cd backend
npm run migration:run npm run seed
Running Locally
Start Backend:
// cd backend
// npm run start:dev
# API available at http://localhost:3000
# Swagger docs at http://localhost:3000/api/v1/docs
Start Frontend:
cd frontend npm run dev
# App available at http://localhost:5173
Start Automation (Optional): cd automation/golem
python -m uvicorn main:app --reload Automation API at http://localhost:8000
Build Desktop App: cd frontend
npm run build
npm run electron:dev
How It Works
The Curated Wallet System
The Problem: Traditional DePIN participation requires:
Creating and managing Web3 wallets
Handling private keys
Understanding blockchain transactions
Managing multiple token types
Our Solution: We handle all of that for you. What We Do:
Generate a secure wallet during signup
Encrypt and store keys locally
Automatically collect rewards
Track everything transparently
Keep you in full control Security:
Everything encrypted locally
Device-specific access
Non-transferable profiles
Automatic backups
Behind the Scenes
Your Desktop App:
Cross-platform (Windows, Mac, Linux)
Real-time monitoring
Local state management
Automatic updates Our Backend:
Manages your profile and wallet
Orchestrates node deployment
Tracks rewards and performance
Handles all the complex stuff Golem Integration:
Automatically deploys provider nodes
Monitors performance in real-time
Optimizes resource usage
Handles all the technical details Local Reward Tracking:
Tracks GLM earnings locally
Real-time performance monitoring
Secure local storage
Future: Will bridge to other networks
Earning Process
How You Earn:
Node runs - Golem provider does compute tasks
Rewards earned - GLM tokens on Ethereum network
Automatic tracking - we monitor everything locally
Real-time updates - see earnings as they happen
Future features - bridging and vaults coming soon
Using Idle Finance
Dashboard
Your main control center shows:
Connection status - animated rings show if you're connected
Earnings - live GLM token tracking
System health - CPU, memory, disk usage
Node controls - start/stop your node
Performance - uptime and efficiency stats
Everything updates in real-time. No manual refresh needed.
Rewards
Live updates - see GLM tokens as they come in
History - earnings over time
Collection - rewards automatically tracked
Transparency - know exactly what you're earning
Node Management

Start/Stop - one-click control
Status - see if it's running
Resources - CPU, memory, disk usage
Performance - uptime and efficiency
Settings - we optimize automatically
Activity Log
See everything that happens:
Node events - starts, stops, status changes
Rewards - when you earn GLM tokens
System alerts - performance issues
Performance - uptime and resource usage
Settings
Manage your account:

Profile - name, email, device info
Wallet - view your curated wallet (show/hide address)
Preferences - notifications, optimizations
Security - two-factor auth, account protection
See everything that happens:
Node events - starts, stops, status changes
Rewards - when you earn GLM tokens
System alerts - performance issues
Performance - uptime and resource usage
Last updated