setLeverage
Adjust leverage levels for futures trading on Bitget exchange. Specify trading pair and desired leverage (1-125) to manage risk and optimize trading strategies.
Instructions
Set leverage for futures trading
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| leverage | Yes | Leverage value (1-125) | |
| symbol | Yes | Trading pair symbol |
Input Schema (JSON Schema)
{
"properties": {
"leverage": {
"description": "Leverage value (1-125)",
"maximum": 125,
"minimum": 1,
"type": "number"
},
"symbol": {
"description": "Trading pair symbol",
"type": "string"
}
},
"required": [
"symbol",
"leverage"
],
"type": "object"
}
Implementation Reference
- src/server.ts:440-453 (handler)Handler for setLeverage tool: parses args with schema, calls bitgetClient.setLeverage, returns success messagecase 'setLeverage': { const { symbol, leverage } = SetLeverageSchema.parse(args); const success = await this.bitgetClient.setLeverage(symbol, leverage); return { content: [ { type: 'text', text: success ? `Leverage set to ${leverage}x for ${symbol}` : `Failed to set leverage for ${symbol}`, }, ], } as CallToolResult; }
- src/types/mcp.ts:88-91 (schema)Zod schema for SetLeverage tool input validation: symbol (string), leverage (number 1-125)export const SetLeverageSchema = z.object({ symbol: z.string().describe('Trading pair symbol'), leverage: z.number().min(1).max(125).describe('Leverage value (1-125)') });
- src/server.ts:216-227 (registration)Tool registration in listTools: defines name, description, and inputSchema for setLeverage{ name: 'setLeverage', description: 'Set leverage for futures trading', inputSchema: { type: 'object', properties: { symbol: { type: 'string', description: 'Trading pair symbol' }, leverage: { type: 'number', minimum: 1, maximum: 125, description: 'Leverage value (1-125)' } }, required: ['symbol', 'leverage'] }, },
- src/api/rest-client.ts:784-797 (helper)Core implementation: makes authenticated POST request to Bitget API /api/v2/mix/account/set-leverage to set leverage for futures symbolasync setLeverage(symbol: string, leverage: number): Promise<boolean> { // Remove _UMCBL suffix for v2 API (like in candles) const cleanSymbol = symbol.replace('_UMCBL', ''); const response = await this.request<any>('POST', '/api/v2/mix/account/set-leverage', { symbol: cleanSymbol, productType: 'USDT-FUTURES', marginCoin: 'USDT', // Required parameter! leverage: leverage.toString(), holdSide: 'long' }, true); return response.code === '00000'; }