A simple, modern crypto wallet built with React and Ethers.js. Manage your Ethereum accounts, send transactions, and switch between networks—all from a clean interface.
- Create & manage multiple accounts from a single seed phrase
- Send ETH/POL to any address with transaction confirmation
- Switch networks (Ethereum Mainnet, Sepolia, Polygon Amoy)
- View balances and recent transaction history
- Recover your wallet anytime using your seed phrase
# Clone the repo
git clone https://github.com/yourusername/crypto-wallet.git
cd crypto-wallet
# Install dependencies
npm install
# Add your Alchemy API keys to .env
VITE_ETH_MAINNET_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY
VITE_SEPOLIA_RPC=https://eth-sepolia.g.alchemy.com/v2/YOUR_API_KEY
VITE_POLYGON_AMOY_RPC=https://polygon-amoy.g.alchemy.com/v2/YOUR_API_KEY
# Run it
npm run devGet your free Alchemy API key at alchemy.com
-
First time? The app generates a new wallet automatically. Save your 12-word seed phrase immediately—you won't see it again!
-
Switch networks using the dropdown. Your balance updates automatically.
-
Generate new address by clicking "Generate new adress". All accounts derive from your seed phrase.
-
Send crypto by entering a recipient address and amount. Click send and wait for confirmation.
-
Lost your wallet? Use "Recover Account" with your seed phrase to restore everything.
src/
├── components/ # UI components
│ ├── Account/ # Wallet management (create, recover, display)
│ └── Wallet/ # Transactions and network switching
├── context/ # Global wallet state
├── services/ # Blockchain logic (transactions, balance, chains)
└── utils/ # Helper functions
- React 19 with hooks and context
- Ethers.js 6 for blockchain interactions
- Vite for fast development
- Alchemy for reliable RPC endpoints
- Your seed phrase is shown only once. Write it down!
- Private keys live in memory (React state) while the app runs
- Always test on Sepolia testnet before using real ETH
- Never share your seed phrase or private keys with anyone