Where do you want to manage your validator set?

This guide helps you decide whether to deploy your validator manager contract on your L1 or C-Chain.

TL;DR:

  • Deploy on your L1 if you want full control over your validator set using Proof of Authority (PoA) and don’t plan to transition to Proof of Stake
  • Deploy on C-Chain if you plan to eventually make your network permissionless with Proof of Stake

Background

The E-Upgrade (Avalanche9000) introduced validator set management via smart contracts called Validator Manager contracts. These contracts let you customize:

  • Validator selection logic
  • Reward distribution
  • Staking requirements
  • Other validator management aspects

Available Contract Types

AvaCloud provides pre-built Validator Manager contracts for:

  • Proof of Authority (PoA)
  • Proof of Stake (PoS) with ERC20 tokens
  • Proof of Stake (PoS) with native tokens

When deploying an L1 through AvaCloud, it starts with a PoA validator manager where an owner address can add/remove validators. You can later upgrade to PoS if desired.

The E-Upgrade allows deploying the Validator Manager on any Avalanche L1, giving you the choice between your L1 or C-Chain. While the contract itself can be upgraded, its location cannot be changed after deployment.

Validator Set UI

Deployment Options Compared

Deploying on Your L1

Advantages

  • Self-contained validator management
  • No C-Chain interaction required
  • Greater independence from C-Chain issues
  • No AVAX needed for validator management

Disadvantages

  • Validator management depends on L1 uptime
  • Could be problematic with third-party validators or planned PoS

Deploying on C-Chain

Advantages

  • Simpler process if staking token is on C-Chain
  • Better failsafe for permissionless networks - can modify validators even if L1 halts

Disadvantages

  • Depends on C-Chain availability
  • Requires AVAX for validator management
  • More complex setup

Advanced Usage

You can deploy multiple Validator Manager contracts on a single L1 to centrally manage several L1s. While not supported out-of-the-box by AvaCloud, contact us if you need this capability.


For any additional questions, please view our other knowledge base articles or contact a support team member via the chat button. Examples are for illustrative purposes only.

Learn More About AvaCloud | Download Case Studies | Schedule an AvaCloud Demo