LogoLogo
  • Imua
    • About
  • Manifesto
    • The Problems
    • The Principles
  • Architecture
    • Imua Design Principles
    • Imua Network
    • Imua Modules
    • Client Chain Bridges
      • Trustless Verification of Client Chain State
      • Handling Race Conditions between Imua and Client Chains
    • Client Chain Contracts
  • Concepts
    • Ecosystem
      • Re/stakers
      • Operators
      • Services (AVS)
        • Service Integration with Imua
        • Service Committee
        • Service Integration Details
    • restaked Proof-of-Stake (rPOS)
    • Multi-Token Restaking
    • Multi-Chain Restaking with Trustless Bridging
    • Voting Power
    • Price Oracle
    • Flexible Integration with AVS
    • Tribe Staking
  • Governance
  • Risk Management
    • Risk Analysis
      • Risk Modeling
      • Risk Parameters
      • Crypto-Economic Risk
      • Unintended Slashing
      • Black Swan Events
    • Risk Mitigation
      • Smart Contract Simplicity
      • Audits
      • Slashing Prevention
      • Slashing Vetos
      • Insurance Pools
      • Circuit Breakers
  • Components
    • Testnet
    • Oracle Module
      • Reaching Consensus on Asset Prices
      • Penalty
      • Implementation Detail
    • Smart Contracts
    • Explorer
    • Registry
  • Validator Setup
    • Prerequisites
    • Node Install
    • Compiling Binary from Source
    • Oracle Price Feeder
    • Running the Node
    • Snapshot
    • Register Option 1 (Bootstrap)
    • Register Option 2 (Post Network Launch)
    • Deposit Tokens
    • Delegating Tokens
    • Confirm Election Status
    • Faucets
    • Managing The Validator
    • Security Best Practices
    • Risks & Mitigation
    • Participation in Governance
    • FAQs & Resources
    • Testnet v7 to v8 upgrade
  • Testnet Upgrade to v1.1.1
  • AVS Setup
    • AVS Overview
    • Prerequisites
    • Building the AVS in Imua
    • Hello-World-AVS Example
    • Becoming AVS Operator
    • AVS Register and Deploy
    • AVS Task Example
    • Enhanced and Automated Edition of hello-avs integration guide&example
  • Whitepaper (2023)
    • .pdf
  • FAQ
    • What problems is Imua solving?
    • What are the main design trade-offs that had to be made with an omnichain design?
    • Does the omnichain design imply added trust assumptions (relative to a single-chain design)?
    • What concurrency-related challenges would you face with a different design?
    • How does Imua integrate with new chains?
    • Do specific chains prove unique challenges w.r.t. integration?
    • How is the cross-chain communication is achieved?
    • What are the known attack / censorship vectors here, if any?
    • Are the restaked tokens being pooled in a centralized account?
    • Who will run the validators in the Imua network?
    • Is Imua an AVS?
    • How does Imua address the risks of overloading L1 social consensus?
    • Does the Imua queuing system raise concerns around latency?
    • What are the main benefits of an omnichain design?
Powered by GitBook
On this page
  1. Validator Setup

Register Option 1 (Bootstrap)

Registering as a validator during Imua's bootstrap phase.

PreviousSnapshotNextRegister Option 2 (Post Network Launch)

Last updated 2 months ago

Imua has a unique, open-ended way to kickstart its network. Instead of locking in a small group of initial validators, Imua allows anyone to become a validator right from the start using our Bootstrap contract.

Please note you should only proceed with the steps for either Before Network Launch or After Network Launch. At this current time, most validators will select "Post Network Launch". Do not complete both sections.

Here's how it works:

Option 1

  • : If the network isn't live yet, you can register as a validator through the Bootstrap contract on Ethereum. However, keep in mind that this registration process closes 24 hours before the network launch to give the bootstrap validators time to prepare.

Option 2

  • : Once the network is up and running, you can register directly on Imuachain itself.

This approach ensures that the validator set isn't pre-determined by a few stakeholders. Instead, it's open to anyone who wants to participate, making the launch phase more inclusive and decentralized.

To ensure your validator is eligible to participate in consensus, it is mandatory to have a minimum self-delegation of 1000 USD of value in any supported token. This self-delegation acts as a commitment and ensures that validators have a vested interest in maintaining the integrity and security of the network.


Similar to other Delegated Proof-of-Stake networks, Imua requires validators to stake their own tokens and delegators to delegate their token to these validators. However, one major distinction is that Imua supports multiple types of tokens, which may or may not live on the same chain.

Imua's testnet uses an L1 Cosmos-based chain which supports multiple tokens on Ethereum Sepolia and Holesky testnets, with additional chains to be supported in the near future. To that end, users are required to have two addresses - one on Ethereum and one on Imua () which may or may not be derived from the same mnemonic.

If any of the transactions in the next steps produce error code -32000: execution reverted, it likely means that you don't have enough ETH to pay for gas. This is caused by a spike in ; you can either (1) wait for the gas prices to normalize, or (2) obtain more Sepolia ETH through the faucets.


Follow these steps if you're registering during the BOOTSTRAP phase.


Registration Steps

Using the same ETH_PRIVATE_KEY that was used to make the deposit, validators may register themselves with the Bootstrap contract during this phase.

# The declaration of ETH_PRIVATE_KEY is written again for completeness but isn't needed if the steps are followed sequentially
ETH_PRIVATE_KEY=0xabcde.....
# must be unique
VALIDATOR_NAME="Dumpling Validator"
## The commissions should be between 0 and 1, both inclusive
# can be changed at most once during Bootstrap, and every 24 hours thereafter
COMMISSION_RATE=0.05
# can never be changed once set
COMMISSION_MAX_RATE=0.7
# can never be changed once set
COMMISSION_MAX_CHANGE_RATE=0.35
# Endpoint for Ethereum RPC
ETHEREUM_RPC_URL=https://rpc.ankr.com/eth_sepolia

# Constants
GATEWAY_ADDR=0x64B5B5A618072C1E4D137f91Af780e3B17A81f3f

# Verify that we can actually run this transaction
BOOTSTRAPPED=$(cast call --rpc-url $ETHEREUM_RPC_URL $GATEWAY_ADDR "bootstrapped() returns (bool)")
if [ "$BOOTSTRAPPED" = "true" ]; then
    echo "The network has already launched. Refer to the next section for validator registration instructions. Running the commands in this section will produce an error."
else
    # Derived values, depending on $ACCOUNT_KEY_NAME and $HOMEDIR in prior steps
    IM_ADDRESS=$(imuad --home $HOMEDIR keys show -a $ACCOUNT_KEY_NAME)
    CONSENSUS_KEY=$(imuad --home $HOMEDIR keys consensus-pubkey-to-bytes --output json | jq -r .bytes32)

    # Actual transaction
    cast send --rpc-url $ETHEREUM_RPC_URL \
        $GATEWAY_ADDR \
        "registerValidator(string,string,(uint256,uint256,uint256),bytes32)" \
        $IM_ADDRESS \
        "$VALIDATOR_NAME" \
        "($(cast 2w $COMMISSION),$(cast 2w $COMMISSION_MAX_RATE),$(cast 2w $COMMISSION_MAX_CHANGE_RATE))" \
        $CONSENSUS_KEY \
        --private-key $ETH_PRIVATE_KEY
fi

Your validator is now registered and ready to accept (self-) delegations. As a reminder, a minimum self-delegation of 1,000 USD in token value is required for inclusion in the validator set.

Bootstrap Phase
Post Network Launch
Sepolia gas prices
generated previously