Overview
SendFlow is a polished multi-chain DApp for sending ETH and ERC-20 tokens with advanced control over gas price and gas limit, plus live balances and a transaction history view with filters and CSV export. The UI is designed to feel modern and responsive, with real-time feedback and subtle animations.
What it demonstrates
- End-to-end transaction UX: connect wallet → estimate gas → submit → confirm feedback
- Multi-chain awareness across major EVM networks (mainnets + testnets)
- Practical “power-user” controls (manual gas + safety checks)
- Modular frontend architecture with tests for core UI pieces
Key features
- Wallet connection via RainbowKit + wagmi
- Send ETH / Tokens with preset gas options or manual Gwei input
- Custom gas limit with guardrails (prevents too-low limit vs estimate)
- Live balances (ETH + tokens) via Alchemy SDK
- Transaction history with filtering/search + CSV export
- Real-time notifications via Sonner
- Animated background (particles) when disconnected
- Test coverage for core components (Jest + React Testing Library)
Supported networks
- Ethereum Mainnet
- Polygon
- Arbitrum
- Optimism
- Base
- Sepolia (testnet)
- BNB Chain (BSC)
- BSC Testnet
Sepolia / BSC Testnet are for testing only. To perform real transactions, switch to a mainnet and ensure your wallet is funded with real assets.
Quickstart
Bash
git clone https://github.com/casaisdev/send-flow.gitSee the README for setup and env vars.
Notes on gas (gas price vs gas limit)
- Gas price = speed, gas limit = cap.
- Default gas estimate + override.
- Guardrail: blocks if limit < estimate.
Next steps
If I were to extend SendFlow further:
- Preflight simulation + stronger “are you sure?” safety rails for irreversible actions
- Better allowance UX (permit-style flows) + token approvals visibility
- RPC reliability improvements (retries/backoff + per-chain status)