Skip to main content
Schema: aptos.core Table: fact_changes Type: View

Description

This table contains flattened state changes from Aptos blockchain transactions, providing a comprehensive view of all modifications to the blockchain state. Each change represents a discrete modification to the global state, including resource modifications, account balance changes, module deployments, and other state transitions. The table captures the granular details of how transactions affect the blockchain state, with each change having a unique index within its parent transaction. This enables detailed analysis of state transitions and their impact on the network.

Key Use Cases

  • State change analysis and transaction impact assessment
  • Resource modification tracking and state transition monitoring
  • Account balance change analysis and financial state tracking
  • Module deployment and upgrade monitoring
  • State key analysis and storage pattern identification
  • Transaction effect analysis and state mutation tracking

Important Relationships

  • Provides detailed state change context for transaction analysis in core.fact_transactions
  • Links to transaction metadata for complete transaction effect analysis
  • Supports resource analysis and state modification tracking
  • Enables granular state transition analysis across all core models
  • Provides foundation for advanced state analysis and debugging

Commonly-used Fields

  • tx_hash: Essential for linking changes to their parent transactions
  • change_index: Unique identifier for ordering changes within a transaction
  • change_type: Critical for categorizing and filtering different types of state changes
  • address: Primary field for identifying which account’s state was modified
  • change_module and change_resource: Important for understanding what was modified
  • key and value: Essential for analyzing the specific data that was changed
  • block_timestamp: Primary field for time-series analysis of state changes

Columns

Column NameData TypeDescription
BLOCK_NUMBERNUMBERAlso known as block height. The block number indicates the position of a block in the blockchain, increasing sequentially after the addition of each new block.
Data type: Integer Example:
  • 12345678
  • 98765432
Business Context:
  • Primary identifier for ordering and filtering blockchain data chronologically.
  • Essential for block-level analysis and network growth tracking.
  • Enables correlation of transactions, transfers, and events to specific blocks. | | BLOCK_TIMESTAMP | TIMESTAMP_NTZ | The date and time at which the block was produced on the Aptos blockchain.
Data type: Timestamp Example:
  • 2024-01-15 14:30:25.123456
Business Context:
  • Primary field for time-series analysis and temporal filtering of blockchain activity.
  • Essential for trend analysis, volume calculations, and historical comparisons.
  • Enables time-based grouping and aggregation for analytics and reporting. | | VERSION | NUMBER | The version number, also known as the height, represents the sequential position of a transaction in the Aptos blockchain. The first transaction has a version of 0, and each subsequent transaction increments by 1.
Data type: Integer Example:
  • 0 (genesis transaction)
  • 12345678
  • 98765432
Business Context:
  • Unique identifier for ordering transactions chronologically across the entire blockchain.
  • Essential for transaction sequencing and version-based analysis.
  • Enables precise transaction tracking and blockchain state verification. | | TX_HASH | TEXT | Transaction hash is a unique 66-character identifier that is generated when a transaction is executed on the Aptos blockchain.
Data type: String Example:
  • 0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
Business Context:
  • Primary identifier for linking transaction data across all related tables.
  • Essential for transaction verification and blockchain explorer lookups.
  • Enables correlation of transfers, events, and state changes to specific transactions. | | SUCCESS | BOOLEAN | The boolean value indicating whether the transaction was successfully executed on the Aptos blockchain.
Data type: Boolean Example:
  • true (transaction succeeded)
  • false (transaction failed)
Business Context:
  • Essential for filtering successful transactions and analyzing failure rates.
  • Critical for accurate volume calculations and user experience analysis.
  • Enables debugging and error pattern recognition in transaction analysis. | | TX_TYPE | TEXT | The type of transaction executed on the Aptos blockchain, categorizing transactions by their purpose and origin.
Data type: String Example:
  • user_transaction (regular user-initiated transactions)
  • block_metadata_transaction (system transactions for block metadata)
  • state_checkpoint_transaction (system transactions for state checkpoints)
Business Context:
  • Essential for filtering and categorizing different types of blockchain activity.
  • Critical for separating user activity from system operations in analytics.
  • Enables focused analysis on specific transaction categories and use cases. | | PAYLOAD_FUNCTION | TEXT | The specific function being called within the transaction payload, identifying the smart contract method to be executed.
Data type: String Example:
  • 0x1::coin::transfer
  • 0x1::coin::register
  • 0xf22bede237a07e121b56d91a491eb7bcdfd1f5907926a9e58338f964a01b17fa::coin::mint
Business Context:
  • Essential for categorizing transactions by function type and smart contract interaction.
  • Critical for DeFi protocol analysis and function call pattern recognition.
  • Enables transaction filtering and specific function usage analytics. | | CHANGE_INDEX | NUMBER | Unique identifier for a state change within a transaction, representing the sequential order of state modifications during transaction execution.
Data type: Integer Example:
  • 0 (first change in transaction)
  • 1 (second change in transaction)
  • 3 (fourth change in transaction)
Business Context:
  • Essential for determining the chronological order of state changes within a transaction.
  • Critical for state transition analysis and transaction effect tracking.
  • Enables precise debugging and verification of transaction impact on blockchain state. | | CHANGE_DATA | VARIANT | The data object within this state change, containing the specific information about what was modified.
Data type: String (JSON) Example:
  • {"coin":{"value":"1000000"}}
  • {"balance":"500000"}
Business Context:
  • Essential for understanding the specific data modifications in state changes.
  • Critical for state change analysis and data modification tracking.
  • Enables detailed state change analytics and modification reporting. | | CHANGE_TYPE | TEXT | The type of state change that occurred during transaction execution, categorizing how the blockchain state was modified.
Data type: String Example:
  • write_resource (created or updated a resource)
  • delete_resource (deleted a resource)
  • write_module (deployed or updated a module)
  • write_table_item (created or updated a table item)
  • delete_table_item (deleted a table item)
Business Context:
  • Essential for understanding the nature and impact of state modifications.
  • Critical for resource lifecycle analysis and state transition tracking.
  • Enables debugging and verification of transaction effects on blockchain state. | | ADDRESS | TEXT | The top-level account address associated with this state change, representing the primary account affected by the change.
Data type: String Example:
  • 0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
Business Context:
  • Essential for identifying the primary account affected by state changes.
  • Critical for account-based state change analysis and activity tracking.
  • Enables account-centric state change analytics and modification correlation. | | HANDLE | TEXT | The top-level handle for this state change, representing the resource handle that was modified.
Data type: String Example:
  • 0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
Business Context:
  • Essential for identifying the resource handle affected by state changes.
  • Critical for resource-based state change analysis and handle tracking.
  • Enables handle-specific analytics and resource change correlation. | | INNER_CHANGE_TYPE | TEXT | The full three-part descriptive change type, consisting of change_address::change_module::change_resource.
Data type: String Example:
  • 0x1::coin::CoinStore
  • 0x123::staking::StakePool
Business Context:
  • Essential for comprehensive change type identification and categorization.
  • Critical for detailed state change analysis and type-based filtering.
  • Enables complete change type analytics and resource categorization. | | CHANGE_ADDRESS | TEXT | The first segment of the inner change type, representing the account address where the change occurred.
Data type: String Example:
  • 0x1
  • 0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
Business Context:
  • Essential for identifying the account where state changes occurred.
  • Critical for account-based state change analysis and modification tracking.
  • Enables account-specific state change analytics and modification correlation. | | CHANGE_MODULE | TEXT | The second segment of the inner change type, representing the module where the change occurred.
Data type: String Example:
  • coin
  • staking
  • governance
Business Context:
  • Essential for identifying the module where state changes occurred.
  • Critical for module-based state change analysis and protocol tracking.
  • Enables module-specific state change analytics and protocol correlation. | | CHANGE_RESOURCE | TEXT | The third segment of the inner change type, representing the specific resource that was modified.
Data type: String Example:
  • CoinStore
  • StakePool
  • ValidatorSet
Business Context:
  • Essential for identifying the specific resource that was modified in state changes.
  • Critical for resource-based state change analysis and modification tracking.
  • Enables resource-specific analytics and modification correlation. | | KEY | TEXT | The key value for the write_table_item change, representing the table key that was modified.
Data type: String Example:
  • 0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
  • “token_id_123”
Business Context:
  • Essential for identifying the specific table key that was modified in state changes.
  • Critical for table-based state change analysis and key modification tracking.
  • Enables key-specific analytics and table modification correlation. | | VALUE | TEXT | The value for the write_table_item change, representing the new value that was written to the table.
Data type: String (JSON) Example:
  • {"amount":"1000000"}
  • {"owner":"0x123..."}
Business Context:
  • Essential for understanding the new value written in table modifications.
  • Critical for value-based state change analysis and modification tracking.
  • Enables value-specific analytics and table modification correlation. | | STATE_KEY_HASH | TEXT | The cryptographic hash of the state key, providing a unique identifier for the specific state entry that was modified.
Data type: String Example:
  • 0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
Business Context:
  • Essential for state key identification and change tracking.
  • Critical for state modification analysis and key-based correlation.
  • Enables state key analytics and modification pattern recognition. | | FACT_CHANGES_ID | TEXT | The unique primary key identifier for each row in the table, ensuring data integrity and uniqueness.
Data type: String Example:
  • 0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
Business Context:
  • Essential for data integrity and unique row identification.
  • Critical for join operations and data relationship management.
  • Enables precise data retrieval and referential integrity maintenance. | | INSERTED_TIMESTAMP | TIMESTAMP_NTZ | The UTC timestamp when the row was inserted into the table, representing when the data was first recorded.
Data type: Timestamp Example:
  • 2024-01-15 14:30:25.123456
Business Context:
  • Essential for data lineage tracking and insertion timing analysis.
  • Critical for understanding data freshness and processing delays.
  • Enables data quality analysis and processing performance monitoring. | | MODIFIED_TIMESTAMP | TIMESTAMP_NTZ | The UTC timestamp when the row was last modified, representing when the data was most recently updated.
Data type: Timestamp Example:
  • 2024-01-15 14:30:25.123456
Business Context:
  • Essential for data freshness analysis and update tracking.
  • Critical for understanding data modification patterns and change frequency.
  • Enables data quality monitoring and update performance analysis. |