Query transactions
query_transactionsFilter Sui transactions by sender, address, object, function, or time/checkpoint range. Returns paginated results with cursors and per-transaction Move call details for attribution.
Instructions
Query raw Sui transactions with specific filters (sender, affected address/object, function, time or checkpoint range). Note: only ONE of affected_address, affected_object, or function can be used per query (Sui GraphQL limitation). Newest first by default; each page reports its order, oldest_shown/newest_shown and the resolved window, and next_cursor goes back as cursor with the same order and filters. For human-readable wallet activity, prefer get_transaction_history instead.
VERSIONS: a function filter matches calls made through that exact package version, and each version of an upgraded package sees its own share of the calls. function_scope names the lineage when the package has other versions; all_versions: true reads every version as one merged list.
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 |
|---|---|---|---|
| limit | No | Max results (default 20, max 50) | |
| order | No | 'newest' (default) starts at the most recent match and pages back; 'oldest' starts at the earliest and pages forward. | |
| cursor | No | `next_cursor` from the previous page. Pass the same `order` and filters. | |
| sender | No | Filter by sender address | |
| network | No | Network: 'mainnet' (default) | 'testnet' | 'devnet' | |
| function | No | Filter by Move function (e.g. 0x2::coin::transfer or 0x2::pay). Mutually exclusive with affected_address and affected_object. | |
| all_versions | No | With `function`: read calls made through every version of the package's lineage, merged into one list (default false). Without it only the named version is read. | |
| 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 point: a checkpoint number, or an ISO 8601 time (2026-08-07T00:00:00Z), which includes transactions at that time | |
| before_checkpoint | No | Only transactions before this point: a checkpoint number, or an ISO 8601 time, which includes transactions at that time | |
| 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. |