Skip to main content
Glama

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
NameRequiredDescriptionDefault
accountNameYesAccount name defined in the configuration file (e.g., 'bybit_main')
codeNoCurrency code (e.g., 'BTC', 'ETH')
sinceNoTimestamp in ms to fetch withdrawals since (optional)
limitNoLimit the number of withdrawals returned (optional)

Implementation Reference

  • 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,
        };
      }
    }
  • 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)"),
    },
  • 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,
          };
        }
      }
    );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lazy-dinosaur/ccxt-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server