Where Should You Deploy Your Validator Manager Contract?
This page will help you choose where to deploy your Validator Manager contract: on your own L1 or on the Avalanche C-Chain.
TL;DR:
- Deploy on your L1 if you want direct, self-contained control over your validator set using Proof of Authority (PoA) and do not plan to move to Proof of Stake (PoS).
- Deploy on C-Chain if you intend to make your network permissionless with PoS, or want the flexibility to upgrade to PoS in the future.
Overview
With the E-Upgrade (Avalanche9000), validator set management is handled by smart contracts known as Validator Manager contracts. These contracts allow you to define:
- How validators are selected
- How rewards are distributed
- Staking requirements
- Other aspects of validator management
Types of Validator Manager Contracts
AvaCloud offers ready-to-use Validator Manager contracts for:
- Proof of Authority (PoA)
- Proof of Stake (PoS) using ERC20 tokens
- Proof of Stake (PoS) using native tokens
When you create an L1 with AvaCloud, it starts with a PoA validator manager, where an owner address can add or remove validators. You can upgrade to a PoS validator manager later if your needs change.
The E-Upgrade enables you to deploy the Validator Manager contract either on your L1 or on the C-Chain. Note: while you can upgrade the contract logic, you cannot move its location after deployment.
Comparing Deployment Locations
Deploying on Your L1
Pros:
- Validator management is fully contained within your L1
- No dependency on C-Chain for validator operations
- Isolated from C-Chain outages or issues
- No AVAX required for validator management actions
Cons:
- Validator management is only available when your L1 is running
- May not be suitable if you plan to add third-party validators or migrate to PoS
Deploying on C-Chain
Pros:
- Easier if your staking token is on C-Chain
- Provides a failsafe: you can manage validators even if your L1 is down
- Better suited for permissionless, PoS-based networks
Cons:
- Relies on C-Chain uptime and availability
- Requires AVAX to perform validator management actions
- Setup can be more complex
Advanced Scenarios
It is possible to deploy multiple Validator Manager contracts on a single L1, allowing centralized management of several L1s. This is not currently a standard feature in AvaCloud, but reach out to us if you require this functionality.
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