Skip to main content

History Operations

Table Metadata

PropertyConfiguration
Natural Key(s)id
Partition Field(s)batch_run_date (MONTH partition)
Clustered Field(s)transaction_id, source_account, type
Documentationdbt docs

Column Details

NameDescriptionData TypeDomain ValuesRequired?Notes
idUnique identifier for an operationintegerYesThe operation id is the transaction id + order number
source_accountThe account address that originates the operationstringYesDefaults to ''
source_account_muxedIf an account is multiplexed (muxed), the virtual account address that originates the operationstringNo
transaction_idThe transaction identifier in which the operation executed. There can be up to 100 operations in a given transactionintegerYes
ledger_sequenceThe sequence number of this ledger. It represents the order of the ledger within the Stellar blockchain. Each ledger has a unique sequence number that increments with every new ledger, ensuring that ledgers are processed in the correct order.integerYes
typeThe number indicating which type of operation this operation executesinteger
  • 0 - Create Account
  • 1 - Payment
  • 2 - Path Payment Strict Receive
  • 3 - Manage Sell Offer
  • 4 - Create Passive Sell Offer
  • 5 - Set Options
  • 6 - Change Trust
  • 7 - Allow Trust
  • 8 - Account Merge
  • 9 - Inflation
  • 10 - Manage Data
  • 11 - Bump Sequence
  • 12 - Manage Buy Offer
  • 13 - Path Payment Strict Send
  • 14 - Create Claimable Balance
  • 15 - Claim Claimable Balance
  • 16 - Begin Sponsoring Future Reserves
  • 17 - End Sponsoring Future Reserves
  • 18 - Revoke Sponsorship
  • 19 - Clawback
  • 20 - Clawback Claimable Balance
  • 21 - Set Trust Line Flags
  • 22 - Liquidity Pool Deposit
  • 23 - Liquidity Pool Withdraw
Yes
type_stringThe string indicating which type of operation this operation executesstringYes
detailsUnstructured JSON object that contains details based on the type of operation executedblobsee details below (E10:E108)NoBigquery does not have a JSON field type (currently in pre-GA pilot only) so this field is a structured, sparse, record field instead. In the upstream data, this field is a true json blob
details.accountThe new resulting account address that is created and funded (create operation) The account address that is being removed and merged into another account (merge operation)stringNo
details.account_muxedThe virtual address of the account if the account is multiplexedstringNo
details.account_muxed_idInteger representation of the virtual address of the account if the account is multiplexedintegerNo
details.account_idThe address of the account which is no longer sponsoredstringNo
details.amountFloat representation of the amount of an asset sent/offered/etcfloatNo
details.assetThe asset available to be claimed in the form of "asset_code:issuing_address". If the claimable balance is in XLM, it is reported as "native"stringNo
details.asset_codeThe 4 or 12 character code representation of the asset on the networkstring
  • 1 - Payment
  • 2 - Path Payment Strict Receive
  • 6 - Change Trust
  • 7 - Allow Trust
  • 13 - Path Payment Strict Send
  • 19 - Clawback
  • 21 - Set Trust Line Flags
NoAsset codes have no guarantees of uniqueness. The combination of asset code, issuer and type represents a distinct asset
details.asset_issuerThe account address of the original asset issuer that created the assetstring
  • 1 - Payment
  • 2 - Path Payment Strict Receive
  • 6 - Change Trust
  • 7 - Allow Trust
  • 13 - Path Payment Strict Send
  • 19 - Clawback
  • 21 - Set Trust Line Flags
No
details.asset_typeThe identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM.string
  • credit_alphanum4
  • credit_alphanum12
  • native
NoXLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native'
details.authorizeIndicates whether the trustline is authorized. 0 is the account is not authorized to transact with the asset in any way. 1 if the account is authorized to transact with the asset. 2 if the account is authorized to maintain orders, but not to perform other transactions.booleanNo
details.balance_idThe unique identifier of the claimable balance. The id is comprised of 8 character type code + SHA-256 hash of the history operation id that created the balance.stringNo
details.buying_asset_codeThe 4 or 12 character code representation of the asset that is either bought or offered to buy in a tradestringNo
details.buying_asset_issuerThe account address of the original asset issuer that created the asset bought or offered to buystringNo
details.buying_asset_typeThe identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM.string
  • credit_alphanum4
  • credit_alphanum12
  • native
NoXLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native'
details.claimable_balance_idThe balance id of the claimable balance which is no longer sponsoredstringNo
details.claimantThe account address of the account which claimed the claimable balancestringNo
details.claimant_muxedIf the account is multiplexed, the virtual address of the account which claimed the claimable balancestringNo
details.claimant_muxed_idIf the account is multiplexed, an integer representation of the muxed account which claimed the balanceintegerNo
details.claimantsAn unstructured field that lists account addresses eligible to claim a balance and the conditions which must be satisfied to claim the balance (typically time bound conditions)array[record]No
details.data_account_idThe account address of the account whose data entry is no longer sponsoredstringNo
details.data_nameThe name of the data entry which is no longer sponsoredstringNo
details.fromThe account address from which the payment originates (the sender account)stringNo
details.from_muxedIf the account is multiplexed, the virtual address of the sender accountstringNo
details.from_muxed_idIf the account is multiplexed, the integer representation of the virtual address of the sender accountintegerNo
details.funderWhen a new account is created, an account address "funds" the new accountstringNo
details.funder_muxedIf the account is multiplexed, the virtual address of the account funding the new accountstringNo
details.funder_muxed_idIf the account is multiplexed, the integer representation of the virtual address of the funding accountintegerNo
details.high_thresholdThe sum of the weight of all signatures that sign a transaction for the high threshold operationintegerNoEach operation falls under a specific threshold category: low, medium, or high. Thresholds define the level of privilege an operation needs in order to succeed. Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance; Medium Security: Everything Else; High Security: Account Merge, Set Options
details.home_domainThe home domain used for the stellar.toml file discoverystringNo
details.inflation_destThe account address specifying where to send inflation funds. The concept of inflation on the network has been discontinuedstringNoInflation was retired from the network in 2019.
details.intoThe account address receiving the deleted account's lumens. This is the account in which the intended deleted account will be mergedstringNo
details.into_muxedIf the account is multiplexed, the virtual address of the account receiving the deleted account's lumensstringNo
details.into_muxed_idIf the account is multiplexed, the integer representation of the account receiving the deleted account's lumensintegerNo
details.limitThe upper bound amount of an asset that an account can holdfloatNo
details.low_thresholdThe sum of the weight of all signatures that sign a transaction for the low threshold operationintegerNoEach operation falls under a specific threshold category: low, medium, or high. Thresholds define the level of privilege an operation needs in order to succeed. Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance; Medium Security: Everything Else; High Security: Account Merge, Set Options
details.master_key_weightAn account's private key is called the master key. For signing transactions, the account holder can specify a weight for the master key, which contributes to thresholds validation when processing a transactionintegerIntegers from 1 to 255NoDefaults to 1
details.med_thresholdThe sum of the weight of all signatures that sign a transaction for the medium threshold operationintegerNoEach operation falls under a specific threshold category: low, medium, or high. Thresholds define the level of privilege an operation needs in order to succeed. Low Security: Allow Trust, Set Trust Line Flags, Bump Sequence and Claim Claimable Balance; Medium Security: Everything Else; High Security: Account Merge, Set Options
details.nameThe manage data operation allows an account to write and store data directly on the ledger in a key-value pair format. The name is the key for a data entrystringNoIf the name is new, the manage data operation will add the given name/value pair to the account. If the name is already present, the associated value will be modified.
details.offer_idThe unique id for the offer. This id can be joined with the offers tableintegerNo
details.pathPath payments maximize the best exchange rate path when sending money from one asset to another asset. The intermediary assets that this path hops through will be reported in the record. This feature is especially useful when the market between the original asset pair is illiquidrecordNoUp to 6 paths are permitted for a single payment. Example: sending EUR -> MXN could look like EUR -> BTC -> CNY -> XLM -> MXN to maximize the best exchange rate. Payments are atomic, so if an exchange in the middle of a path payment fails, the entire payment will fail, meaning the user will keep their original funds. They will not be stuck with an intermediary asset in the event of payment failure.
details.priceThe ratio of selling asset to buying asset. This is a number representing how many units of a selling asset it takes to get 1 unit of a buying assetarray[float]No
details.price_rPrecise representation of the buy and sell price of the assets on an offer. The n is the numerator, the d is the denominator. By calculating the ratio of n/d you can calculate the price of the bid or askrecordNo
details.selling_asset_codeThe 4 or 12 character code representation of the asset that is either sold or offered to sell in a tradestringNo
details.selling_asset_issuerThe account address of the original asset issuer that created the asset sold or offered to sellstringNo
details.selling_asset_typeThe identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM.string
  • credit_alphanum4
  • credit_alphanum12
  • native
NoXLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native'
details.set_flagsArray of numeric values of the flags set for a given trustline in the operationarray[integer]
  • 1 - Auth Required
  • 2 - Auth Revocable
  • 4 - Auth Immutable
No
details.set_flags_sArray of string values of the flags set for a given trustline in the operationarray[string]
  • Auth Required
  • Auth Revocable
  • Auth Immutable
No
details.signer_account_idThe address of the account of the signer no longer sponsoredstringNo
details.signer_keyThe address of the signer which is no longer sponsoredstringNo
details.signer_weightThe weight of the new signer. For transactions, multiple accounts can sign a transaction from a source account. This weight contributes towards calculating whether the transaction exceeds the specified threshold weight to complete the transactionintegerIntegers from 1 to 255No
details.source_amountThe originating amount sent designated in the source assetfloatNo
details.source_asset_codeThe 4 or 12 character code representation of the asset that is originally sentstringNo
details.source_asset_issuerThe account address of the original asset issuer that created the asset sentstringNo
details.source_asset_typeThe identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM.string
  • credit_alphanum4
  • credit_alphanum12
  • native
NoXLM is the native asset to the network. XLM has no asset code or issuer representation and will instead be displayed with an asset type of 'native'
details.source_maxThe maximum amount to be sent, designated in the source assetfloatNoExchanging an asset causes a small amount of the asset value to be spent in fees and exchange rates. The sender can specify a maximum amount they are willing to send if the rates between the asset pair are unfavorable.
details.starting_balanceThe amount of XLM to send to the newly created account. The account starting balance will need to exceed the minimum balance necessary to hold an account on the Stellar NetworkfloatNo
details.toThe address of the account receiving the payment fundsstringNo
details.to_muxedIf the account is multiplexed, the virtual address of the account receiving the paymentstringNo
details.to_muxed_idIf the account is multiplexed, the integer representation of the virtual address of the recipient accountintegerNo
details.trusteeThe issuing account address (only present for credit asset types)stringNo
details.trustee_muxedIf the issuing account address is multiplexed, the virtual addressstringNo
details.trustee_muxed_idIf the issuing account address is multiplexed, the integer representation of the virtual addressintegerNo
details.trustline_account_idThe address of the account whose trustline is no longer sponsoredstringNo
details.trustline_assetThe asset of the trustline which is no longer sponsoredstringNoA sponsor can determine they want to revoke sponsorship of certain assets but maintain the sponsorship of other assets
details.trustorThe trusting account address, or the account being authorized or unauthorizedstringNo
details.trustor_muxedIf the trusting account is multiplexed, the virtual address of the accountstringNo
details.trustor_muxed_idIf the trusting account is multiplexed, the integer representation of the virtual addressintegerNo
details.valueThe manage data operation allows an account to write and store data directly on the ledger in a key-value pair format. The value is the value of a key for a data entrystringNo
details.clear_flagsArray of numeric values of the flags cleared for a given trustline in the operation. If the flag was originally set, this will delete the flagarray[integer]
  • 1 - Auth Required
  • 2 - Auth Revocable
  • 4 - Auth Immutable
No
details.clear_flags_sArray of string values of the flags cleared for a given trustline in the operation. If the flag was originally set, this will delete the flagarray[string]
  • Auth Required
  • Auth Revocable
  • Auth Immutable
No
details.destination_minThe minimum amount to be received, designated in the expected destination assetstringNoExchanging an asset causes a small amount of the asset value to be spent in fees and exchange rates. The sender can specify a guaranteed minimum amount they want sent to the recipient to ensure they receive a specified value.
details.bump_toThe new desired value of the source account's sequence numberstringNo
details.authorize_to_maintain_liabilitiesIndicates whether the trustline is authorized. 0 is the account is not authorized to transact with the asset in any way. 1 if the account is authorized to transact with the asset. 2 if the account is authorized to maintain orders, but not to perform other transactions.booleanNo
details.clawback_enabledIndicates whether the asset can be clawed back by the asset issuerbooleanNo
details.sponsorThe account address of another account that maintains the minimum balance in XLM for the source account to complete operationsstringAny TypeNo
details.sponsored_idThe account address of the account which will be sponsoredstringNo
details.begin_sponsorThe account address of the account which initiated the sponsorshipstringNo
details.begin_sponsor_muxedIf the initiating sponsorship account is multiplexed, the virtual addressstringNo
details.begin_sponsor_muxed_idIf the initiating sponsorship account is multiplexed, the integer representation of the virtual addressintegerNo
details.liquidity_pool_idUnique identifier for a liquidity poolstringNoLiquidity pools are automated money markets between an asset pair. A given pool will only ever have two assets unless there is a protocol change
details.reserve_a_asset_typeThe identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLMstring
  • credit_alphanum4
  • credit_alphanum12
  • native
No
details.reserve_a_asset_codeThe 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity poolstringNo
details.reserve_a_asset_issuerThe account address of the original asset issuer that created one of the two asset pairs in the liquidity poolstringNo
details.reserve_a_max_amountThe maximum amount of reserve a that can be deposited into the poolfloatNoDeposit operations calculate via formula how much of both asset a and asset b should be deposited out of a source account and into a pool. The source account must deposit an equivalent value of both asset a and b. Since markets fluctuate, a maximum amount will specify the upper limit of an asset the account is willing to deposit
details.reserve_a_deposit_amountThe amount of reserve a that ended up actually deposited into the poolfloatNo
details.reserve_b_asset_typeThe identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLMstring
  • credit_alphanum4
  • credit_alphanum12
  • native
No
details.reserve_b_asset_codeThe 4 or 12 character code representation of the asset of one of the two asset pairs in a liquidity poolstringNo
details.reserve_b_asset_issuerThe account address of the original asset issuer that created one of the two asset pairs in the liquidity poolstringNo
details.reserve_b_max_amountThe maximum amount of reserve b that can be deposited into the poolfloatNoDeposit operations calculate via formula how much of both asset a and asset b should be deposited out of a source account and into a pool. The source account must deposit an equivalent value of both asset a and b. Since markets fluctuate, a maximum amount will specify the upper limit of an asset the account is willing to deposit
details.reserve_b_deposit_amountThe amount of reserve b that ended up actually deposited into the poolfloatNo
details.min_priceThe floating point value indicating the minimum exchange rate for this deposit operation. Reported as Reserve A / Reserve BfloatNoMarket rates fluctuate for pricing and the source account can specify a minimum price they expect to receive as a ratio of the two assets in the pool
details.min_price_rA fractional representation of the prices of the two assets in a pool. The n is the numerator (value of asset a) and the d is the denominator (value of asset b)array[record]No
details.max_priceThe floating point value indicating the maximum exchange rate for this deposit operation. Reported as Reserve A / Reserve BfloatNoMarket rates fluctuate for pricing and the source account can specify a maximum price they expect to receive as a ratio of the two assets in the pool
details.max_price_rA fractional representation of the prices of the two assets in a pool. The n is the numerator (value of asset a) and the d is the denominator (value of asset b)array[record]No
details.shares_receivedA floating point number representing the number of pool shares received for this deposit. A pool share is a compilation of both asset a and asset b reserves. It is not possible to own only asset a or asset b in a poolfloatNo
details.reserve_a_min_amountThe minimum amount of reserve a that can be withdrawn from the poolfloatNo
details.reserve_a_withdraw_amountThe amount of reserve a that ended up actually withdrawn from the poolfloatNo
details.reserve_b_min_amountThe minimum amount of reserve b that can be withdrawn from the poolfloatNo
details.reserve_b_withdraw_amountThe amount of reserve b that ended up actually withdrawn from the poolfloatNo
details.sharesThe number of shares withdrawn from the pool. It is not possible to withdraw only asset a or asset b; equal value must be withdrawn from the poolfloatNo
details.asset_balance_changesThe balance changes applied to an account or contract from an invoke host function. An asset must be a classic asset transferred through the SAC to be included.recordNo
details.asset_balance_changes.amountThe amount of token minted, transferred or burned using the SAC contractintegerNo
details.asset_balance_changes.asset_codeThe 4 or 12 character code representation of the asset transferred using SAC contractstringNo
details.asset_balance_changes.asset_issuerThe wallet address of the account that issued the asset. This asset is a classic asset even though it is sent through SAC contractstringNo
details.asset_balance_changes.asset_typeThe identifier for type of asset code, can be a alphanumeric with 4 characters, 12 characters or the native asset to the network, XLMstring
  • credit_alphanum4
  • credit_alphanum12
  • native
No
details.asset_balance_changes.fromThe originating wallet address or contract id from where the funds were sentstringNo
details.asset_balance_changes.toThe destination wallet address or contract id where the funds gostringNo
details.asset_balance_changes.typeThe specific SAC operation type that indicates the type of value transfer occurring.string
  • mint
  • transfer
  • burn
No
details.parametersThe parameters passed to the function call for a Soroban contract. These are base64 encoded XDR. The record follows the format of type + value pairrecordNo
details.parameters_decodedThe decoded human-readable parameters passed to a function call for a Soroban contract. The record follows the format of type + value pairrecordNo
details.functionThe function type invoked by the host operationstring
  • HostFunctionTypeHostFunctionTypeInvokeContract
  • HostFunctionTypeHostFunctionTypeCreateContract
  • HostFunctionTypeHostFunctionTypeUploadContractWasm
No
details.addressThe wallet address used to create and deploy a Soroban contract instancestringNo
details.typeThe type of Soroban operation that is invoked within a host functionstring
  • invoke_contract
  • create_contract
  • upload_wasm
  • extend_footprint_ttl
  • restore_footprint
No
details.extend_toThe number of ledgers in which the Soroban ledger entry is extendedintegerNo
details.contract_idThe unique identifier of the deployed contract instance. Each custom Soroban contract and deployed SAC token will have a unique contract_idstringNo
details.contract_code_hashThe hex-encoded SHA-256 hash that represents the contract code's XDR-encoded formstringNo
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 ledgerdatetimeYesThe 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
closed_atTimestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 secondstimestampYesWe are aiming to repartition this table on closed_at
operation_result_codeThe result code returned when an operation is applied. This code is helpful for understanding failed operationsstring
  • OperationResultCodeOpInner
  • OperationResultCodeOpBadAuth
  • OperationResultCodeOpNoAccount
  • OperationResultCodeOpNotSupported
  • OperationResultCodeOpTooManySubentries
  • OperationResultCodeOpExceededWorkLimit
  • OperationResultCodeOpTooManySponsoring
YesField will be backfilled at a future date
operation_trace_codeThe trace code returned when an operation is applied to the Stellar Network. This code is helpful for understanding nuanced failures by operation type. This code provides the lowest level detail regarding why a transaction failsstring
  • InvokeHostFunctionResultCodeInvokeHostFunctionSuccess
  • Malformed
  • Trapped
  • ResourceLimitExceeded
  • EntryArchived
  • InsufficientRefundableFee
  • ExtendFootprintTtlResultCodeExtendFootprintTtlSuccess
  • Malformed
  • ResourceLimitExceeded
  • InsufficientRefundableFee
  • RestoreFootprintResultCodeRestoreFootprintSuccess
  • Malformed
  • ResourceLimitExceeded
  • InsufficientRefundableFee
YesSee the XDR documentation for more details
details_jsonRecord that contains details based on the type of operation executed. Each operation will return its own relevant details, with the rest of the details as nulljson