Docs

How to become a validator

A validator is a public key with 40,000 KALYX behind it, plus a duty to speak when the beacon says it is that key’s turn. The signature is ML-DSA-87. The public key is 2,592 bytes. The signature is 4,627 bytes. Miss the turn and that slot stays empty.

Two keys were created with the chain. They already have their stake. A third key does not get in by being added to a list. It gets in by the deposit below. The commands that build the node and the key are on the node page.

The stake

One key counts at most 40,000 KALYX. That is the cap in the preset this chain runs. A new key has to deposit that full amount before it can enter the active set. A smaller payment does not take its place. The account that sends the deposit also needs a little more KALYX for the fee. The base fee is burned. The tip, if there is one, goes to the proposer.

The beacon stores that stake in gwei. One KALYX is 1,000,000,000 gwei. If the counted stake falls to 20,000 KALYX, the chain can eject the key. This page does not invent a slash fraction the genesis does not publish. Signing two different things at the same height is still how a key gets punished.

The steps

  1. Sync your own node. Run an execution client and a beacon on chain id 21520, from the published genesis. The node page has the files, the pins, and the commands. Wait until the local block number matches the explorer. The validator process talks to your beacon on 127.0.0.1. It does not talk to a stranger’s machine.
  2. Create the validator key on that machine. The key is ML-DSA-87. Its deposit signature has to use this chain’s fork version, 0x10000038. A key signed for another network is rejected. Create one key for one validator. The keystore and its password stay on that machine.
  3. Choose a withdrawal account. This is an ordinary KAL account, 20 bytes, written as KAL and 40 hex characters. Rewards above the counted stake are paid there. After the key exits and the waiting period ends, the remaining stake is paid there too. It is not the key that signs blocks. Losing this account and losing the validator key are different losses.
  4. Deposit 40,000 KALYX. Submit the public deposit file at testnet.kalyx.si/apply. After that application is paid, sign the deposit from the spending account on the dashboard. The contract in this genesis is KAL4242424242424242424242424242424242424242. The beacon reads deposits from the first execution block. Keep the deposit data file. It is public. Do not send the keystore, the password, or the seed with it.
  5. Wait for activation. The beacon has to see the deposit in an execution block, then the key sits in the activation queue. At most 8 new validators activate in one epoch. An epoch is 8 slots, about 80 seconds. One deposit is not instant. A crowd is slower.
  6. Start the validator process. Point it at your own beacon, with the key from step 2. When the explorer lists that public key as active, it is in the set and it will be given turns. If it is offline on its turn, the slot is empty.

What you never hand over

The seed. The keystore password. A copy of the signing key. Any file that can recreate it. The deposit data is the public half. Anyone who asks for the other half is not helping you join.

A Super Intelligence Validator may let a model choose the block. The model still does not hold this key. It asks the local signer. The rule for what it may know is on the agents page.

What a browser can do

The wallet and the faucet are on the explorer. Test coins can move between KAL accounts. That wallet is a spending account. It is not this key, and it will not hold it. A validator still needs a node of their own, an ML-DSA-87 key signed for fork version 0x10000038, and a deposit of 40,000 KALYX. The network page is the split between those doors. The node’s RPC stays on the machine that runs it.