ListTransactionsForAccountRequest
ListTransactionsForAccountRequest lists transactions involving a specific account.
This RPC returns all transactions where the specified account appears in any capacity (fee payer, signer, or affected account). Results can be filtered using CEL expressions on transaction properties.
Available Filter Fields
Section titled “Available Filter Fields”transaction.slot(uint64): Block slot numbertransaction.block_offset(uint32): Position within blocktransaction.signature.value(bytes): Transaction signature
Header fields (in-memory evaluation only, not SQL pushdown):
transaction.header.version(uint32): Transaction format versiontransaction.header.fee(uint64): Transaction feetransaction.header.nonce(uint64): Sender account noncetransaction.header.start_slot(uint64): Earliest slot for executiontransaction.header.expiry_after(uint32): Expiry duration in slotstransaction.header.requested_compute_units(uint64): Requested compute unitstransaction.header.requested_memory_units(uint32): Requested memory unitstransaction.header.requested_state_units(uint32): Requested state unitstransaction.header.fee_payer_pubkey.value(bytes): Fee payer public keytransaction.header.program_pubkey.value(bytes): Program public keytransaction.header.fee_payer_signature.value(bytes): Fee payer signature
Execution result fields:
transaction.execution_result.vm_error(TransactionVmError enum): VM execution status (0 = success)transaction.execution_result.user_error_code(uint64): User-defined error codetransaction.execution_result.execution_result(uint64): Alias for user_error_codetransaction.execution_result.consumed_compute_units(uint64): Compute units usedtransaction.execution_result.consumed_memory_units(uint32): Memory units usedtransaction.execution_result.consumed_state_units(uint32): State units usedtransaction.execution_result.events_count(uint32): Number of events emittedtransaction.execution_result.events_size(uint32): Total size of event data in bytes
Filter Examples
Section titled “Filter Examples”Filter by slot
Section titled “Filter by slot”filter \{expression: "transaction.slot == params.slot"params \{key: "slot"value \{ int_value: 12345 }}}Filter by block offset
Section titled “Filter by block offset”filter \{expression: "transaction.block_offset == uint(5)"}Filter by compute units (high usage)
Section titled “Filter by compute units (high usage)”filter \{expression: "transaction.execution_result.consumed_compute_units >= uint(1000000)"}Filter by memory units
Section titled “Filter by memory units”filter \{expression: "transaction.execution_result.consumed_memory_units > uint(0)"}Filter by state units
Section titled “Filter by state units”filter \{expression: "transaction.execution_result.consumed_state_units > uint(0)"}Filter successful transactions (by error code)
Section titled “Filter successful transactions (by error code)”filter \{expression: "transaction.execution_result.user_error_code == uint(0)"}Filter by VM execution status
Section titled “Filter by VM execution status”filter \{expression: "transaction.execution_result.vm_error == int(0)"}Filter transactions with events
Section titled “Filter transactions with events”filter \{expression: "transaction.execution_result.events_count > uint(0)"}Filter by event data size
Section titled “Filter by event data size”filter \{expression: "transaction.execution_result.events_size > uint(0)"}Check for optional fields using has()
Section titled “Check for optional fields using has()”filter \{expression: "has(transaction.execution_result)"}Combined filters with AND/OR
Section titled “Combined filters with AND/OR”filter \{expression: "transaction.execution_result.consumed_compute_units >= uint(1000000) && transaction.execution_result.user_error_code == uint(0)"}Using params for dynamic values
Section titled “Using params for dynamic values”filter \{expression: "transaction.execution_result.consumed_compute_units >= params.u64"params \{key: "u64"value \{ int_value: 500000 }}}Available Functions
Section titled “Available Functions”has(field): Check if optional field is presentuint(value): Convert to unsigned integerint(value): Convert to signed integerstring(value): Convert to string typebytes(value): Convert to bytes type
Available Filter Parameters
Section titled “Available Filter Parameters”params.slot(uint64): Slot number for filteringparams.u64(uint64): Generic uint64 parameterparams.pubkey(Pubkey): Public key parameter for filtering
Performance Notes
Section titled “Performance Notes”Filters on transaction.slot, transaction.block_offset, and
transaction.execution_result.* fields are optimized with SQL pushdown
for better performance. Complex expressions may fall back to in-memory evaluation.
Package: thru.services.v1
Fields
Section titled “Fields”| Field | Type | # | Description |
|---|---|---|---|
account | thru.common.v1.Pubkey | 1 · optional | |
page | thru.common.v1.PageRequest | 2 · optional | |
filter | thru.common.v1.Filter | 3 · optional | Optional CEL filter applied after the account constraint. |