# Guides

## Node Operators

A key component of the Zearn protocol is the node operators. These operators run the ZetaChain PoS validators and are registered in the Zearn node operator registry contract. Their job is to manage a secure and stable setup for running the ZetaChain validator infrastructure, all to benefit the protocol. As professional staking providers, they are trusted to safeguard the funds of protocol users and guarantee the accuracy of validator operations.

**Note:**

* You can obtain the ZetaChain Mainnet NodeOperatorRegistry Proxy address from here.
* The ZetaChain Testnet NodeOperatorRegistry Proxy address is available from here.
* The ZetaChain Mainnet StakingNFT Contract Address Proxy address can be sourced here.
* You can retrieve the ZetaChain Testnet StakingNFT Contract Address Proxy address from here.

### How to join as an Operator

Zearn DAO is solely responsible for adding new validators to the Node Operator Registry. Once the snapshot proposal, which includes the suggested group of node operators, is approved, Zearn DAO will proceed to list the new validators. No additional steps are necessary.

## Protocol levers

The protocol offers a range of settings that the DAO can control. Each modification requires the caller to have specific permissions. After the DAO's deployment, all permissions are owned by its `Voting` app, which can also manage them. This implies that, at first, only the DAO voting can alter the levers. Other entities can only gain the same permission through a successful vote. Below is a list of all the existing levers, grouped by their respective contracts.

### A note on upgradeability

The DAO voting process can upgrade the following contracts:

* stZETA
* NodeOperatorsRegistry

Aragon's kernel and base contracts enable upgradeability. To upgrade an app, you're going to need the `dao.APP_MANAGER_ROLE` permission from Aragon. Every upgradeable contract uses the [Unstructured Storage pattern](https://blog.openzeppelin.com/upgradeability-using-unstructured-storage) for maintaining a consistent storage structure throughout upgrades.

### NodeOperatorsRegistry

Coming soon


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zearn.xyz/how-zearn-works/guides.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
