Docs
Supported ChainsMantleMantle-Specific Methods

rollup_getInfo - Get modular L2 rollup config...

Get modular L2 rollup configuration on Mantle Network. Essential for understanding the optimistic rollup parameters and settings.

Get modular L2 rollup configuration on the Mantle network. This method provides essential information about the optimistic rollup parameters, settings, and operational details.

Overview

Mantle's modular L2 architecture is an optimistic rollup that leverages modular components for enhanced performance and scalability. The rollup configuration includes important parameters for:

  • Batch Processing: How transactions are batched and processed
  • Data Availability: EigenDA integration for efficient data posting
  • Bridge Operations: L1 ↔ L2 asset bridging configuration
  • Network Parameters: Chain ID, block times, and operational settings

Request Parameters

Request

This method accepts no parameters.

Response Body

Response
resultOBJECT

Rollup configuration object containing comprehensive information about the modular L2 rollup setup.

Implementation Example

Bash
curl -X POST https://api-mantle-mainnet.n.dwellir.com/YOUR_API_KEY \\
  -H "Content-Type: application/json" \\
  -d '{
    "jsonrpc": "2.0",
    "method": "rollup_getInfo",
    "params": [],
    "id": 1
  }'

Understanding Mantle Modular L2 Configuration

Key Components

  1. Mode: Operating mode of the rollup (optimistic)
  2. Chain ID: Network identifier (5000 for mainnet, 5003 for testnet)
  3. State Root: Root hash of the current state tree
  4. Batch Hash: Hash of the current batch of transactions
  5. Sequencer: Address of the transaction sequencing system
  6. Version: Current version of the rollup implementation

Modular L2 Architecture

  • Sequencing: Optimistic transaction ordering and execution
  • Data Availability: EigenDA integration for efficient data posting
  • EVM Compatibility: Full compatibility with Ethereum Virtual Machine
  • Finality: Fast L2 finality with 7-day challenge period for L1 finality

Common Use Cases

1. Network Health Monitoring

JavaScript
// Monitor rollup health and performance
async function monitorRollupHealth(analyzer) {
  const healthCheck = async () => {
    const status = await analyzer.getComprehensiveRollupStatus();
    
    const alerts = [];
    
    // Check block production
    if (status.current_state.block_age_seconds > 300) {
      alerts.push({
        type: 'stale_blocks',
        severity: 'warning',
        message: 'Blocks are older than expected'
      });
    }
    
    // Check gas utilization
    if (status.current_state.gas_utilization > 95) {
      alerts.push({
        type: 'high_utilization',
        severity: 'info',
        message: 'Network experiencing high usage'
      });
    }
    
    return {
      status: alerts.length === 0 ? 'healthy' : 'warning',
      alerts: alerts,
      metrics: status.current_state
    };
  };
  
  return healthCheck;
}

2. Integration Compatibility Check

Python
def check_integration_compatibility(analyzer):
    """Check if current rollup config is compatible with integration"""
    
    status = analyzer.get_comprehensive_rollup_status()
    rollup_info = status['rollup_config']
    
    compatibility = {
        'evm_compatible': True,  # Modular L2 is fully EVM compatible
        'supported_features': [
            'Standard Ethereum transactions',
            'Smart contract deployment',
            'ERC token standards',
            'Event emission and filtering',
            'eth_call and eth_estimateGas',
            'Debug and trace methods'
        ],
        'limitations': [
            '7-day withdrawal period for L1 finality',
            'L1 data posting affects costs',
            'Optimistic fraud proof mechanism'
        ],
        'recommended_practices': [
            'Use standard Ethereum tooling',
            'Account for withdrawal delays',
            'Monitor gas price fluctuations with MNT token',
            'Leverage EigenDA data availability benefits'
        ]
    }
    
    return compatibility

3. Performance Benchmarking

JavaScript
// Benchmark rollup performance characteristics
async function benchmarkRollupPerformance(analyzer) {
  const benchmark = {
    testDuration: '10 minutes',
    metrics: {},
    recommendations: []
  };
  
  // Monitor for performance data
  const performanceData = await analyzer.monitorRollupPerformance(10);
  
  benchmark.metrics = {
    avgBlockTime: performanceData.block_production.average_block_time,
    gasUtilization: performanceData.gas_utilization.average,
    healthScore: performanceData.network_health.health_score
  };
  
  // Generate recommendations
  if (benchmark.metrics.avgBlockTime > 5) {
    benchmark.recommendations.push(
      'Block times are longer than expected - monitor network congestion'
    );
  }
  
  if (benchmark.metrics.gasUtilization > 80) {
    benchmark.recommendations.push(
      'High gas utilization - consider transaction timing optimization'
    );
  }
  
  return benchmark;
}

Integration Considerations

Development

  • Tooling: Use standard Ethereum development tools (Hardhat, Truffle, Remix)
  • RPC Compatibility: Full JSON-RPC compatibility with additional rollup-specific methods
  • Gas Estimation: Account for MNT gas token and EigenDA data costs

Production Deployment

  • Security: Leverage optimistic rollup security with fraud proofs
  • Monitoring: Monitor both L2 state and L1 batch submission
  • Bridge Integration: Plan for canonical bridge usage and withdrawal delays

User Experience

  • Transaction Speed: Fast L2 confirmation with 7-day L1 finality
  • Cost Optimization: Benefit from MNT gas token and EigenDA efficiency
  • Bridge UX: Clear communication about withdrawal timeframes

Need help? Contact our support team or check the Mantle documentation.