get_aggregate_trades
Retrieve aggregated trade data for cryptocurrency pairs on Binance to analyze market activity, track transaction volumes, and monitor price movements over specified time periods.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Trading pair symbol, e.g. BTCUSDT | |
| fromId | No | Aggregate trade ID to start from | |
| startTime | No | Start timestamp (milliseconds) | |
| endTime | No | End timestamp (milliseconds) | |
| limit | No | Number of trades to return, default 500, max 1000 |
Implementation Reference
- src/index.ts:106-137 (handler)Complete implementation of get_aggregate_trades tool including schema definition (lines 108-114) and handler function (lines 115-136). The handler makes a GET request to Binance's /api/v3/aggTrades endpoint with parameters: symbol, fromId, startTime, endTime, and limit. Returns JSON response or error message.
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 }, ...getProxyConfig(), }); 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 }; } } );