get_aggregate_trades
Retrieve aggregated trade data for specific cryptocurrency pairs on Binance. Fetch trade history using symbols, time ranges, or trade IDs for detailed market analysis and insights.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| endTime | No | End timestamp (milliseconds) | |
| fromId | No | Aggregate trade ID to start from | |
| limit | No | Number of trades to return, default 500, max 1000 | |
| startTime | No | Start timestamp (milliseconds) | |
| symbol | Yes | Trading pair symbol, e.g. BTCUSDT |
Implementation Reference
- src/index.ts:112-133 (handler)Handler function that fetches aggregate trades data from Binance API (/api/v3/aggTrades), handles parameters like symbol, fromId, timestamps, limit, uses proxy if available, returns JSON response or error message.async (args: { symbol: string; fromId?: number; startTime?: number; endTime?: number; limit?: number }) => { try { const response = await axios.get(`${BASE_URL}/api/v3/aggTrades`, { params: { symbol: args.symbol, fromId: args.fromId, startTime: args.startTime, endTime: args.endTime, limit: args.limit }, proxy: getProxy(), }); return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] }; } catch (error: any) { return { content: [{ type: "text", text: `Failed to get aggregate trades: ${error.message}` }], isError: true }; } }
- src/index.ts:105-111 (schema)Zod schema defining input parameters for the get_aggregate_trades tool.{ symbol: z.string().describe("Trading pair symbol, e.g. BTCUSDT"), fromId: z.number().optional().describe("Aggregate trade ID to start from"), startTime: z.number().optional().describe("Start timestamp (milliseconds)"), endTime: z.number().optional().describe("End timestamp (milliseconds)"), limit: z.number().optional().describe("Number of trades to return, default 500, max 1000") },
- src/index.ts:103-134 (registration)Registration of the get_aggregate_trades tool using server.tool() with schema and inline handler.server.tool( "get_aggregate_trades", { symbol: z.string().describe("Trading pair symbol, e.g. BTCUSDT"), fromId: z.number().optional().describe("Aggregate trade ID to start from"), startTime: z.number().optional().describe("Start timestamp (milliseconds)"), endTime: z.number().optional().describe("End timestamp (milliseconds)"), limit: z.number().optional().describe("Number of trades to return, default 500, max 1000") }, async (args: { symbol: string; fromId?: number; startTime?: number; endTime?: number; limit?: number }) => { try { const response = await axios.get(`${BASE_URL}/api/v3/aggTrades`, { params: { symbol: args.symbol, fromId: args.fromId, startTime: args.startTime, endTime: args.endTime, limit: args.limit }, proxy: getProxy(), }); return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] }; } catch (error: any) { return { content: [{ type: "text", text: `Failed to get aggregate trades: ${error.message}` }], isError: true }; } } );