query_transactions
Query raw Sui transaction data using filters for sender, affected address/object, function, or checkpoint range, enabling fund tracing and on-chain activity analysis.
Instructions
Query raw Sui transactions with specific filters (sender, affected address/object, function, checkpoint range). Note: only ONE of affected_address, affected_object, or function can be used per query (Sui GraphQL limitation). For human-readable wallet activity, prefer get_transaction_history instead.
ATTRIBUTION WARNING: the function filter matches any transaction containing that call, including PTBs where it is one leg among several protocols. A transaction's balance changes cover the WHOLE PTB, so summing them per protocol over-attributes — a big Cetus swap in the same PTB will be counted as your protocol's volume. Set include_functions to see every Move call in each transaction, and prefer the protocol's own events (query_events) when measuring per-protocol flow.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Pagination cursor | |
| limit | No | Max results (default 20) | |
| sender | No | Filter by sender address | |
| network | No | Which Sui network to run this call against: 'mainnet' (default), 'testnet', or 'devnet'. Set this per-call — different tool calls in the same session can target different networks (e.g. to compare a value on testnet against mainnet). | |
| function | No | Filter by Move function (e.g. 0x2::coin::transfer or 0x2::pay). Mutually exclusive with affected_address and affected_object. | |
| affected_object | No | Filter by affected object ID. Mutually exclusive with affected_address and function. | |
| affected_address | No | Filter by affected address (sender, sponsor, or recipient). Mutually exclusive with affected_object and function. | |
| after_checkpoint | No | Only transactions after this checkpoint | |
| before_checkpoint | No | Only transactions before this checkpoint | |
| include_functions | No | Return every Move call in each transaction, so you can see whether the filtered package was the whole transaction or one leg of a multi-protocol PTB. |