Overview
TEST Token Faucet is a compact ERC-20 faucet dApp deployed on Sepolia. The backend provides a SimpleToken + TokenFaucet pair, and the frontend offers a clean wallet-first UX to request tokens, view faucet status, and track limits in real time.
The faucet is designed with practical guardrails: cooldowns, per-address limits, daily caps, and pause-friendly UX messaging.
What it demonstrates
- End-to-end dApp integration (contracts ↔ frontend reads/writes)
- Rate-limited distribution logic (cooldown + caps) with clear UX feedback
- Hardhat 3 + Ignition deployment recipes and repeatable environments
- Reactive UI updates by watching ERC-20
Transferevents - “Add token to wallet” UX via
wallet_watchAsset(MetaMask)
Key features
- Wallet connect via RainbowKit + wagmi (Sepolia)
- Faucet status panel (tokens per request, cooldown, max per address, daily limit)
- User info panel (cooldown remaining, total received, balances)
- Request tokens action (
requestTokens) with disabled states when blocked - Live updates via
Transferwatcher - Add token to MetaMask button
Sepolia is a testnet. Tokens and ETH there are for development only.
Live demo
Contract details
- Network: Sepolia (Chain ID: 11155111)
- SimpleToken:
0xBCACFDD37b69eb826cF64E97bc4eDE7F33341B59 - TokenFaucet:
0x7B07473827BCc65714E2C28856231B3B66Cf2DdF
Quickstart
git clone https://github.com/casaisdev/TEST-Token-Faucet.gitSee the repo docs for .env setup and contract/frontend wiring:
- Backend (Hardhat/Ignition, deploy/verify):
- https://github.com/casaisdev/TEST-Token-Faucet/blob/main/backend/README.md
- Frontend (RainbowKit/wagmi, addresses/ABIs):
- https://github.com/casaisdev/TEST-Token-Faucet/blob/main/frontend/README.md
Notes
- Frontend ABIs and addresses must match the deployed contracts on Sepolia.
- Limits are enforced on-chain; the UI mirrors the same constraints for clarity.
- Keep keys and secrets out of source control (
.envis ignored).
Next steps
If I were to evolve this faucet further:
- Add allowlists/blacklists and admin tooling for controlled distributions
- Add multi-token faucet support (one UI, multiple ERC-20s)
- Add analytics (requests/day, unique addresses, top recipients)
- Add stronger anti-bot measures (optional signature challenges / fees)