ZKClear Frontend — institutional UI for creating, signing, and managing OTC settlements with zero-knowledge guarantees.
- Next.js 14 - React framework with App Router
- TypeScript - Type safety
- Tailwind CSS - Styling
- Ethers.js - Web3 integration
- Axios - HTTP client for API
npm installnpm run devThe application will be available at http://localhost:3001 (Next.js defaults to port 3000, but API is already on 3000, so we use 3001)
npm run build
npm startsrc/
├── app/ # Next.js App Router
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Home page
│ ├── deposits/ # Deposits page
│ ├── deals/ # Deals pages
│ │ ├── create/ # Create deal page
│ │ └── [dealId]/ # Dynamic deal details
│ ├── withdrawals/ # Withdrawals page
│ └── account/ # Account page
├── components/ # React components
│ ├── wallet/ # Wallet components
│ └── Layout.tsx # Main layout
├── services/ # API clients
│ └── api.ts # API client
├── types/ # TypeScript types
└── utils/ # Utilities
└── transactions.ts # Transaction utilities
Frontend connects to ZKClear API through rewrites in next.config.js:
/api/*→http://localhost:3000/api/*/jsonrpc→http://localhost:3000/jsonrpc
Make sure ZKClear API service is running on port 3000.
- ✅ Basic project structure (Next.js + TypeScript)
- ✅ App Router and Layout
- ✅ Wallet connection component
- ✅ API integration
- ✅ Deposits page
- ✅ Deals pages (list, create, details)
- ✅ Withdrawals page
- ✅ Account page
- Transaction creation and signing
- Direct contract integration (DepositContract, WithdrawalContract)
- Deal list endpoint integration
- Transaction history
- Error handling and loading states
- Toast notifications
- Responsive design improvements
MIT