Skip to content

SendFlow

Modern multi-chain dApp to send ETH/tokens with custom gas controls, live balances, and transaction history (filter/search/CSV export), built with wagmi + RainbowKit + Alchemy.

ReactwagmiEVM

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.git

See 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)