Prosper is a chat-first savings agent that drafts diversified plans (Aave supply, Uniswap LP, gold hedge) for cUSD and can execute or withdraw on request. It uses an injected wallet (Reown/extension), keeps adapters/verifier on-chain, and explains each step before acting.
- Chat UX with intent parsing (plan, execute, withdraw) and friendly error explanations.
- Plan generation with narratives, allocation breakdowns, and chat summaries.
- On-chain execution: depositWithProof to StrategyVault, Aave supply, Uniswap LP, XAUt hedge.
- Withdraw flow: pull vault balance back to the connected wallet via chat (“withdraw” / “withdraw all”).
- Recent goals history stored per wallet/chain in localStorage for quick reloads.
- StrategyVault: 0x12b8EbC3B3581f6b220c26d779D76331cB6a15FC
- AllowAllVerifier: 0xfA5ac4E80Bca21dad90b7877290c3fdfF4D0F680
- Base asset: cUSD (0x765DE816845861e75A25fCA122bb6898B8B1282a)
- Adapters: currently zeroed for flexible deposits.
- Location: web/ (Next.js + wagmi, injected connector only, SSR disabled for wagmi).
- Chat + plan page: web/app/page.tsx.
- Plan API prompt/persona: web/app/api/plan/route.ts.
- ABIs: web/lib/abi.ts; strategy metadata: web/lib/strategies.ts.
- Deploy vault/tests: forge scripts in script/ and scripts/ (JS).
- Set adapters: scripts/set-adapters.js (env-driven, CELO_RPC_URL/PRIVATE_KEY/Vault + adapter addresses).
- Deploy helpers: scripts/deploy.js, deploy-test-token.js, allow-token.js, register-erc8004.js.
Create .env (and web/.env.local) with at least:
- RPC: CELO_RPC_URL
- Keys: PRIVATE_KEY (scripts), NEXT_PUBLIC_RPC_URL (web)
- Addresses: VAULT_ADDRESS, SELF_VERIFIER_ADDRESS, TOKEN_ADDRESS (cUSD), optional adapter addresses
- Install deps:
npm install(root and web/ if separate). - Run frontend:
cd web && npm run dev. - Chat a goal + amount; say “execute” to run, or “withdraw all” to redeem to wallet.
- View tx on explorer (linked after each execution/withdrawal).
- Foundry tests:
forge test(contracts/forge-test).