fetchWithdrawals
Retrieve cryptocurrency withdrawal history for a specific exchange account, filtering by currency, time period, or result count.
Instructions
Fetch withdrawal history for a configured account
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| accountName | Yes | Account name defined in the configuration file (e.g., 'bybit_main') | |
| code | No | Currency code (e.g., 'BTC', 'ETH') | |
| since | No | Timestamp in ms to fetch withdrawals since (optional) | |
| limit | No | Limit the number of withdrawals returned (optional) |
Implementation Reference
- src/tools/account-tools.ts:202-244 (handler)Handler function that retrieves withdrawal history using the CCXT exchange instance for the specified account, checks if the method is supported, handles errors, and returns JSON-formatted results.async ({ accountName, code, since, limit }) => { try { const exchange = ccxtServer.getExchangeInstance(accountName); // getExchangeInstance가 성공하면 인증은 보장됨 // fetchWithdrawals 메서드가 지원되는지 확인 if (!exchange.has["fetchWithdrawals"]) { return { content: [ { type: "text", text: `Account '${accountName}' (Exchange: ${exchange.id}) does not support fetching withdrawals`, }, ], isError: true, }; } const withdrawals = await exchange.fetchWithdrawals(code, since, limit); return { content: [ { type: "text", text: JSON.stringify(withdrawals, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error fetching withdrawals for account '${accountName}': ${ (error as Error).message }`, }, ], isError: true, }; } }
- src/tools/account-tools.ts:183-201 (schema)Zod schema defining input parameters for the fetchWithdrawals tool: accountName (required string), code (optional string), since (optional number), limit (optional number).{ accountName: z .string() .describe( "Account name defined in the configuration file (e.g., 'bybit_main')" ), code: z .string() .optional() .describe("Currency code (e.g., 'BTC', 'ETH')"), since: z .number() .optional() .describe("Timestamp in ms to fetch withdrawals since (optional)"), limit: z .number() .optional() .describe("Limit the number of withdrawals returned (optional)"), },
- src/tools/account-tools.ts:180-245 (registration)Registration of the fetchWithdrawals MCP tool using server.tool(), including name, description, input schema, and handler function.server.tool( "fetchWithdrawals", "Fetch withdrawal history for a configured account", { accountName: z .string() .describe( "Account name defined in the configuration file (e.g., 'bybit_main')" ), code: z .string() .optional() .describe("Currency code (e.g., 'BTC', 'ETH')"), since: z .number() .optional() .describe("Timestamp in ms to fetch withdrawals since (optional)"), limit: z .number() .optional() .describe("Limit the number of withdrawals returned (optional)"), }, async ({ accountName, code, since, limit }) => { try { const exchange = ccxtServer.getExchangeInstance(accountName); // getExchangeInstance가 성공하면 인증은 보장됨 // fetchWithdrawals 메서드가 지원되는지 확인 if (!exchange.has["fetchWithdrawals"]) { return { content: [ { type: "text", text: `Account '${accountName}' (Exchange: ${exchange.id}) does not support fetching withdrawals`, }, ], isError: true, }; } const withdrawals = await exchange.fetchWithdrawals(code, since, limit); return { content: [ { type: "text", text: JSON.stringify(withdrawals, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Error fetching withdrawals for account '${accountName}': ${ (error as Error).message }`, }, ], isError: true, }; } } );