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.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"symbol": "<symbol>"
},
"name": "get_aggregate_trades"
}
}Input 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 }; } } );