sui.core Table: fact_transactions Type: Base Table
Fact table decomposing every transaction on the Sui blockchain into its constituent commands and
payloads. Each row represents a single command (e.g., Move call, transfer, split, merge) within a
programmable transaction block, capturing execution order, command type, and argument details.
Enables granular analysis of smart contract interactions, dApp usage patterns, and transaction
complexity. Supports lineage tracing from high-level user actions to low-level on-chain effects,
including Move function calls and resource transfers. Critical for protocol analytics, developer
adoption tracking, and understanding composability in the Sui ecosystem.
Data Coverage: This table contains full historical coverage from April 2023 - Present
(12.14B rows), covering all transactions since the launch of Sui mainnet.
Columns
| Column Name | Data Type | Description |
|---|---|---|
| CHECKPOINT_NUMBER | NUMBER | The sequential number of the checkpoint in which this record was finalized on the Sui blockchain. Checkpoints are consensus milestones that bundle and finalize multiple transactions, providing the primary unit of finality and recovery in Sui. Starts at 0 (genesis checkpoint) and increments by one for each new checkpoint. Used for time series analysis, transaction ordering, and measuring network throughput. Once a transaction is included in a checkpoint, it is permanently recorded and cannot be reverted. This dataset only includes checkpoints greater than or equal to 96605300. Example: 96605301. |
| BLOCK_TIMESTAMP | TIMESTAMP_NTZ | The network-agreed timestamp (in milliseconds since Unix epoch) when the checkpoint containing this record was finalized by Sui consensus. Represents the authoritative time of transaction finality, as determined by validator signatures. Used for temporal analytics, trend analysis, and aligning on-chain activity with real-world time. Example: ‘2024-06-01 12:34:56.789’. |
| TX_DIGEST | TEXT | A 32-byte cryptographic hash (Base58-encoded) uniquely identifying the transaction’s contents and structure. Serves as the primary key for transaction lookup, integrity verification, and cross-model joins. Enables cryptographic proof of transaction inclusion and supports lineage tracing across all Sui analytics. Example: ‘6Qk8…9Xz’. |
| TX_KIND | TEXT | The type of transaction executed. Values include ‘Programmable Transaction Block’ (PTB) for user-submitted transactions (up to 1,024 commands) and ‘System Transaction’ for validator/network operations. Determines execution path, available operations, and analytics grouping. Example: ‘ProgrammableTransactionBlock’. |
| TX_SENDER | TEXT | The 32-byte Sui address (hex with 0x prefix) that initiated and signed the transaction. Identifies the account responsible for the transaction and gas payment. Used for user activity tracking, wallet analytics, and authorization analysis. Example: ‘0xabc123…’. |
| MESSAGE_VERSION | TEXT | The version of the transaction data structure, supporting protocol evolution and backward compatibility. Currently uses ‘TransactionDataV1’. Ensures analytics remain robust across protocol upgrades. Example: ‘1’. |
| TX_SUCCEEDED | BOOLEAN | Boolean flag indicating transaction execution outcome. true = success, false = error. Used for outcome analysis, error monitoring, and success rate tracking. Example: true. |
| PAYLOAD_INDEX | NUMBER | Zero-based index of the payload within a programmable transaction block. Orders transaction commands for flow analysis. Example: 0. |
| PAYLOAD_TYPE | TEXT | Type of command in a programmable transaction block. Values: MoveCall, TransferObjects, SplitCoins, etc. Used for dApp interaction and protocol analytics. Example: ‘MoveCall’. |
| PAYLOAD_DETAILS | VARIANT | Structured details about the specific payload command. Varies by payload type; includes all arguments and context. Used for deep transaction and smart contract analytics. Example: {"function": "transfer", "args": ["0xabc...", 1000]}. |
| FACT_TRANSACTIONS_ID | TEXT | Surrogate key for the transactions fact table. Generated unique identifier by combining transaction digest and payload index, uniquely identifying each command or payload within a programmable transaction block. Essential for command-level analytics, smart contract interaction tracking, and composability analysis in Sui’s multi-command transaction model. |
| INSERTED_TIMESTAMP | TIMESTAMP_NTZ | Timestamp when the record was inserted into the analytics database. System-generated by the ETL pipeline, typically in TIMESTAMP_NTZ format. Used for data lineage, ETL monitoring, and freshness checks. In Sui analytics, this field is essential for tracking data ingestion latency, validating pipeline health, and supporting incremental model builds. Example: ‘2024-06-01 12:34:56.789’. |
| MODIFIED_TIMESTAMP | TIMESTAMP_NTZ | Timestamp when the record was last modified in the analytics database. System-generated for change tracking, data versioning, and consistency verification. In Sui, this supports incremental processing, late-arriving data correction, and auditability of analytics workflows. Used to monitor data staleness and trigger downstream updates. Example: ‘2024-06-01 12:34:56.789’. |