> For the complete documentation index, see [llms.txt](https://docs.zknation.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zknation.io/~/changes/H66bL261LQuvpaaVG6z9/voting-and-delegation/voting-on-proposals.md).

# Voting on Proposals

### Voting through Governance Portals

Delegates can interact with ZKsync contracts through specialized website applications called governance portals. Currently, there are two primary governance portals connected to ZKsync governance contracts:

1. **Tally:** The ZKsync Tally Governance Portal is owned and managed by the ZKsync Association. You can access the portal at [vote.zknation.io](http://vote.zknation.io).
2. **Boardroom:** Additional interfaces help ensure governance is accessible through multiple channels. Boardroom is already configured and can be accessed at <https://boardroom.io/zksync>.

### Voting through the ZKsync Era Block Explorer

Besides governance portals, anyone can interact with ZKsync governance contracts on the [ZKsync Era Block Explorer](http://explorer.zksync.io). Follow these steps to vote:

#### Step 1: Select the Right Governor

Navigate to the right governor contract by pasting the relevant governor contract address into the ZKsync Era Block Explorer search bar.

* For Protocol Upgrade Proposals (or “ZKsync Improvement Proposals”), use the Protocol Governor address.
* For Token Program Proposals, use the Token Governor address.
* For Governance Advisory Proposals, use the GovOps Governor address.

<figure><img src="/files/ej6NKlsuF8jfkeiI1dLR" alt=""><figcaption></figcaption></figure>

#### Step 2: View Governor Contract

* Navigate to the “Contract” tab
* Select “Write”

<figure><img src="/files/yhczBYcl5fCGoczkIvm3" alt=""><figcaption></figcaption></figure>

#### Step 3: Find the Right Proposal

* Identify the proposal ID, for example on Tally or Boardroom

<figure><img src="/files/Xm28HR9Yup8cg04IVznp" alt=""><figcaption></figcaption></figure>

#### Step 4: Prepare Vote

* Go back to the Governor Contract / Write as Proxy
* Go to “castVote” function OR “castVoteWithReason”
  * Paste the Proposal ID
  * Vote FOR the proposal by assigning a value of `1` OR
  * Vote AGAINST the proposal by assigning a value of `0` OR
  * Vote ABSTAIN the proposal by assigning a value of ‘2’
* If you called the function `castVoteWithReason` add a string of text with your comment

<figure><img src="/files/Lmg32Q8w4cXfA59vvvcT" alt=""><figcaption></figcaption></figure>

#### Step 5: Complete Vote

* Make sure to “Connect Wallet”
* Then, click on “Write”
* Complete the transaction
