Skip to content

ListTransactionsForAccountRequest

View as Markdown

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.

  • transaction.slot (uint64): Block slot number
  • transaction.block_offset (uint32): Position within block
  • transaction.signature.value (bytes): Transaction signature

Header fields (in-memory evaluation only, not SQL pushdown):

  • transaction.header.version (uint32): Transaction format version
  • transaction.header.fee (uint64): Transaction fee
  • transaction.header.nonce (uint64): Sender account nonce
  • transaction.header.start_slot (uint64): Earliest slot for execution
  • transaction.header.expiry_after (uint32): Expiry duration in slots
  • transaction.header.requested_compute_units (uint64): Requested compute units
  • transaction.header.requested_memory_units (uint32): Requested memory units
  • transaction.header.requested_state_units (uint32): Requested state units
  • transaction.header.fee_payer_pubkey.value (bytes): Fee payer public key
  • transaction.header.program_pubkey.value (bytes): Program public key
  • transaction.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 code
  • transaction.execution_result.execution_result (uint64): Alias for user_error_code
  • transaction.execution_result.consumed_compute_units (uint64): Compute units used
  • transaction.execution_result.consumed_memory_units (uint32): Memory units used
  • transaction.execution_result.consumed_state_units (uint32): State units used
  • transaction.execution_result.events_count (uint32): Number of events emitted
  • transaction.execution_result.events_size (uint32): Total size of event data in bytes
filter \{
expression: "transaction.slot == params.slot"
params \{
key: "slot"
value \{ int_value: 12345 }
}
}
filter \{
expression: "transaction.block_offset == uint(5)"
}
filter \{
expression: "transaction.execution_result.consumed_compute_units >= uint(1000000)"
}
filter \{
expression: "transaction.execution_result.consumed_memory_units > uint(0)"
}
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 \{
expression: "transaction.execution_result.vm_error == int(0)"
}
filter \{
expression: "transaction.execution_result.events_count > uint(0)"
}
filter \{
expression: "transaction.execution_result.events_size > uint(0)"
}
filter \{
expression: "has(transaction.execution_result)"
}
filter \{
expression: "transaction.execution_result.consumed_compute_units >= uint(1000000) && transaction.execution_result.user_error_code == uint(0)"
}
filter \{
expression: "transaction.execution_result.consumed_compute_units >= params.u64"
params \{
key: "u64"
value \{ int_value: 500000 }
}
}
  • has(field): Check if optional field is present
  • uint(value): Convert to unsigned integer
  • int(value): Convert to signed integer
  • string(value): Convert to string type
  • bytes(value): Convert to bytes type
  • params.slot (uint64): Slot number for filtering
  • params.u64 (uint64): Generic uint64 parameter
  • params.pubkey (Pubkey): Public key parameter for filtering

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

FieldType#Description
accountthru.common.v1.Pubkey1 · optional
pagethru.common.v1.PageRequest2 · optional
filterthru.common.v1.Filter3 · optionalOptional CEL filter applied after the account constraint.