A decentralized, client-side portfolio aggregation and tracking dApp that puts user sovereignty first. Track your crypto assets across multiple chains, DEXs, and CEXs without ever exposing your private keys.
- 100% Client-Side: All operations run in your browser - no servers, no tracking
- Read-Only Integrations: Never handles private keys or signs transactions
- Local Encryption: User data encrypted with BIP39-derived keys using Web Crypto API
- IPFS Storage: Optional encrypted backup to IPFS for cross-device sync
- CEX Integration: Robinhood, Kraken, Coinbase (read-only API access)
- Multi-Chain Support: Ethereum/EVM, Solana, SUI
- DEX Tracking: Real-time positions via subgraphs and RPCs
- Wallet Connections: MetaMask, Rabby, Phantom, Slush (read-only)
- Manual Entry: Support for any platform via encrypted forms
- Real-Time Dashboard: Hierarchical views with drill-down capabilities
- Portfolio Analytics: Charts, trends, and performance metrics (Recharts)
- Custom Alerts: Price movements, portfolio changes
- Export Options: CSV, JSON for tax/accounting purposes
- Zero-Knowledge Proofs: Enhanced privacy with zk.js
- No Asset Control: Cannot execute transactions or move funds
- Encrypted Storage: All sensitive data encrypted before storage
- Open Source: Fully auditable codebase
- Frontend: React 19 + TypeScript
- Build Tool: Vite 6
- UI Framework: Chakra UI v3
- State Management: Zustand
- Routing: React Router DOM v7
- Forms: Formik + Yup
- HTTP Client: Axios
- Charts: Recharts
- Animation: Framer Motion
- Ethereum/EVM: ethers.js, viem/wagmi
- Solana: @solana/web3.js
- SUI: @mysten/sui.js
- Encryption: Web Crypto API + tweetnacl
- Node.js 18+
- npm 9+
# Clone the repository
git clone https://github.com/yourusername/cygnus-wealth.git
cd cygnus-wealth/cygnus-wealth-core
# Install dependencies
npm install
# Start development server
npm run devThe app will be available at http://localhost:5173
npm run dev # Start development server with hot reload
npm run build # Build for production
npm run lint # Run ESLint
npm run preview # Preview production build locallycygnus-wealth-core/
βββ src/
β βββ components/ # Reusable UI components
β βββ pages/ # Route pages
β βββ hooks/ # Custom React hooks
β βββ services/ # API integrations, Web3 connections
β βββ store/ # Zustand state management
β βββ types/ # TypeScript type definitions
β βββ utils/ # Helper functions, encryption
β βββ App.tsx # Main app component
β βββ main.tsx # Entry point
βββ public/ # Static assets
βββ vite.config.ts # Vite configuration
βββ package.json
Create a .env.local file for development:
# RPC Endpoints (optional - uses public defaults)
VITE_ETH_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY
VITE_SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
VITE_SUI_RPC_URL=https://fullnode.mainnet.sui.io
# Subgraph Endpoints (optional)
VITE_UNISWAP_SUBGRAPH=https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3-
Build the production bundle:
npm run build
-
Deploy to Fleek:
- Connect your GitHub repository
- Set build command:
npm run build - Set publish directory:
dist - Deploy
The built files in dist/ can be served from any static host (Vercel, Netlify, etc.)
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow the existing code style
- Use TypeScript for all new code
- Write tests for new features
- Ensure
npm run lintpasses
- Never commit API keys or secrets
- All CEX integrations are read-only
- No private key handling in the codebase
- Regular dependency updates
- Security audits planned pre-mainnet
Please email [email protected] for security concerns.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with React + Vite template
- Chakra UI for the component library
- The Web3 community for inspiration
- Website: cygnuswealth.io (coming soon)
- Twitter: @cygnuswealth
- Discord: Join our community