Skip to main content

History Transactions

NameDescriptionData TypeDomain ValuesPrimary Key?Natural Key?Partition or Cluster Field?Required?Notes
idA unique identifier for a this transactionintegerYesYesYes
transaction_hashA hex-encoded SHA-256 hash of this transaction's XDR-encoded formstringYes
ledger_sequenceThe sequence number of the ledger that this transaction was included inintegerclusterYes
application_orderEach transaction within the transaction set for a ledger is executed and applied sequentially to the network. The validator nodes randomly shuffle submitted transactions and assign them an application order number, which corresponds to the order in which they are appliedintegerYes
accountThe account address that originates the transactionstringclusterYes
account_sequenceThe source account's sequence number that this transaction consumed. Sequence numbers can only be used once and help maintain atomicity and idempotency on the network.integerYes
max_feeThe maximum fee (in stroops) that the source account is willing to pay for the transaction to be included in a ledger. When the network enters surge pricing, this helps determine if a transaction is included in the setintegerYesThe stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM.
operation_countThe number of operations contained within this transactionintegerYesA transaction is permitted to have up to 100 operations
created_atThe date the transaction was createdtimestampNo
memo_typeThe type of memostringMemoTypeMemoHash MemoTypeMemoId MemoTypeMemoNone MemoTypeMemoReturn MemoTypeMemoTextYesDefaults to `MemoTypeMemoNone`
memoAn optional freeform field that attaches a memo to a transactionstringNoMemos are heavily used by centralized exchanges to help with account management.
time_boundsA transaction precondition that can be set to determine when a transaction is valid. The user can set a lower and upper timebound, defined as a UNIX timestamp when the transaction can be executed. If the transaction attempts to execute outside of the time range, the transaction will failstringNo
successfulIndicates if this transaction was successful or notbooleanclusterNoA transaction's success does not indicate whether it was included and written to a ledger. It only indicates whether the operations in the transaction were successfully applied to mutate the ledger state.
fee_chargedThe fee (in stroops) paid by the source account to apply this transaction to the ledger. At minimum, a transaction is charged # of operations * base fee. The minimum base fee is 100 stroopsintegerNoThe stroop is the fractional representation of a lumen (XLM). 1 stroop is 0.0000001 XLM.
inner_transaction_hashA transaction hash of a transaction wrapped with its signatures for fee-bump transactionsstringNo
fee_accountAn account that is not the originating source account for a transaction is allowed to pay transaction fees on behalf of the source account. These accounts are called fee accounts and incur all transaction costs for the source account.stringNo
new_max_feeIf an account has a fee account, the fee account can specify a maximum fee (in stroops) that it is willing to pay for this account's fees. When the network is in surge pricing, the validators will consider the new_max_fee instead of the max_fee when determining if the transaction will be included in the transaction setintegerNo
account_muxedIf the user has defined multiplexed (muxed) accounts, the account exists "virtually" under a traditional Stellar account address. This address distinguishes between the virtual accountsstringNo
fee_account_muxedIf the fee account that sponsors fee is a multiplexed account, the virtual address will be listed herestringNo
ledger_boundsA transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. Ledger bounds allow the user to specify a minimum and maxiumum ledger sequence number in which the transaction can successfully executestringNo
min_account_sequenceA transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains an integer representation of the lowest source account sequence number for which the transaction is validintegerNo
min_account_sequence_ageA transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains a minimum duration of time that must have passed since the source account's sequence number changed for the transaction to be validintegerNo
min_account_sequence_ledger_gapA transaction precondition that can be set to determine valid conditions for a transaction to be submitted to the network. This condition contains an integer representation of the minimum number of ledgers that must have closed since the source account's sequence number change for the transaction to be validintegerNo
extra_signersAn array of up to two additional signers that must have corresponding signatures for this transaction to be validarray[string]No
tx_envelopebase-64 encoded XDR blobstringNo
tx_resultbase-64 encoded XDR blobstringNo
tx_metabase-64 encoded XDR blobstringNo
tx_fee_metabase-64 encoded XDR blobstringNo
batch_idString representation of the run id for a given DAG in Airflow. Takes the form of "scheduled__<batch_end_date>-<dag_alias>". Batch ids are unique to the batch and help with monitoring and rerun capabilitiesstringYes
batch_run_dateThe start date for the batch interval. When taken with the date in the batch_id, the date represents the interval of ledgers processed. The batch run date can be seen as a proxy of closed_at for a ledger.datetimeMONTH partitionYesThe table is partitioned on batch_run_date. It is recommended to always include the batch_run_date in the filter if possible to help reduce query cost.
batch_insert_tsThe timestamp in UTC when a batch of records was inserted into the database. This field can help identify if a batch executed in real time or as part of a backfilltimestampYes
resource_feeThe fee charged less the inclusion fee for the Soroban transaction. This is calculated by the read/write operations and how process intensive the Soroban transaction isintegerNo
soroban resources_instructionsNumber of CPU instructions the Soroban transaction usesintegerNo
soroban resources_read_bytesNumber of bytes read by the Soroban transactionintegerNo
soroban_resources_write_bytesNumber of bytes written by the Soroban transactionintegerNo
closed_atTimestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 secondstimestampYesWe aim to repartition the table by closed_at
transaction_result_codeThe detailed result code that outlines why a transaction failed. This code is only useful for failed transactions. The full list of domain values can be found herestringTransactionResultCodeTxFeeBumpInnerSuccess TransactionResultCodeTxSuccess TransactionResultCodeTxFailed TransactionResultCodeTxTooEarly TransactionResultCodeTxTooLate TransactionResultCodeTxMissingOperation TransactionResultCodeTxBadSeq TransactionResultCodeTxBadAuth TransactionResultCodeTxInsufficientBalance TransactionResultCodeTxNoAccount TransactionResultCodeTxInsufficientFee TransactionResultCodeTxBadAuthExtra TransactionResultCodeTxInternalError TransactionResultCodeTxNotSupported TransactionResultCodeTxFeeBumpInnerFailed TransactionResultCodeTxBadSponsorship TransactionResultCodeTxBadMinSeqAgeOrGap TransactionResultCodeTxMalformed TransactionResultCodeTxSorobanInvalidYes
inclusion_fee_bidThe maximum bid the submitter is willing to pay for inclusion of the transaction. This fee is used to prioritize transactions that are included in the ledger.integerNo
inclusion_fee_chargedThe fee charged for the transaction to be included in the ledger. This is a fixed fee for the entire ledger and starts at a minimum of 100 stroops. The fee increases based on demandintegerNo
resource_fee_refundThe amount of the resource fee refunded to the transaction submitter. The refundable fees are calculated from rent, events and return value. Refundable fees are charged from the source account before the transaction is executed and then refunded based on the actual usage.integerNo
non_refundable_resource_fee_chargedThe amount charged for the transaction that is not refundableinteger
refundable_resource_fee_chargedThe amount charged for the transaction from the refundable_feeinteger
rent_fee_chargedThe rent fee charged to persist the contract or contract codeinteger
refundable_feeThe amount of resource fees that are refundable based on the actual usage of resources in the transactioninteger