A modern, secure multi-chain cryptocurrency wallet built with React and Vite. Support for Solana and Ethereum testnets with HD wallet generation, transaction history, and easy-to-use interface.
- HD Wallet Generation: BIP39 mnemonic phrase generation
- Multi-Account Support: Generate multiple addresses from a single seed phrase
- Local Storage: Private keys stored securely in browser's local storage
- Testnet Only: Designed for safe testing on devnet/testnet networks
- Devnet Integration: Full Solana devnet support
- Balance Checking: Real-time SOL balance updates
- Airdrop Functionality: Request test SOL directly from the interface
- Transaction History: View recent transaction activity
- Send Transactions: Transfer SOL between wallets
- Manual Refresh: Force balance and transaction updates
- Sepolia Testnet: Complete Ethereum Sepolia testnet integration
- Balance Monitoring: Real-time ETH balance tracking
- Faucet Integration: Direct links to Sepolia faucets for test ETH
- Transaction History: Complete transaction activity log
- Send Transactions: Transfer ETH between addresses
- Gas Optimization: Automatic gas price fetching
- Wallet Switching: Easy toggle between Solana and Ethereum wallets
- Address Management: Multiple addresses per blockchain
- Copy Functions: One-click copying of addresses and transaction hashes
- Responsive Design: Works on desktop and mobile devices
- Loading States: Clear feedback during operations
- React 18 - Modern React with hooks
- Vite - Lightning-fast build tool and dev server
- React Router DOM - Client-side routing
- @solana/web3.js - Solana blockchain interaction
- ethers.js v6 - Ethereum blockchain interaction
- bip39 - Mnemonic phrase generation
- ed25519-hd-key - Solana HD key derivation
- tweetnacl - Cryptographic functions for Solana
- Alchemy SDK - Blockchain data and RPC endpoints
- Axios - HTTP client for API requests
- ESLint - Code linting and formatting
- Vite Plugin React - React integration for Vite
- Node Polyfills - Browser compatibility for Node.js modules
- Node.js (v16 or higher)
- npm or yarn
- Alchemy Account (for API access)
- Clone the repository
git clone https://github.com/AdeshGhadage/CryptoWebWallet.git
cd CryptoWebWallet- Install dependencies
npm install- Configure environment variables
cp .env.example .envEdit .env file with your Alchemy API URLs:
# API keys for testnet/devnet only
VITE_ALCHEMY_SOLANA_DEVNET_URL=https://solana-devnet.g.alchemy.com/v2/YOUR_API_KEY
VITE_ALCHEMY_ETH_SEPOLIA_URL=https://eth-sepolia.g.alchemy.com/v2/YOUR_API_KEY- Start the development server
npm run dev- Open your browser
Navigate to
http://localhost:5173
- Create Wallet: Generate a new mnemonic phrase on first visit
- Save Seed Phrase: Securely store your 12-word mnemonic phrase
- Generate Addresses: Add new wallet addresses for each blockchain
- Get Test Tokens: Use airdrop (Solana) or faucet (Ethereum) for test funds
- Switch to Solana: Select "Solana" from the wallet dropdown
- Add Address: Click "Add" to generate new Solana addresses
- Request Airdrop: Enter amount and click "Airdrop" for test SOL
- Check Balance: Use "Refresh" button to update balance
- Send SOL: Enter recipient address and amount, then click "Send SOL"
- Switch to Ethereum: Select "Ethereum" from the wallet dropdown
- Add Address: Click "Add" to generate new Ethereum addresses
- Get Test ETH: Click "Get Test ETH" to open Sepolia faucet
- Check Balance: Use "Refresh" button to update balance
- Send ETH: Enter recipient address and amount, then click "Send ETH"
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
# Run ESLint
npm run lint- RPC URL:
https://api.devnet.solana.com - Airdrop: Built-in airdrop functionality
- Explorer:
https://explorer.solana.com/?cluster=devnet
- RPC URL:
https://eth-sepolia.g.alchemy.com/v2/demo - Faucet:
https://www.alchemy.com/faucets/ethereum-sepolia - Explorer:
https://sepolia.etherscan.io
- Testnet Only: This wallet is designed for testnet/devnet use only
- Private Key Storage: Private keys are stored in browser's local storage
- Not Production Ready: Do not use for mainnet or real funds
- Backup Seed Phrase: Always backup your mnemonic phrase securely
- Clear Data: Use "Logout" to clear all stored data when done testing
Airdrop not working?
- Ensure you're on Solana devnet
- Wait 15-30 seconds and click "Refresh"
- Check console for error messages
Ethereum balance not showing?
- Verify you're on Sepolia testnet
- Click "Refresh" to update balance
- Use faucet to get test ETH first
Transaction failed?
- Check you have sufficient balance
- Verify recipient address is valid
- Ensure you're on the correct network
- Check browser console for error messages
- Verify environment variables are set correctly
- Ensure you have test tokens for transactions
- Solana Labs for excellent documentation
- Ethereum Foundation for Ethereum development resources
- Alchemy for reliable blockchain infrastructure
- Vite for amazing development experience
⚡ Happy Testing! Remember to only use testnet/devnet tokens and never input real private keys or seed phrases.