# Go Trading Client Project Plan
## Objective
Re-write the existing TypeScript SDK for dYdX v4 trading into Go, ensuring feature parity and developer-friendly documentation.
## Phase 1: Design and Core Feature Implementation
- **Duration:** 9 weeks
- **Activities:**
- Analyze the current TypeScript SDK features and architecture
- Define the feature set for the Go SDK, ensuring it covers all order types and functionalities.
- Set up the Go development environment, including necessary tools and libraries.
- Create the repository and define the directory structure.
- Develop functionalities for the Go SDK as designed, must include:
- Order types: limit, gtt, post only, stop limit, take profit.
- Calculation methods for price, volume, quantums, and subticks.
- Support for deposits, withdrawals, and transfers between subaccounts.
- Full URL support for endpoint input and SSL configurations.
- Gas calculations for transactions.
- Iterative testing and debugging of each feature on the testnet.
## Phase 2: Testing and Documentation
- **Duration:** 3 weeks
- **Activities:**
- Write comprehensive documentation covering all important functions of the SDK.
- Develop example code snippets for placing orders, transfers, and other common functions.
- Ensure the documentation and examples are accessible and helpful for onboarding new developers.
- Conduct thorough testing of the SDK, including unit, integration, and stress tests utilizing Docker/Starship.
- Optimize the code for performance and memory usage if necessary.
- Address any bugs or issues identified during testing.
## Propose price
- Manpower: 2 engineers full-time
- Timeline: 12 weeks
- Price: 40,000 Usdc