Skip to main content

Claimable Balances

PropertyConfiguration
Natural Key(s)balance_id, ledger_entry_change, closed_at
Partition Field(s)batch_run_date (MONTH partition)
Clustered Field(s)last_modified_ledger, asset_id
Documentationdbt docs

Column Details

NameDescriptionData TypeDomain ValuesRequired?Notes
balance_idA unique identifier for this claimable balance. The Balance id is a compilation of Balance Type + SHA-256 hash history_operation_idstringYesThe Balance Type is fixed at V0, 00000000. If there is a protocol change that materially impacts the mechanics of claimable balances, the balance type would update to V1.
claimantsThe list of entries which are eligible to claim the balance and preconditions that must be fulfilled to claimarray[record]YesMultiple accounts can be specified in the claimants record, including the account of the balance creator.
claimants.destinationThe account id who can claim the balancestringYes
claimants.predicateThe condition which must be satisfied so the destination can claim the balance. The predicate can include logical rules using AND, OR and NOT logic.array[record]Yes
claimants.predicate.unconditionalIf true it means this clause of the condition is always satisfiedbooleanNoWhen the predicate is only unconditional = true, it means that the balance can be claimed under any conditions
claimants.predicate.abs_beforeDeadline for when the balance must be claimed. If a balance is claimed before the date then the clause of the condition is satisfied.stringNo
claimants.predicate.rel_beforeA relative deadline for when the claimable balance can be claimed. The value represents the number of seconds since the close time of the ledger which created the claimable balanceintegerNoThis condition is useful when creating a timebounds based on creation conditions. If the creator wanted a balance only claimable one week after creation, this condition would satisfy that rule.
claimants.predicate.abs_before_epochA UNIX epoch value in seconds representing the same deadline date as abs_before.integerNo
asset_typeThe identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM.string
  • credit_alphanum4
  • credit_alphanum12
  • native
Yes
asset_codeThe 4 or 12 character code representation of the asset on the networkstringNo
asset_issuerThe address of the account that created the assetstringNo
asset_amountThe amount of the asset that can be claimedfloatYes
sponsorThe account address of the sponsor who is paying the reserves for this claimable balancestringNoSponsors of claimable balances are the creators of the balance.
flagsDenotes the enabling and disabling of certain balance issuer privilegesinteger
  • 0 - None, Default
  • 1 - Auth Clawback Enabled
YesFlags are set by the claimable balance accounts for an asset. When user accounts claim a balance, the flags applied to the asset originate from this account
last_modified_ledgerThe ledger sequence number when the ledger entry (this unique signer for the account) was modified. Deletions do not count as a modification and will report the prior modification sequence numberintegerYes
ledger_entry_changeCode that describes the ledger entry change type that was applied to the ledger entry.integer
  • 0 - Ledger Entry Created
  • 1 - Ledger Entry Updated
  • 2 - Ledger Entry Deleted
  • 3 - Ledger Entry State (value of the entry)
YesValid entry change types are 0, and 2 for ledger entries of type claimable_balances. Once created, a balance cannot be updated.
deletedIndicates whether the ledger entry (balance id) has been deleted or not. Once an entry is deleted, it cannot be recovered.booleanYes
closed_atTimestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 secondstimestampYes
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
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.datetimeYesThe 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
asset_idUnique identifier for asset_code, asset_issuerintegerNo