query_sui_transactions
Search and filter Sui blockchain transactions by specific criteria to retrieve transaction data for analysis and monitoring purposes.
Instructions
Query Sui transactions with filters
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Optional: Pagination cursor | |
| descendingOrder | No | Optional: Sort order (default: false) | |
| limit | No | Optional: Number of results to return | |
| network | No | Network type (defaults to mainnet) | |
| query | Yes | Query filter and options |
Implementation Reference
- src/handlers/sui-handlers.ts:413-437 (handler)Handler case for 'query_sui_transactions' tool: extracts parameters from args and delegates to SuiService.queryTransactions method.case 'query_sui_transactions': { const query = args?.query as any; const cursor = args?.cursor as string | undefined; const limit = args?.limit as number | undefined; const descendingOrder = args?.descendingOrder as boolean | undefined; const network = (args?.network as 'mainnet' | 'testnet') || 'mainnet'; const result = await suiService.queryTransactions( query, cursor, limit, descendingOrder, network ); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], isError: !result.success, }; }
- src/handlers/sui-handlers.ts:177-207 (schema)Input schema and tool definition for 'query_sui_transactions' used in tool registration.{ name: 'query_sui_transactions', description: 'Query Sui transactions with filters', inputSchema: { type: 'object', properties: { query: { type: 'object', description: 'Query filter and options', }, cursor: { type: 'string', description: 'Optional: Pagination cursor', }, limit: { type: 'number', description: 'Optional: Number of results to return', }, descendingOrder: { type: 'boolean', description: 'Optional: Sort order (default: false)', }, network: { type: 'string', enum: ['mainnet', 'testnet'], description: 'Network type (defaults to mainnet)', }, }, required: ['query'], }, },
- src/services/sui-service.ts:221-250 (helper)Core implementation of transaction querying: constructs RPC parameters and calls 'suix_queryTransactionBlocks' via blockchain service.async queryTransactions( query: { filter?: any; options?: any; }, cursor?: string, limit?: number, descendingOrder?: boolean, network: 'mainnet' | 'testnet' = 'mainnet' ): Promise<EndpointResponse> { const service = this.blockchainService.getServiceByBlockchain('sui', network); if (!service) { return { success: false, error: `Sui service not found for ${network}`, }; } const params: any[] = [query]; if (cursor !== undefined) params.push(cursor); if (limit !== undefined) params.push(limit); if (descendingOrder !== undefined) params.push(descendingOrder); return this.blockchainService.callRPCMethod( service.id, 'suix_queryTransactionBlocks', params ); }