A Professional-Grade Cryptocurrency Wallet with Advanced Features
CrakeWallet is a modern, feature-rich cryptocurrency wallet application built with cutting-edge web technologies. It provides a secure and intuitive interface for managing digital assets, with professional-grade features including portfolio analytics, transaction management, and multi-network support.
- Secure Wallet Integration: Connect to popular wallets using Reown (formerly WalletConnect)
- Multi-Chain Support: Ethereum, Polygon, Base, Arbitrum, and Optimism networks
- Transaction Management: Send, receive, and track cryptocurrency transactions
- Real-time Balance Updates: Live portfolio tracking with automatic refresh
- Portfolio Overview: Comprehensive dashboard with USD value tracking
- Live Price Integration: Real-time ETH prices via CoinGecko API
- Transaction Statistics: Track total transaction count and wallet activity
- Professional UI: Beautiful gradient-styled portfolio cards
- Gas Fee Estimation: Real-time gas cost calculation with customization options
- Transaction Confirmation: Security-focused confirmation dialogs
- QR Code Generation: Easy receiving with QR codes
- Transaction History: Complete transaction tracking with local storage
- Contact Management: Save and organize frequently used addresses
- Quick Selection: One-click address selection in send transactions
- CRUD Operations: Add, edit, delete, and search contacts
- Local Storage: Persistent contact storage across sessions
- Responsive Design: Optimized for desktop and mobile devices
- Modern UI: Professional styling with smooth animations
- Loading States: Comprehensive loading and error handling
- Accessibility: User-friendly interface with clear visual feedback
- React 19: Latest version with modern hooks and concurrent features
- TypeScript: Full type safety and enhanced development experience
- Vite 7.1.7: Lightning-fast build tool and development server
- Reown AppKit 1.8.9: Modern wallet connection infrastructure
- Ethers.js 6.15.0: Ethereum blockchain interaction library
- Multi-network Support: EVM-compatible chains
- QRCode 1.5.4: QR code generation for receive functionality
- CoinGecko API: Live cryptocurrency price data
- Local Storage: Client-side data persistence
- Node.js 18+
- npm or yarn package manager
- Modern web browser
-
Clone the repository:
git clone https://github.com/akintun/crakewalllet.git cd crakewalllet -
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env
Edit
.envand add your configuration:VITE_REOWN_PROJECT_ID=your_project_id_here VITE_APP_NAME=CrakeWallet VITE_APP_DESCRIPTION=Professional Cryptocurrency Wallet VITE_APP_URL=https://crakewallet.app VITE_APP_ICON=https://crakewallet.app/icon.png
-
Start the development server:
npm run dev
-
Open your browser and navigate to:
http://localhost:5173
- Click "Connect Wallet" to open the Reown modal
- Select your preferred wallet from the list
- Scan the QR code with your mobile wallet or connect directly
- Approve the connection in your wallet
- View your portfolio overview with real-time USD values
- Check transaction history and statistics
- Monitor balances across supported networks
- Copy your wallet address with one click
- Click the "Send" button from the main dashboard
- Enter recipient address or select from address book
- Specify the amount to send
- Review gas fees and customize if needed
- Confirm transaction details in the security dialog
- Approve the transaction in your connected wallet
- Click the address book icon (π) in the send modal
- Add new contacts with name, address, and notes
- Edit or delete existing contacts
- Select contacts for quick address input
- Click the "Receive" button
- Copy your wallet address or scan the QR code
- Share with the sender
# Development
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
# Code Quality
npm run lint # Run ESLint
npm run type-check # TypeScript type checking
# Dependencies
npm install # Install dependencies
npm update # Update dependenciessrc/
βββ components/ # React components
β βββ AddressBook.tsx # Address book management
β βββ GasFeeEstimator.tsx # Gas fee calculation
β βββ NetworkSwitcher.tsx # Network selection
β βββ PortfolioStats.tsx # Portfolio overview
β βββ ReceiveModal.tsx # Receive functionality
β βββ SendModal.tsx # Send transactions
β βββ TokenList.tsx # Token balance display
β βββ TransactionConfirmation.tsx # Security confirmation
β βββ TransactionHistory.tsx # Transaction tracking
βββ integrations/ # Third-party integrations
βββ types/ # TypeScript type definitions
βββ utils/ # Utility functions
β βββ balance.ts # Balance and transaction utilities
β βββ tokens.ts # Token interaction utilities
β βββ transactionHistory.ts # Transaction storage
βββ App.tsx # Main application component
βββ App.css # Application styles
βββ main.tsx # Application entry point
Create a .env file with the following variables:
# Reown Configuration
VITE_REOWN_PROJECT_ID=your_project_id_here
# Application Metadata
VITE_APP_NAME=CrakeWallet
VITE_APP_DESCRIPTION=Professional Cryptocurrency Wallet
VITE_APP_URL=https://crakewallet.app
VITE_APP_ICON=https://crakewallet.app/icon.png
# API Configuration (Optional)
VITE_COINGECKO_API_KEY=your_api_key_hereWe welcome contributions! Please follow these steps:
- 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
- Follow TypeScript best practices
- Maintain component modularity
- Write descriptive commit messages
- Test thoroughly before submitting
- Update documentation as needed
-
Enhanced Security
- Hardware wallet support
- Transaction simulation
- Security audits
-
DeFi Integration
- DEX integration
- Liquidity pool management
- Yield farming tracking
-
Advanced Analytics
- Detailed charts and graphs
- Performance tracking
- Tax reporting features
-
Mobile App
- React Native implementation
- Mobile-specific features
- Push notifications
- Gas estimation may not work on all networks
- Some mobile wallets may require manual connection
- Portfolio values depend on CoinGecko API availability
This project is licensed under the MIT License - see the LICENSE file for details.
CrakeWallet is a development project and should be used at your own risk.
- Always verify transaction details before confirming
- Never share your private keys or seed phrases
- Start with small amounts when testing
- This software is provided "as is" without warranty
- Issues: GitHub Issues
- Documentation: Wiki
- Community: Discussions
Built with β€οΈ by the CrakeWallet Team
β Star this repository β’ π Report Bug β’ π‘ Request Feature