> For the complete documentation index, see [llms.txt](/llms.txt)

# Register as sequencer

**Time:** \~10 minutes.

<!-- -->

<!-- -->

<!-- -->

## Register through the staking dashboard

You'll register through the [Aztec Staking Dashboard](https://stake.aztec.network) using your **public keystore** (`~/.aztec/keystore/key1_staker_output.json`). This file contains only public information (attester address, BLS public keys, proof of possession). Safe to share.

### 1. Open the dashboard and connect your wallet

Navigate to <https://stake.aztec.network> and connect the wallet that holds your AZTEC tokens.

### 2. Click **Stake**

![Staking dashboard home](/assets/images/staking_dashboard_1-f9dd165c0b8b06914f0baa0befa2281a.png)

### 3. Select **Run your own Sequencer**

![Select sequencer option](/assets/images/staking_dashboard_2-ef4c50308b741b29cfec7f995b46baf1.png)

### 4. Click through **Start Registration** after reviewing the requirements

### 5. Select the AZTEC tokens you want to stake

### 6. Upload your keystore JSON file

<!-- -->

<!-- -->

![Upload keystore file](/assets/images/staking_dashboard_3-8dcef3510e7073a4b559b11ddb78a254.png)

### 7. Confirm your attester / sequencer addresses

![Confirm addresses](/assets/images/staking_dashboard_4-f7c95ff94cdad0fa714e05a8765c49ac.png)

### 8. Approve token spend in your wallet

![Approve tokens](/assets/images/staking_dashboard_5-9a9d86173c781ba0d45525487dd4fbd5.png)

### 9. Add staking for all sequencers to the queue

![Add to queue](/assets/images/staking_dashboard_6-e791f311fccc92f91dd1901022d73f73.png)

### 10. Execute transactions in the dashboard

![Execute transactions](/assets/images/staking_dashboard_7-411d05fecee6a3f62ff3d580aa932410.png)

### 11. Confirm each transaction in your wallet, then click **Complete**

Your sequencer is now in the queue. Verify position at [dashtec.xyz/queue](https://dashtec.xyz/queue), then continue to the next step, [Verify everything works](/operate/operators/solo-sequencer/verify.md).

## Adding another sequencer later

To register an additional self-staked sequencer after your first, generate another attester **with its own staker output**, then upload that staker output to the dashboard:

```bash
aztec validator-keys new --staker-output \
  --mnemonic "<your mnemonic>" \
  --gse-address {{GSE_ADDR}} \
  --l1-rpc-urls {{ETH_RPC}} \
  --l1-chain-id {{L1_CHAIN_ID}}
```

`aztec validator-keys new` does not overwrite your existing keystore: if `key1.json` exists it writes `key2.json` and `key2_staker_output.json`, leaving your first attester untouched. The node loads every keystore file in `KEY_STORE_DIRECTORY`, so once `key2.json` is in that directory it runs alongside the first. Copy only the `keyN.json` files into that directory (not the `*_staker_output.json` files, which make the node fail to start), then repeat the dashboard steps above, uploading `key2_staker_output.json`.

`add` does not produce a staker output

`aztec validator-keys add <keystore>` appends an attester to an existing keystore file, but it does **not** generate a staker output, so the dashboard has nothing to upload for the new attester. For dashboard registration, use `new --staker-output` as shown above.

One mnemonic or a fresh one

You can derive every attester from a single mnemonic, or use a separate mnemonic per batch. With one mnemonic, pass `--address-index <N>` each time, where `N` is the number of attesters already derived from it, so the new keys do not duplicate the existing ones (`new` derives from index 0 by default). One mnemonic means a single backup to secure; a fresh mnemonic per machine keeps each machine's keys independent if one backup is ever exposed.

## L1 contract addresses (<!-- -->Testnet (Sepolia)<!-- -->)

```text
Registry  {{REGISTRY_ADDR}}
Rollup    {{ROLLUP_ADDR}}
GSE       {{GSE_ADDR}}
Slasher   {{SLASHER_ADDR}}
```

Full list: [docs.aztec.network/networks](https://docs.aztec.network/networks).

What just happened?

You registered your attester address and BLS public key in the L1 Rollup contract. The contract locked 200K AZTEC tokens as your stake. Once processed (1 to 2 epochs), your sequencer starts being selected for committees. When selected, it attests to proposed blocks and occasionally proposes a block itself. Sequencer rewards (issuance + attestation) accumulate against your coinbase address on the Rollup contract; you withdraw them with `claimSequencerRewards(coinbase)`. L2 transaction fees are not enabled yet, so the keystore's `feeRecipient` field stays zero.
