Hybrid Crypto Asset Aggregator - Desktop application for unified portfolio management across CEX, DEX, and on-chain assets
ArkFolio is a privacy-first desktop application that aggregates all your cryptocurrency holdings in one place. Unlike cloud-based portfolio trackers, ArkFolio stores all data locally using encrypted storage, giving you complete control over your financial data.
- CEX Integration - Connect Binance, Upbit, and OKX accounts via API
- Spot balance tracking
- Futures/perpetual position monitoring
- Transaction history sync
- Real-time WebSocket updates (ready)
- On-chain Wallet Tracking - Multi-chain support (Ethereum, Arbitrum, Optimism, Base, Polygon, BSC, Avalanche, Solana)
- DeFi Position Management - Manual entry for LP, lending, staking, and vault positions
- Price Feed - Real-time prices via CoinGecko API
- Watchlist - Track favorite assets with live price updates
- Risk Dashboard - Portfolio risk scoring, leverage monitoring, health factor tracking
- Global Search - Quick navigation and asset lookup (Cmd/Ctrl+K)
- Auto-sync - Configurable automatic data refresh
- Secure Storage - OS-level encryption for API keys via Electron safeStorage
- Local Database - SQLite WASM with OPFS for persistent, browser-sandboxed storage
- Modern UI - Dark theme dashboard with responsive layout
- Korean Tax Compliance - Moving average cost basis calculation (UI ready)
- DeFi Protocol Integration - Automatic position detection from protocols
- DEX Integration - Hyperliquid, dYdX perpetual position tracking
- HomeTax Export - Korean tax report generation
- Google Drive Backup - Encrypted cloud backup option
Coming soon
| Category | Technology |
|---|---|
| Framework | Electron + Vite + React 18 |
| Language | TypeScript |
| Database | SQLite WASM (sql.js) + OPFS |
| ORM | Drizzle ORM |
| Styling | Tailwind CSS |
| State | Zustand |
| Charts | Lightweight Charts (TradingView) |
| Exchange APIs | CCXT + Custom adapters |
- Node.js 18+
- npm or yarn
# Clone the repository
git clone https://github.com/0xarkstar/arkfolio.git
cd arkfolio
# Install dependencies
npm install
# Start development server
npm run dev# Build the application
npm run build
# The built application will be in the dist/ directoryarkfolio/
├── electron/
│ ├── main.ts # Electron main process
│ ├── preload.ts # IPC bridge
│ └── services/
│ └── safeStorage.ts # API key encryption
├── src/
│ ├── components/ # Shared UI components
│ │ └── layout/ # Layout components
│ ├── features/
│ │ ├── cex/ # CEX integration
│ │ ├── dex/ # DEX integration (planned)
│ │ ├── onchain/ # Wallet tracking (planned)
│ │ ├── defi/ # DeFi analytics (planned)
│ │ ├── tax/ # Tax reporting (planned)
│ │ └── settings/ # App settings
│ ├── database/
│ │ ├── schema.ts # Drizzle schema (11 tables)
│ │ └── init.ts # SQLite WASM initialization
│ ├── services/
│ │ └── exchanges/ # Exchange API adapters
│ └── stores/ # Zustand state management
└── public/
└── sql-wasm.wasm # SQLite WASM binary
| Feature | Status | Progress |
|---|---|---|
| Project Setup (Electron + Vite + React) | Done | 100% |
| SQLite WASM + OPFS Storage | Done | 100% |
| Database Schema (Drizzle ORM) | Done | 100% |
| Electron safeStorage | Done | 100% |
| CEX Adapters (Binance, Upbit, OKX) | Done | 100% |
| UI Layout & Navigation | Done | 100% |
| Price Feed (CoinGecko) | Done | 100% |
| Transaction Sync | Done | 100% |
| Watchlist | Done | 100% |
| Global Search | Done | 100% |
| Auto-sync | Done | 100% |
| Risk Dashboard | Done | 100% |
| Portfolio Page | Done | 90% |
| Settings Page | Done | 80% |
| Wallets Page | In Progress | 60% |
| DeFi Page | In Progress | 50% |
| Tax Page | In Progress | 30% |
| DEX Integration | Not Started | 0% |
| Google Drive Backup | Not Started | 0% |
- Electron + Vite + React setup
- SQLite WASM with OPFS
- Drizzle ORM schema
- CEX adapters (Binance, Upbit, OKX)
- Basic UI layout
- Trade history import
- Portfolio aggregation logic
- Price feed integration (CoinGecko)
- Watchlist with live prices
- Global search
- Auto-sync functionality
- Real-time balance sync via WebSocket
- EVM wallet tracking (basic)
- Solana wallet tracking (basic)
- Multi-chain balance display
- Automatic token detection
- NFT tracking
- Manual LP position entry
- Manual lending position entry
- Points/airdrop tracking (manual)
- Automatic protocol integration
- Pendle PT/YT support
- Net equity calculation
- Risk score computation
- Health factor monitoring
- Concentration analysis
- Liquidation alerts
- Korean tax calculation engine
- Transaction categorization
- HomeTax export format
- Audit trail support
- Google Drive backup
- Encrypted export/import
- Multi-device sync
ArkFolio uses 11 tables to track your crypto portfolio:
exchanges- Connected exchange accountsbalances- Asset balances (spot, futures, margin, earn)positions- Futures/perpetual positionstransactions- Trade and transfer historywallets- On-chain wallet addressesonchain_assets- Token balances per walletdefi_positions- DeFi protocol positionspoints- Protocol points and airdropsprice_history- Historical price datatax_reports- Generated tax reportssettings- Application settings
- No cloud storage - All data stored locally on your device
- API key encryption - Uses OS-level encryption (Keychain on macOS, Credential Manager on Windows)
- Read-only API keys - Only requires read permissions for exchange APIs
- No tracking - Zero telemetry or analytics
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- CCXT - CryptoCurrency eXchange Trading Library
- sql.js - SQLite compiled to WebAssembly
- Drizzle ORM - TypeScript ORM
- Lightweight Charts - TradingView charting library
Built with care by ArkStar