Live Demo: cyrusthegreat.dev
A sophisticated, privacy-focused Web3 vault that enables anonymous ETH and ERC20 token transfers across multiple blockchain networks.
- Anonymous ETH Operations: Deposit, withdraw, and internal transfers
- Full ERC20 Support: Dynamic token detection and management
- Multi-Chain Ready: Ethereum, Binance Smart Chain, Base, and Solana (coming soon)
- Smart Fee System: Dynamic $0.10 USD fees via Chainlink price feeds
- Beautiful UI/UX: Modern, responsive design with shadcn/ui components
- Multiple Display Modes: Tabs, Cards, Tabbed-Cards, and Native/Tokens views
- Real-Time Updates: Live balance updates and transaction confirmations
- One-Click Operations: Uniswap-style approval and deposit flows
- Method ID Privacy: Obfuscated transaction methods
- Event Privacy: Anonymous internal transfers
- Smart Contract Security: Audited vault contracts with proper access controls
- Frontend: React 18 + TypeScript + Vite
- UI Framework: shadcn/ui + Tailwind CSS
- Web3 Integration: Wagmi + Viem + Reown AppKit
- Blockchain: Ethereum (Sepolia/Mainnet), BSC, Base
- Deployment: Cloudflare Pages
- Node.js 18+ (20+ recommended)
- npm or yarn
- MetaMask or compatible Web3 wallet
# Clone the repository
git clone https://github.com/yourusername/cyrus-the-great.git
cd cyrus-the-great
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your API keys and contract addresses
# Start development server
npm run devCreate a .env file in the root directory:
# Cyrus The Great Vault Configuration
VITE_CTGVAULT_ADDRESS_ETH=your_eth_contract_address
VITE_CTGVAULT_ADDRESS_BSC=your_bsc_contract_address
# API Keys
VITE_REOWN_PROJECT_ID=your_reown_project_id
VITE_ANKR_API_KEY=your_ankr_api_key
VITE_ALCHEMY_API_KEY=your_alchemy_api_key
VITE_ETHERSCAN_API_KEY=your_etherscan_api_key
VITE_BSCSCAN_API_KEY=your_bscscan_api_key- Tabs Mode: Clean tabbed interface for tokens
- Cards Mode: Visual card-based token display
- Tabbed-Cards Mode: Hybrid approach with internal tabs
- Native/Tokens Mode: Separate native currency and token management
Ctrl+1: Switch to Tabs modeCtrl+2: Switch to Cards modeCtrl+3: Switch to Tabbed-Cards modeCtrl+4: Switch to Native/Tokens mode
- Deposit: Approve and deposit tokens to vault
- Withdraw: Remove tokens from vault to wallet
- Transfer: Send tokens anonymously to other vault users
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint
npm run type-check # Run TypeScript type checkingsrc/
βββ components/ # React components
β βββ modals/ # Modal dialogs
β βββ ui/ # shadcn/ui components
β βββ VaultCore.tsx # Main dashboard
β βββ WalletConnector.tsx
βββ hooks/ # Custom React hooks
βββ config/ # Configuration files
βββ lib/ # Utility libraries
βββ pages/ # Page components
- Connect your GitHub repository to Cloudflare Pages
- Set build command:
npm run build - Set output directory:
dist - Add environment variables
- Deploy and connect custom domain
# Build the project
npm run build
# Deploy to your preferred hosting service
# The built files are in the `dist` directory- No API keys are stored in the repository
- Environment variables are properly excluded from git
- Smart contract interactions use proper error handling
- User data is never stored or transmitted
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add 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.
- Reown AppKit for wallet integration
- shadcn/ui for beautiful UI components
- Wagmi for Web3 React hooks
- Viem for low-level Ethereum interactions
- Website: cyrusthegreat.dev
- Twitter: @humanperzeus
- GitHub: Issues
Made with β€οΈ by @humanperzeus
Cyrus The Great - Empowering anonymous Web3 transactions