# Delegate

Delegate votes from the sender to the delegatee. Users can delegate to 1 address at a time, and the number of votes added to the delegatee’s vote count is equivalent to the balance of BUL in the user’s account. Votes are delegated from the current block and onward, until the sender delegates again, or transfers their BUL.

**BUL**

```
function delegate(address delegatee)
```

* `delegatee`: The address in which the sender wishes to delegate their votes to.
* `msg.sender`: The address of the BUL token holder that is attempting to delegate their votes.
* `RETURN`: No return, reverts on error.

**Solidity**

```
BUL bul = BUL(0x123...); // contract address
bul.delegate(delegateeAddress);
```

**Web3 1.2.6**

```javascript
const tx = await bul.methods.delegate(delegateeAddress).send({ from: sender });
```


---

# 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.belugas.io/governance/delegate.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.
