Body:
Some controllers assume well-formed input. Add Zod schemas for key endpoints and middleware to validate inputs, returning 400 with a consistent error payload for malformed requests.
Acceptance Criteria:
- Zod schemas exist for major public endpoints (auth, deposit, withdraw, webhook).
- Invalid payloads return 400 with a descriptive error body.
- Tests cover validation failures and success cases.
Body:
Some controllers assume well-formed input. Add Zod schemas for key endpoints and middleware to validate inputs, returning 400 with a consistent error payload for malformed requests.
Acceptance Criteria: