Skip to main content

How to stake your Aztec Tokens

Guide on how to stake your Aztec Tokens

Updated this week

Alternative shorter guides:

Prerequisites

  • You must have an Ethereum wallet to which you minted an Aztec Token Vault

  • You must have an Aztec Token Vault with a balance greater than 200,000 AZTEC tokens to stake

Step 1: Connect Your Wallet and View Position

  • Navigate to Aztec Staking Dashboard - stake.aztec.network

  • Click Connect Wallet and connect the wallet that is the owner of the token vaults (it is the wallet you supplied while participating in the token sale and it is typically the same wallet you connected in the sale)

  • The Dashboard will display all Token Vaults and an overview of assets under your control.

  • You can click on any Token vault to view more granular details like vesting schedule etc

note: above info is purely for display purposes.

Step 2: Click on Stake and decide to delegate vs self-stake

  • Next to “My position” tab, above the overview and the token vaults, you will see a stake tab

  • Note: you can only stake a minimum of 200,000 tokens at a time (equivalent to how on Ethereum, you can just stake 32 ETH directly on the staking contracts). So if you have a balance less than that, you will be unable to stake.

You will be presented with a choice to Delegate, or to Run your own Sequencer.

With delegation, you pay a commission set by the Delegate you chose, in return for the service of running a sequencer on your behalf. With self- stake, you run your own Sequencer, and you promote the decentralisation of Aztec and Ethereum (and you don’t need to pay any commission).

Once you’ve made your choice, the interface will guide you through a wizard which will ask you to set relevant configuration. After each step in the wizard, you will be prompted to add it to a “batch”. At the end of the wizard, you will be prompted to review all items, and to execute one or multiple onchain transactions. If the wallet you connected is a Gnosis Safe, your whole batch will be executed at once. Otherwise, for EOAs (Externally Owned Accounts), you will see multiple wallet pop-ups - one for each configuration item.

Step 3a: Self Stake

Click on Register sequencer.

Before you go ahead, ensure you have a running node. Follow steps here.

We recommend validating your setup and your experience by running a node in our testnet prior to running a node with real Aztec tokens at risk.

Step 3a.1: Select Token Vault

Choose a token vault with over 200,000 tokens available to stake and click “add to batch”.

Note - you cannot stake less than 200,000 tokens. You also cannot choose/consolidate multiple token vaults. You can only stake one vault at a time.

Based on how much you have available to stake, choose how many staked validators you want to run (equivalent to how many tokens you want to stake / 200,000).

You will need to run this many validators.

Step 3a.2: Operator Configuration: Select Operator

The operator is the address that will manage sequencer node operations for this The operator is the address that will manage sequencer node operations for this vault. Operator addresses must match what you’ve configured in your node—this address will control block submissions, and you want to be certain you enter the correct one for security and reward attribution.

The operator address has to be the same as the address you connected to the site. If you want to set a different address as your operator address, you can use the CLI and interact directly with the staking contracts.

Once ready, confirm the address is as expected and click “add to batch”.

Note: this is a one time only action per token vault. So if you are doing this for an already used token vault, the UI may just skip this step!

Step 3a.3: Select Staking Version

Every Token Vault has an associated “Staker Contract” which handles staking and unstaking operations as instructed by the operator. If you purchased your stake during the Aztec public sale or the Genesis Sequencer Sale, you must stake your tokens but will not be able to unstake while lockups are ongoing (i.e. maximum 12 months, minimum of 90 days subject to Aztec Governance), and until and unless governance enables unstaking and transferability . Periodically, governance may enable more staker contracts that token vaults can elect to use, which add features (such as unstaking) or improve security. When you unstake, or when you claim tokens which have unlocked, they will first be owned by your Staker contract (which you own and have full control over). You may withdraw unlocked and transferable tokens in the Staker contract at any time.

If you want to make sure your Staker contract stays up to date with the latest Staker contract approved by governance, you can click on “Set Staker Version”, and select “Latest”. Otherwise, select a specific version. The dashboard describes current version capabilities. Click “add to batch” once finished.

Note: this is a one time only action per token vault. So if you are doing this for an already used token vault, the UI may just skip this step!

Step 3a.4 - Upload Sequencer Keys

Sequencer keys are needed because they prove your node’s identity and allow it to participate as a block producer. To make these keys (and signature) easier to upload, we have designed a keystore JSON file. Ensure that the JSON has the right number of keys (for the number of sequencers you want to run for this token vault - remember 1 key per 200,000 tokens).

For this step, you need to have a running node set up and properly configured to the Aztec Ignition network. Information is located here.

As a pre-requisite, you will need to generate keystore (option 2) and store it in an appropriate location and apply it to your docker config (if using docker).

Next, you will need to upload the public keys from your keystore into the staking dashboard. Follow steps here to modify the keystore to an appropriate JSON such that the staking dashboard has all appropriate information in the right format.

Notice this JSON includes an array of attester information. For each validator you are running (for each multiple of 200,000 tokens), you need to register a key. So the array must have the right number of entries.

Review the sequencer address to be same as attester provided in the JSON file, click on “Sequencer ready confirmation” assuming your node is all configured and running and click “add to batch”.

Sequencer keys are needed because they prove your node’s identity and allow it to participate as a block producer. To make these keys (and signature) easier to upload, we have designed a keystore JSON file. Ensure that the JSON has sufficient number of keys (for the number of sequencers you want to run for this token vault - remember 1 key per 200,000 tokens).

Step 3a.5 - Approve Tokens

The wallet (owning the token vaults) must approve the staker contract to move funds to itself for staking. Remember 1 sequencer stake costs 200,000 tokens.

Step 3a.6 - Stake

Review everything and click Stake / “Add to Batch”

Step 3a.7 - Execute Batch

In the previous steps, you did the equivalent of adding items to an amazon shopping cart. Now is the time to “checkout”.

Review the set of the transactions in the batch and click on execute all. If your connected account is a gnosis safe, all your transaction will be batched to just 1. Go to your safe wallet to approve and execute the transaction.

If your wallet is a normal EOA, then the transactions can’t be batched. Instead you will see a transaction popup per item in the batch. You can return back at any time.

Note: for a given token vault, you only need to set the operator or staking version just once. So for the next set of stake operations, you just need to upload the keys (not na onchain transaction), approve the tokens and stake.

Step 3b: Delegate

Click on Choose Provider and inspect the delegation table to find your desired operator.

(Information for display purposes)

Click on any provider to find out more information about them (including their contact information).

If a delegate is greyed out, they aren’t accepting delegation (usually because they haven’t registered enough sequencer keys). You can either contact them by clicking on the provider and seeing their contact information OR choose another provider.

One of the responsibilities of delegating is choosing good providers, without overly centralizing the network by choosing someone that already has very high staking concentration.

Step 3b.1: Select Token Vault

Choose a token vault with over 200,000 tokens available to stake and click “add to batch”.

Note - you cannot stake less than 200,000 tokens. You also cannot

choose/consolidate multiple token vaults. You can only stake one vault at a time.

Choose how much you want to delegate. At most, you can delegate based on how many validators the chosen delegator can still run (delegators have to register enough keys so they can run enough validators to accept your stake) OR based on how many tokens you still have available to stake. Here, this is 2 because the delegator can only accept that many validators.

Step 3b.2: Operator Configuration: Select Operator

Step 3b.3: Select Staking Version

Step 3b.4 - Approve Tokens

Step 3a.5 - Delegate

Step 3a.6 - Execute Batch

Did this answer your question?