Skip to main content
Schema: solana.gov Table: ez_staking_lp_actions Type: Base Table

Description

This table provides a unified view of native staking actions on the Solana blockchain using the official Stake11111111111111111111111111111111111111 program. It consolidates stake delegation, activation, deactivation, and withdrawal operations and enriches them with metadata, USD pricing, and validator information, enabling comprehensive analysis of native staking participation and validator delegation patterns.

Key Use Cases

  • Analyze native staking delegation patterns and validator selection
  • Track stake account lifecycle and balance changes with USD values
  • Monitor native staking participation and delegation trends
  • Study validator stake distribution and concentration
  • Support native staking analytics and reward distribution analysis

Important Relationships

  • Links to gov.fact_staking_lp_actions for detailed native staking action data
  • Connects to price.ez_prices_hourly for USD price conversion
  • References core.fact_blocks and core.fact_transactions for blockchain context
  • Provides unified native staking context for validator analytics

Commonly-used Fields

  • block_timestamp: Timestamp when the staking action occurred
  • tx_id: Unique transaction identifier for the staking action
  • stake_account: Address of the stake account
  • vote_pubkey: Vote account that the stake is delegated to
  • action: Type of staking action (e.g., ‘delegate’, ‘deactivate’, ‘withdraw’)
  • amount: Amount of SOL involved in the action
  • amount_usd: USD value of the action
  • user: Address of the user performing the action
  • validator_name: Name of the validator being delegated to

Columns

Column NameData TypeDescription
BLOCK_IDNUMBERA unique identifier for the block in which this transaction was included on the Solana blockchain. Typically a sequential integer or hash, depending on the data source. Used to group transactions by block and analyze block-level activity.
Example:
  • 123456789
Business Context:
  • Supports block-level analytics, such as block production rate and transaction throughput.
  • Useful for tracing transaction inclusion and block explorer integrations.
Relationships:
  • All transactions with the same ‘block_id’ share the same ‘block_timestamp’. | | BLOCK_TIMESTAMP | TIMESTAMP_NTZ | The timestamp (UTC) at which the block was produced on the Solana blockchain. This field is recorded as a TIMESTAMP data type and represents the precise moment the block was finalized and added to the chain. It is essential for time-series analysis, block production monitoring, and aligning transaction and event data to specific points in time. Used extensively for analytics involving block intervals, network activity trends, and historical lookups. Format: YYYY-MM-DD HH:MI:SS (UTC). | | TX_ID | TEXT | The unique transaction signature (hash) for each transaction on the Solana blockchain. This field is a base58-encoded string, typically 88 characters in length, and serves as the primary identifier for transactions across all Solana data models. Used to join transaction data with related tables (blocks, events, transfers, logs, decoded instructions) and to trace the full lifecycle and effects of a transaction. Essential for transaction-level analytics, debugging, and cross-referencing with block explorers or Solana APIs.
Example:
  • 5Nf6Q2k6v1Qw2k3v4Qw5Nf6Q2k6v1Qw2k3v4Qw5Nf6Q2k6v1Qw2k3v4Qw5Nf6Q2k6v1Qw2k3v4Qw
Business Context:
  • Enables precise tracking, auditing, and attribution of on-chain activity
  • Used for linking transactions to events, logs, and protocol actions
  • Critical for compliance, monitoring, and analytics workflows | | SUCCEEDED | BOOLEAN | Boolean flag indicating whether the transaction was successfully executed and confirmed on the Solana blockchain. A value of TRUE means the transaction was processed without errors; FALSE indicates failure due to program errors, insufficient funds, or other issues.
Example:
  • true
  • false
Business Context:
  • Used to filter for successful transactions in analytics and reporting.
  • Important for error analysis, user experience, and program debugging. | | INDEX | NUMBER | The position of the transfer event within the list of events for a given Solana transaction. Used to order and reference transfers within a transaction. Indexing starts at 0 for the first event.
Data type: Integer Example:
  • 0 (first transfer in the transaction)
  • 2 (third transfer in the transaction)
Business Context:
  • Enables reconstruction of transfer order and analysis of intra-transaction asset movement.
  • Used to join, filter, or segment data for protocol analytics, error tracing, and event sequencing. | | INNER_INDEX | NUMBER | The position of the inner instruction or event within the list of inner instructions for a given Solana transaction. Used to order and reference nested (CPI) instructions. Indexing starts at 0 for the first inner instruction.
Example:
  • 0
  • 2
Business Context:
  • Enables precise identification and ordering of nested program calls (Cross-Program Invocations) within a transaction.
  • Critical for analyzing composability, protocol integrations, and the full execution path of complex transactions. | | EVENT_TYPE | TEXT | A string categorizing the type of event or instruction, such as ‘transfer’, ‘mint’, ‘burn’, or protocol-specific actions.
Example:
  • ‘transfer’
  • ‘mint’
  • ‘burn’
Business Context:
  • Enables segmentation and filtering of on-chain activity for analytics and dashboards.
  • Used to group and analyze protocol-specific actions and user behaviors.
Relationships:
  • May be derived from decoded instruction data or protocol-specific logic. | | SIGNERS | ARRAY | List of accounts that signed the transaction. This field captures all wallet addresses that provided signatures for the transaction, enabling multi-signature analysis and transaction authority tracking.
Data type: ARRAY (list of Solana addresses) Business context: Used to track transaction signers, analyze multi-signature patterns, and identify transaction authorities. Analytics use cases: Multi-signature analysis, transaction authority tracking, and signer pattern studies. Example: [‘9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM’, ‘AnotherAddress…’] | | STAKE_AUTHORITY | TEXT | The wallet address of the user who initialized the transaction. This field identifies the account that has authority over the stake account and initiated the staking action. Data type: STRING (Solana address) Business context: Used to track stake authorities, analyze user staking behavior, and identify transaction initiators. Analytics use cases: Stake authority tracking, user staking behavior analysis, and transaction initiation patterns. Example: ‘9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM’ | | WITHDRAW_AUTHORITY | TEXT | | | STAKE_ACCOUNT | TEXT | The address of the stake account. This field identifies the specific account that holds staked SOL and participates in the staking system. Data type: STRING (Solana address) Business context: Used to track stake accounts, analyze delegation patterns, and measure staking participation. Analytics use cases: Stake account tracking, delegation analysis, and staking participation measurement. Example: ‘9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM’ | | STAKE_ACTIVE | BOOLEAN | | | PRE_TX_STAKED_BALANCE | NUMBER | The amount of Solana belonging to the stake account before the transaction. This field captures the stake balance prior to the staking action, enabling balance change analysis and transaction impact measurement. Data type: DECIMAL (SOL amount) Business context: Used to track stake balance changes, analyze transaction impact, and measure staking activity. Analytics use cases: Balance change analysis, transaction impact measurement, and staking activity tracking. Example: 100.0, 1000.0 | | POST_TX_STAKED_BALANCE | NUMBER | The amount of Solana belonging to the stake account after the transaction. This field captures the stake balance following the staking action, enabling balance change analysis and transaction impact measurement. Data type: DECIMAL (SOL amount) Business context: Used to track stake balance changes, analyze transaction impact, and measure staking activity. Analytics use cases: Balance change analysis, transaction impact measurement, and staking activity tracking. Example: 100.0, 1000.0 | | WITHDRAW_AMOUNT | NUMBER | | | WITHDRAW_DESTINATION | TEXT | | | MOVE_AMOUNT | NUMBER | The amount of SOL being moved from the stake account. This field captures the quantity of SOL involved in the staking action, enabling transaction value analysis and movement tracking. Data type: DECIMAL (SOL amount) Business context: Used to track SOL movements, analyze transaction values, and measure staking activity volume. Analytics use cases: Transaction value analysis, movement tracking, and staking activity volume measurement. Example: 50.0, 100.0 | | MOVE_DESTINATION | TEXT | The destination wallet address of the moved SOL. This field identifies where the SOL was transferred to during the staking action, enabling movement tracking and destination analysis. Data type: STRING (Solana address) Business context: Used to track SOL movement destinations, analyze transfer patterns, and identify stake recipients. Analytics use cases: Movement destination tracking, transfer pattern analysis, and stake recipient identification. Example: ‘9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM’ | | VOTE_ACCOUNT | TEXT | Account address of voter | | NODE_PUBKEY | TEXT | The account for the validator node on the Solana network. This field identifies the specific validator that participates in network consensus and receives stake delegations. Data type: STRING (Solana address) Business context: Used to identify validators, track performance, and analyze stake delegation patterns. Analytics use cases: Validator identification, performance tracking, and stake delegation analysis. Example: ‘9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM’ | | VALIDATOR_RANK | NUMBER | The rank of the validator by amount of delegated SOL. This field provides the validator’s position in the network based on total stake delegation, enabling validator ranking analysis and stake distribution studies. Data type: INTEGER (ranking number) Business context: Used to analyze validator rankings, track stake distribution, and study validator performance by stake size. Analytics use cases: Validator ranking analysis, stake distribution studies, and performance correlation analysis. Example: 1, 10, 100 | | COMMISSION | NUMBER | The percentage of rewards payout to the vote account. This field represents the fee rate that the validator charges on staking rewards, expressed as a decimal percentage. Data type: DECIMAL (percentage as decimal) Business context: Used to analyze validator fee structures, model reward distributions, and study validator economics. Analytics use cases: Validator fee analysis, reward distribution modeling, and validator economics studies. Example: 0.05, 0.10, 0.00 | | VALIDATOR_NAME | TEXT | | | EZ_STAKING_LP_ACTIONS_ID | TEXT | A unique, stable identifier for each record in this table. The primary key (PK) ensures that every row is uniquely identifiable and supports efficient joins, lookups, and data integrity across models. The PK may be a natural key (such as a blockchain transaction hash) or a surrogate key generated from one or more fields, depending on the table’s structure and requirements. | | MODIFIED_TIMESTAMP | TIMESTAMP_NTZ | The timestamp when this transaction record was last updated in the analytics database. Used for tracking updates and supporting incremental model logic. Format: YYYY-MM-DD HH:MI:SS. Not derived from the blockchain, but from the ETL process. | | INSERTED_TIMESTAMP | TIMESTAMP_NTZ | The timestamp when this transaction record was first inserted into the analytics database. Used for data freshness tracking and incremental model logic. Format: YYYY-MM-DD HH:MI:SS. Not derived from the blockchain, but from the ETL process. |