Coco
High-yield, non-custodial savings via 1inch Aqua; earn and do nothing.
Problem Statement
Coco is a high‑yield, non‑custodial savings account built on top of 1inch Aqua. It lets users provide liquidity and earn yield directly from their own wallets without ever depositing into a centralized custodian or moving funds off-wallet. Coco routes liquidity to curated Aqua pools and strategies, abstracts approvals and slippage settings, and continuously tracks APR, risk, and rewards. Users can enter/exit positions in a single transaction, see real‑time earnings, and maintain full self‑custody via their preferred wallet. The UI emphasizes safety with clear disclosures, position health, and simulated outcomes before execution. Coco targets simple, transparent yield for everyday crypto users, turning complex liquidity provision into a one‑click experience while keeping funds under user control at all times.
Solution
We integrate 1inch Aqua for strategy discovery and routing, then compose positions via audited OpenZeppelin ERC‑20 and optional ERC‑4626 wrappers for vault‑like accounting. The front end is Next.js/React with wagmi + viem for wallet connectivity (WalletConnect, Rainbow, MetaMask). Execution flows use Ethers.js for transaction building and simulation; we surface gas, slippage, and APR before confirm. On-chain interactions are gated by a minimal smart‑contract proxy that manages approvals safely and supports permit signatures where available to reduce friction. We index user positions and pool data with a Subgraph/The Graph and cache with TanStack Query. Risk tooling includes pool concentration checks, price oracle sanity (e.g., Chainlink), and fallback alerts. Testing uses Foundry/Hardhat, with unit/property tests, mainnet forks for Aqua routes, and UI integration tests via Playwright. Everything is open source and versioned with frequent commits.