Add kaigen debit credit for backtest

This commit is contained in:
2025-07-15 10:31:21 +07:00
parent f1c7259bc6
commit 11778aa2a4
7 changed files with 326 additions and 13 deletions

View File

@@ -0,0 +1,64 @@
# Kaigen Service Configuration
The Kaigen service is used for managing user credits during backtest operations. It requires proper configuration to function correctly.
## Environment Variables
### Required Environment Variable
- **`KAIGEN_PRIVATE_KEY`**: The private key used for signing API requests to the Kaigen service.
### Setting the Environment Variable
#### Development
```bash
export KAIGEN_PRIVATE_KEY="your-private-key-here"
```
#### Production
Set the environment variable in your deployment configuration:
```bash
KAIGEN_PRIVATE_KEY=your-private-key-here
```
#### Docker
```bash
docker run -e KAIGEN_PRIVATE_KEY=your-private-key-here your-app
```
#### Docker Compose
```yaml
environment:
- KAIGEN_PRIVATE_KEY=your-private-key-here
```
## Configuration Structure
The Kaigen service configuration is defined in `appsettings.json`:
```json
{
"Kaigen": {
"BaseUrl": "https://api.kaigen.managing.live",
"DebitEndpoint": "/api/credits/debit",
"RefundEndpoint": "/api/credits/refund",
"PrivateKey": "${KAIGEN_PRIVATE_KEY}"
}
}
```
## API Endpoints
- **PUT** `/api/credits/debit` - Debit credits from user account
- **PUT** `/api/credits/refund` - Refund credits to user account
## Security Notes
- The private key should never be committed to source control
- Use environment variables or secure configuration management systems
- The private key is used for signing API requests to ensure authenticity
- Rotate the private key regularly for enhanced security
## Error Handling
If the `KAIGEN_PRIVATE_KEY` environment variable is not set, the application will throw an `InvalidOperationException` with a clear error message during startup.