# Execute Proposals

Besides creating and voting on proposals, users can also: queue, execute, and cancel.

Queuing, executing, and canceling proposals can all be accomplished directly from the [Broken link](https://docs.tally.xyz/how-to-use-tally/broken-reference "mention").

## Queuing and Executing Proposals

{% hint style="warning" %}
*Once voting ends, a proposal is not complete. If a proposal passes, additional steps are required before execution. A successful Governor proposal still needs to be **queued**—if the* organization *uses a Timelock—and then **executed**.*
{% endhint %}

Once a proposal passes, you can queue and execute it from the same place you voted:

![](https://p434.p1.n0.cdn.getcloudapp.com/items/llugw09k/b6741915-c668-406e-83f1-0de5a6ad0d9c.jpg?v=706969e0024d71df04d581d9add0096e)

### *What does it mean to “queue” a proposal?*

**Queue** prepares a proposal for execution. The queue action sends the proposal to the Timelock contract, which starts the countdown until the proposal can be executed.

Someone needs to call the  `queue()` function because the EVM (Ethereum Virtual Machine) does not support scheduled or automatic calls. Every call must be kicked off by a user.

If a Governor does not have a Timelock, then proposals don’t need to be queued. They can be executed as soon as the proposal passes.

### *Who can queue a proposal?*

Generally, anyone can queue a proposal that has passed! The only exception is that some custom Governor contracts limit who can call `queue()`.

### *How long will the proposal be queued?*

This depends on the Timelock Delay of the Timelock contract. You can check that delay on Etherscan until Tally adds it to the [Broken link](https://docs.tally.xyz/how-to-use-tally/broken-reference "mention").

### *What does it mean to “execute” a proposal?*

**Executing** a proposal runs its function calls on-chain. Each proposal is associated with one or more function calls, which are visible in the `Executable Code` section of the [Proposal page](https://docs.tally.xyz/how-to-use-tally/broken-reference). These calls can do things like transfer assets from the treasury, update parameters of the Governor itself, change or upgrade a DeFi protocol, or call another smart contract.

### *Who can execute a proposal?*

Generally, anyone can execute a proposal that has passed! The only exception is when a custom Governor contract limits who can call `execute()`.

{% hint style="info" %}

#### *Sending ETH when executing a proposal*

In some situations it is important to send ETH at the same time as executing a proposal (for example, when paying the Toll for sending a crosschain message to a bridge). In this case, it may be necessary to send ETH as part of the execution of the proposal.
{% endhint %}

## Canceling Proposals

To cancel a proposal, click the three-dot menu to access additional actions. You can also copy the proposal's URL and view contextual information.

<figure><img src="https://p434.p1.n0.cdn.getcloudapp.com/items/E0uRPy90/f9fa4b65-08c5-4f0c-9971-fe7ef4308be8.jpg?v=e790800cb7f502c072447917bd021510" alt=""><figcaption></figcaption></figure>

### *When can a proposal be canceled?*

It depends! There isn’t a standard version of cancel logic across Governor implementations. Governor Alpha, Governor Bravo and OpenZeppelin Governor each have different behavior.

**OpenZeppelin Governor**

OpenZeppelin Governor leaves the cancellation up to the developer implementing the contract. Many organizations implement a `Canceller` role that gives a list of addresses the power to cancel proposals.

**Governor Alpha**

If the proposer’s voting power drops below the voting threshold, anyone can cancel that proposal.

**Governor Bravo**

Same as Governor Alpha. Also, the proposer can always cancel their proposal.

### *Can a canceled proposal be re-submitted?*

Not if it’s the exact same one. To re-submit a proposal, create a new proposal with the same executable code.


---

# 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.tally.xyz/how-to-use-tally/managing-proposals.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.
