Skip to main content
An update is Canton’s unit of transaction — the envelope that groups one or more events into an atomic, sequenced operation. Each update represents a Daml choice exercise (or a set of exercises) sequenced by the global synchronizer.

Table Details

PropertyValue
Table Namecanton.raw.updates
Table StatusBeta 🌱
Unique Keyrecord_time, update_id
Clustering Key(s)to_date("record_time")

Table Columns

Column NameData TypeDescription
update_idVARCHAR(16777216)Globally unique transaction identifier. Hex-encoded hash. Primary key for joining to events, inputs, outputs, and native_token_transfers.
update_indexNUMBER(38,0)Sequential index of this update within its migration epoch, used for ordered pagination via the Scan API cursor.
record_timeTIMESTAMP_NTZ(9)The timestamp at which the synchronizer sequenced this update. Strictly monotonic within a migration. This is the canonical ordering timestamp.
effective_atTIMESTAMP_NTZ(9)The ledger effective time proposed by the submitting party. Always less than or equal to record_time. Use record_time for ordering; effective_at reflects submitter intent.
migration_idNUMBER(38,0)Synchronizer migration epoch. Canton upgrades increment this value (currently 0–4). The active migration_id must match the time range being queried.
synchronizer_idVARCHAR(16777216)The synchronizer that processed this update, formatted as name::hash. All public Canton Coin activity goes through global-domain.
workflow_idVARCHAR(16777216)Optional application-set workflow identifier. Almost always an empty string; can be set by Daml applications to tag related transactions.
root_event_idsVARIANTArray of entry-point event IDs for this update’s event tree. Traverse child_event_ids from these roots to reach all events.
block_numberNUMBER(38,0)Synthetic 1-second block index. Derived as floor(unix(record_time) - genesis_epoch).
block_timestampTIMESTAMP_NTZ(9)Start timestamp of the synthetic 1-second block window containing this update.
root_event_countNUMBER(38,0)Number of root events in this update. Most updates have a single root event.
event_countNUMBER(38,0)Total number of events (created_event and exercised_event) across the entire event tree for this update.
_created_atTIMESTAMP_NTZ(9)Timestamp of when the entry was created in the database.
_updated_atTIMESTAMP_NTZ(9)Timestamp of when the entry was last updated in the database.