← Back to home

EchoBox

EchoBox: ENS-addressed, time-locked crypto gifts for birthdays, holidays, and special moments.

Problem Statement

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.

Solution

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:/connect (generic wagmi)/connect-gemini (Gemini-only via native connector or WalletConnect)/connect-privy (Privy User SDK auth + wallet listing) • ENS helpers perform forward lookup for sending and reverse→forward verification for display.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.

Hackathon

ETHGlobal New York 2025

2025

Prizes

  • 🏆

    Best Consumer Experience

    PayPal USD

Contributors