Skip to main content
Version: v0.5.0



Charon is in an early alpha state and is not ready to be run on mainnet

There are two ways to test out a distributed validator.

  • Running the full cluster alone.
  • Running one node in a cluster with a group of other node operators.

Run a cluster alone

  1. Clone the starter repo and cd into the directory.

    # Clone the repo
    git clone

    # Change directory
    cd charon-docker-compose/
  2. Prepare the environment variables

    # Copy the sample environment variables
    cp .env.sample .env

    For simplicities sake, this repo is configured to work with a remote Beacon node such as one from Infura.

    Create an Eth2 project and copy the https URL:

    Example Infura API Endpoint

    Replace the placeholder value of CHARON_BEACON_NODE_ENDPOINT in your newly created .env file with this URL.

  3. Create the artifacts needed to run a testnet distributed validator cluster

    # Create a testnet distributed validator cluster
    docker run --rm -v "$(pwd):/opt/charon" create cluster --cluster-dir=".charon/cluster" --withdrawal-address="0x000000000000000000000000000000000000dead"
  4. Start the cluster

    # Start the distributed validator cluster
    docker-compose up
  5. Checkout the monitoring dashboard and see if things look all right

    # Open Grafana
    open http://localhost:3000/d/laEp8vupp
  6. Activate the validator on the testnet using the original staking launchpad site with the deposit data created at .charon/deposit-data.json.

    • If you use Mac OS, .charon the default output folder, does not show up on the launchpad's "Upload Deposit Data" file picker. Rectify this by pressing Command + Shift + . (full stop). This should display hidden folders, allowing you to select the deposit file.

Congratulations, if this all worked you are now running a distributed validator cluster on a testnet. Try turning off a single node of the four and see if the validator stays online or begins missing duties, to see for yourself the fault-tolerance that can be added to proof of stake validation with this new Distributed Validator Technology.


Don't forget to be a good testnet steward and exit your validator when you are finished testing with it.*

*Once charon creates validator exit data in an upcoming release.

Run a cluster with others

This section will be completed alongside version v0.6.0. Sit tight.