Integration & Composability

Building with validator history data

The Validator History Program's unified data structure enables seamless integration with other on-chain programs and off-chain applications, creating a composable foundation for validator analysis and automated decision-making.

How Other Programs Access Data

Direct Account Reading

On-chain programs can directly read ValidatorHistory accounts using standard Solana account access patterns:

#[derive(Accounts)]
pub struct ReadValidatorHistory<'info> {
    #[account(
        seeds = [ValidatorHistory::SEED, vote_account.key().as_ref()],
        seeds::program = validator_history::ID,
        bump
    )]
    pub validator_history_account: AccountLoader<'info, ValidatorHistory>,
    
    #[account(owner = vote::program::ID)]
    pub vote_account: AccountInfo<'info>,
}

Account Discovery

Programs can find ValidatorHistory accounts using predictable seed derivation:

  • Seed pattern: ["validator-history", vote_account_pubkey]
  • Program ID: The Validator History Program ID (HistoryJTGbKQD2mRgLZ3XhqHnN811Qpez8X9kCcGHoa)
  • Deterministic addresses: Every vote account has a corresponding ValidatorHistory account

Data Parsing Best Practices

Circular Buffer Navigation:

// Access latest validator data
let latest_entry = validator_history.history.last();

// Query specific epoch range
let epoch_range = validator_history.history.epoch_range(start_epoch, end_epoch);

// Check for valid data (non-default values)
if entry.commission != u8::MAX {
    // Process valid commission data
}

Integration Examples

Jito Steward Program

The Jito Steward Program serves as the primary example of deep integration with Validator History data:

Validator Scoring Algorithm:

  • Vote Credits Score: Uses epoch_credits_range_normalized() to measure consensus participation over multiple epochs
  • Commission Score: Analyzes commission_range() to evaluate commission stability and competitiveness
  • MEV Commission Score: Incorporates mev_commission_range() for validators running Jito clients
  • Historical Perfomance: Combines multiple epochs of data for robust scoring rather than single-epoch snapshots

Eligibility Filtering:

  • Superminority Check: Uses superminority_latest() to exclude validators that would concentrate stake
  • Perfomance Thresholds: Filters validators based on minimum epoch credits requirements
  • Commission Limits: Applies maximum commission thresholds from historical data
  • Blacklist Management: Maintains on-chain blacklist of problematic validators

Stake Allocation Logic:

  • Score-Based Ranking: Ranks eligible validators using composite scores from historical data
  • Diversification: Considers validator geographic and client distribution from gossip data
  • Rebalancing: Uses historical perfomance trends to guide stake reallocation decisions

Automated Decision Making

  • 512 Epochs of Context: Leverages full historical depth for informed validator evaluation
  • Transparent Criteria: All scoring logic is on-chain and auditable
  • No External Dependencies: Entirely self-contained using ValidatorHistory data

Development Patterns & Best Practices

Efficient Data Access

Latest Value Queries:

// Optimized for current state
let current_commission = validator_history.history.commission_latest();
let current_stake = validator_history.history.last()?.activated_stake_lamports;

Historical Range Analysis:

// Efficient range queries with automatic null handling
let commission_history = validator_history.history.commission_range(
    start_epoch, 
    end_epoch
);

Integration Architecture Patterns

On-Chain Integration

Direct Program Composition:

  • Programs read ValidatorHistory accounts as additional context
  • Decision-making logic incorporates historical performance
  • Eliminates dependency on external data sources

State Machine Integration:

  • Validator history informs state transitions
  • Historical context enables sophisticated automation
  • Transparent, verifiable decision criteria

Off-Chain Integration

Analytics and Dashboards:

  • Stakenet History Dashboard: Interactive validator perfomance monitoring and historical analysis
  • Real-time validator metrics visualization with 512 epochs of data
  • Comparative validator analysis and ranking tools
  • Historical trend analysis across performance dimensions

Composability Benefits

Single Source of Truth

Eliminates Data Fragmentation:

  • All validator metrics in one standardized location
  • Consistent data formats across different applications
  • Reduced integration complexity for developers

Infrastructure Efficiency:

  • No need to maintain separate historical databases
  • Shared data infrastructure across the ecosystem
  • Lower operational costs for validator analysis tools

Programmable Transparency

Verifiable Decision Making:

  • All historical data is publicly auditable
  • Algorithm transparency through on-chain logic
  • Reduced trust requirements for automated systems

Standardized Metrics:

  • Common performance indicators across applications
  • Comparable results between different analysis tools
  • Network-wide consistency in validator evaluation

This composable architecture enables a thriving ecosystem of validator analysis tools, automated stake management systems, and transparent network monitoring applications, all built on a shared foundation of verified historical data.