Table Metadata
| Property | Configuration |
|---|---|
| Natural Key(s) | balance_id, closed_at |
| Partition Field(s) | batch_run_date (MONTH partition) |
| Clustered Field(s) | asset_id, last_modified_ledger |
| Documentation | dbt docs |
Column Details
| Name | Description | Data Type | Domain Values | Required? | Notes |
|---|---|---|---|---|---|
| balance_id | A unique identifier for this claimable balance. The Balance id is a compilation of Balance Type + SHA-256 hash history_operation_id | string | Yes | The 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. | |
| claimants | The list of entries which are eligible to claim the balance and preconditions that must be fulfilled to claim | array[record] | Yes | Multiple accounts can be specified in the claimants record, including the account of the balance creator. | |
| claimants.destination | The account id who can claim the balance | string | Yes | ||
| claimants.predicate | The 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.unconditional | If true it means this clause of the condition is always satisfied | boolean | No | When the predicate is only unconditional = true, it means that the balance can be claimed under any conditions | |
| claimants.predicate.abs_before | Deadline for when the balance must be claimed. If a balance is claimed before the date then the clause of the condition is satisfied. | string | No | ||
| claimants.predicate.rel_before | A 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 balance | integer | No | This 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_epoch | A UNIX epoch value in seconds representing the same deadline date as abs_before. | integer | No | ||
| asset_type | The identifier for type of asset code, can be an alphanumeric with 4 characters, 12 characters or the native asset to the network, XLM. | string |
| Yes | |
| asset_code | The 4 or 12 character code representation of the asset on the network | string | No | ||
| asset_issuer | The address of the account that created the asset | string | No | ||
| asset_amount | The amount of the asset that can be claimed | float | Yes | ||
| sponsor | The account address of the sponsor who is paying the reserves for this claimable balance | string | No | Sponsors of claimable balances are the creators of the balance. | |
| flags | Denotes the enabling and disabling of certain balance issuer privileges | integer |
| Yes | Flags 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_ledger | The 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 number | integer | Yes | ||
| ledger_entry_change | Code that describes the ledger entry change type that was applied to the ledger entry. | integer |
| Yes | Valid entry change types are 0, and 2 for ledger entries of type claimable_balances. Once created, a balance cannot be updated. |
| deleted | Indicates whether the ledger entry (balance id) has been deleted or not. Once an entry is deleted, it cannot be recovered. | boolean | Yes | ||
| closed_at | Timestamp in UTC when this ledger closed and committed to the network. Ledgers are expected to close ~every 5 seconds | timestamp | Yes | ||
| ledger_sequence | The 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. | integer | Yes | ||
| batch_id | String 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 capabilities | string | Yes | ||
| batch_run_date | The 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. | datetime | Yes | The 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_ts | The 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 backfill | timestamp | Yes | ||
| asset_id | Unique identifier for asset_code, asset_issuer | integer | No | ||
| balance_id_strkey | The StrKey (B...) representation of the claimable balance id. | string | No | StrKey encoding for claimable balance ids is defined by SEP-23. Prefer this over the raw hex balance_id when joining to Horizon or RPC responses. |