├─ .env.local # Privy App ID, Amplify API key, RPC URLs (never commit)
├─ package.json
├─ src/
│ ├─ app/
│ │ ├─ App.tsx # Top-level routes, feature shells
│ │ └─ providers.tsx # React providers (PrivyProvider, AmplifyProvider, QueryClient)
│ ├─ components/
│ │ ├─ DepositForm.tsx
│ │ ├─ WithdrawForm.tsx
│ │ └─ StatusBanner.tsx
│ ├─ hooks/
│ │ ├─ useAmplify.ts # initAmplifySDK + helper wrappers
│ │ └─ useBalances.ts # data fetching with react-query / wagmi
│ ├─ lib/
│ │ ├─ privy.ts # Privy login/logout helpers
│ │ └─ viem.ts # Public/wallet client factories
│ ├─ pages/ # Optional route segments (Next.js / Remix)
│ ├─ styles/
│ └─ main.tsx # Vite entry point
├─ tests/ # Component and integration tests
└─ docs/ # Internal runbooks and integration notes