EchoBox: ENS-addressed, time-locked crypto gifts for birthdays, holidays, and special moments.
EchoBox lets anyone send a crypto gift today that unlocks in the future—perfect for birthdays, anniversaries, and holidays. The sender enters an ENS name (e.g., alice.eth), picks an unlock date/time, and funds the gift in ETH or a supported ERC-20. On or after the unlock time, the recipient can claim the funds with their wallet.
Key features • ENS-first UX: send to names, not hex addresses (with reverse→forward verification for safety). • Time locks: gifts remain non-claimable until a precise timestamp. • Tokens: ETH and ERC-20 (e.g., PYUSD on testnet) with clear on-chain events. • Clean dApp: Connect Wallet, Create Gift, View Gifts (sent/received), countdowns, and one-click claim. • Merchant mode: NYC restaurants/cafés/matcha shops/pet stores can pre-issue gifts to customers for promos or prepaid credit (see MERCHANTS.md for POS flow and compliance pointers).
Why it matters Gifting crypto is clunky. EchoBox makes it delightful, safe, and date-aware—so value arrives at the right moment, addressed to human-readable names, with transparent on-chain guarantees.
Frontend • Next.js (App Router) + TypeScript + Tailwind for a fast, responsive UI. • wagmi + viem for wallet connections and contract calls (WalletConnect/MetaMask/Coinbase). • Dedicated connect flows:
Smart contracts • GiftBox.sol (Solidity) holds gifts with {sender, recipient, amount, unlockTimestamp, token, claimed}. • createGift (ETH, payable) and createGiftToken (ERC-20 via approve/transferFrom). • claimGift enforces recipient-only access after unlock, with ReentrancyGuard and CEI pattern. • Events: GiftCreated, GiftClaimed for clean indexability.
Tooling & tests • Hardhat for compile/deploy/tests; Vitest + Testing Library for UI tests. • Bun for scripts (fast install/test/lint/build). • Deployed to Sepolia for demos; RPC via Alchemy/Infura. • TDD: unit tests for revert paths (past time, zero value, non-recipient, double claim), plus UI mocks for tx lifecycle and ENS failure states.
What’s novel/hacky • ENS safety by default (reverse→forward verify to prevent spoofing). • Merchant mode (“gift as prepaid credit”) with POS-friendly Gift ID/QR lookup page. • Token-agnostic pipeline (ETH or ERC-20, e.g., PYUSD on testnets) with identical UX.