Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Delegating-edits #772

Merged
merged 19 commits into from
Sep 21, 2024
Merged
Changes from 15 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 64 additions & 27 deletions website/pages/en/network/delegating.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,23 @@
title: Delegating
---

Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers. Delegators help secure the network without running a Graph Node themselves.
Delegators are network participants who delegate (i.e., "stake") GRT to one or more Indexers.

Delegators earn a portion of an Indexer's query fees and rewards by delegating to them. The amount of queries an Indexer can process depends on their own stake, the delegated stake, and the price the Indexer charges for each query. Therefore, the more stake that is allocated to an Indexer, the more potential queries they can process.
- They help secure the network without running a Graph Node themselves.

- They earn a portion of an Indexer's query fees and rewards by delegating to them.

## How does this work?

The number of queries an Indexer can process depends on their own stake, **the delegated stake**, and the price the Indexer charges for each query. Therefore, the more stake allocated to an Indexer, the more potential queries an Indexer can process.

## Delegator Guide

This guide will explain how to be an effective Delegator in the Graph Network. Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. A Delegator must use their best judgment to choose Indexers based on multiple factors. Please note this guide will not cover steps such as setting up Metamask properly, as that information is widely available on the internet.
Learn how to be an effective Delegator in The Graph Network.

Delegators share the earnings of the protocol alongside all Indexers based on their delegated stake. Therefore, they must use their best judgment to choose Indexers based on multiple factors.

> Please note this guide does not cover steps such as setting up MetaMask properly, as that information is widely available online.

There are three sections in this guide:

Expand All @@ -24,15 +34,19 @@ Listed below are the main risks of being a Delegator in the protocol.

Delegators cannot be slashed for bad behavior, but there is a tax on Delegators to disincentivize poor decision-making that could harm the integrity of the network.

It is important to understand that every time you delegate, you will be charged 0.5%. This means that if you are delegating 1000 GRT, you will automatically burn 5 GRT.
As a Delegator, it's important to understand the following:

In order to be safe, a Delegator should calculate their potential return when delegating to an Indexer. For example, a Delegator might calculate how many days it will take before they have earned back the 0.5% tax on their delegation.
- You will be charged 0.5% every time you delegate. This means that if you delegate 1000 GRT, you will automatically burn 5 GRT.
idalithb marked this conversation as resolved.
Show resolved Hide resolved

- In order to be safe, you should calculate your potential return when delegating to an Indexer. For example, you might calculate how many days it will take before you have earned back the 0.5% tax on your delegation.

### The delegation unbonding period

Whenever a Delegator wants to undelegate, their tokens are subject to a 28-day unbonding period. This means they cannot transfer their tokens or earn any rewards for 28 days.

Another thing to consider is how to choose an Indexer wisely. If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT.
### Why is this important?

If you choose an Indexer that is not trustworthy or not doing a good job, you will want to undelegate. This means you will be losing a lot of opportunities to earn rewards, which can be just as bad as burning GRT. As a result, it’s recommended that you choose an Indexer wisely.

<div sx={{ mx: 'auto', maxWidth: '400px' }}>
![Delegation unbonding](/img/Delegation-Unbonding.png) _Note the 0.5% fee in the Delegation UI, as well as the 28 day
Expand All @@ -41,64 +55,87 @@ Another thing to consider is how to choose an Indexer wisely. If you choose an I

### Choosing a trustworthy Indexer with a fair reward payout for Delegators

This is an important aspect to understand. First, let's discuss three very important values, which are the Delegation Parameters.
In order to understand how to choose a trustworthy Indexer, you need to understand the Delegation Parameters.

Indexing Reward Cut - The indexing reward cut is the portion of the rewards that the Indexer will keep for themselves. This means that if an Indexer's rewards are set to 100%, as a Delegator you will get 0 indexing rewards. If you see it set at 80% in the UI, that means as a Delegator, you will receive 20%. An important note - at the beginning of the network, Indexing Rewards will account for the majority of the rewards.
#### Delegation Parameters

- **Indexing Reward Cut** - The portion of the rewards the Indexer will keep for themselves.
- If an Indexer's reward cut is set to 100%, as a Delegator, you will get 0 indexing rewards.
idalithb marked this conversation as resolved.
Show resolved Hide resolved
- If it is set to 80% , as a Delegator, you will receive 20%.
idalithb marked this conversation as resolved.
Show resolved Hide resolved

<div sx={{ mx: 'auto', maxWidth: '700px' }}>
![Indexing Reward Cut](/img/Indexing-Reward-Cut.png) *The top Indexer is giving Delegators 90% of the rewards. The
middle one is giving Delegators 20%. The bottom one is giving Delegators ~83%.*
</div>

- Query Fee Cut - This works exactly like the Indexing Reward Cut. However, this applies explicitly to returns on the query fees the Indexer collects. It should be noted that at the start of the network, returns from query fees will be very small compared to the indexing reward. It is recommended that you pay attention to the network to determine when the query fees in the network will start to be more significant.
- **Query Fee Cut** - This is just like the Indexing Reward Cut, but it applies to returns on the query fees that the Indexer collects.

As you can see, in order to choose the right Indexer, you must consider multiple things.

As you can see, in order to choose the right Indexer, you must consider multiple things. This is why we highly recommend exploring [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently. Many of the Indexers are very active in Discord and will be happy to answer your questions. Many of them have been Indexing for months on the testnet, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network.
- It is highly recommend that you explore [The Graph Discord](https://discord.gg/graphprotocol) to determine which Indexers have the best social and technical reputations and which reward Delegators consistently.
idalithb marked this conversation as resolved.
Show resolved Hide resolved
- Many Indexers are very active in Discord and will be happy to answer your questions.
- Many of them have been Indexing for months, and they are doing their best to help Delegators earn a good return, as it improves the health and success of the network.

### Calculating Delegators expected return
## Calculating Delegators Expected Return

A Delegator must consider a lot of factors when determining the return. These include:
A Delegator must consider the following factors to determine a return:

- A technical Delegator can also look at the Indexer's ability to use the Delegated tokens available to them. If an Indexer is not allocating all the tokens available, they are not earning the maximum profit they could be for themselves or their Delegators.
- Right now, in the network an Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. So, it is possible that an Indexer might have a lot of rewards they still need to collect, and thus, their total rewards are low. This should be taken into consideration in the early days.
- Consider an Indexer's ability to use the Delegated tokens available to them.
- If an Indexer is not allocating all the tokens available, they are not earning the maximum profit they could be for themselves or their Delegators.
- Pay attention to the first few days of delegating.
- An Indexer can choose to close an allocation and collect rewards anytime between 1 and 28 days. It is possible that an Indexer might have a lot of rewards they still need to collect, so their total rewards are low.

### Considering the query fee cut and indexing fee cut

As described in the above sections, you should choose an Indexer that is transparent and honest about setting their Query Fee Cut and Indexing Fee Cuts. A Delegator should also look at the Parameters Cooldown time to see how much of a time buffer they have. After that is done, it is fairly simple to calculate the amount of rewards the Delegators are getting. The formula is:
You should choose an Indexer that is transparent and honest about setting their Query Fee and Indexing Fee Cuts. You should also look at the Parameters Cooldown time to see how much of a time buffer you have. After that is done, it is simple to calculate the amount of rewards you are getting.

The formula is:

![Delegation Image 3](/img/Delegation-Reward-Formula.png)

### Considering the Indexer's delegation pool

Another thing a Delegator has to consider is what proportion of the Delegation Pool they own. All delegation rewards are shared evenly, with a simple rebalancing of the pool determined by the amount the Delegator has deposited into the pool. This gives the Delegator a share of the pool:
Delegators should consider the proportion of the Delegation Pool they own.

![Share formula](/img/Share-Forumla.png)
All delegation rewards are shared evenly, with a pool rebalancing based on the amount the Delegator deposited into the pool.

Using this formula, we can see that it is possible for an Indexer offering only 20% to Delegators to actually provide a better reward than an Indexer giving 90%.
This gives the Delegator a share of the pool:

![Share formula](/img/Share-Forumla.png)

Therefore, a Delegator can do the math to determine that the Indexer offering 20% to Delegators is offering a better return.
> The formula above shows that it is possible for an Indexer offering only 20% to Delegators to provide a better reward than an Indexer giving 90%. Simply do the math to determine the best reward.

### Considering the delegation capacity

Another thing to consider is the delegation capacity. Currently, the Delegation Ratio is set to 16. This means that if an Indexer has staked 1,000,000 GRT, their Delegation Capacity is 16,000,000 GRT of Delegated tokens that they can use in the protocol. Any delegated tokens over this amount will dilute all the Delegator rewards.
Finally, consider the delegation capacity. Currently, the Delegation Ratio is set to 16.

Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, all the Delegators and the Indexer, are earning way less rewards than they could be.
#### Why does this matter?

This means that if an Indexer has staked 1,000,000 GRT, their Delegation Capacity is 16,000,000 GRT of Delegated tokens that they can use in the protocol. Any delegated tokens over this amount will dilute all the Delegator rewards.
idalithb marked this conversation as resolved.
Show resolved Hide resolved

Imagine an Indexer with 100,000,000 GRT delegated to them, but their capacity is only 16,000,000 GRT. This means effectively, 84,000,000 GRT tokens are not being used to earn tokens. So, both the Delegators and the Indexers are earning less rewards than they could be.

Therefore, a Delegator should always consider the Delegation Capacity of an Indexer, and factor it into their decision making.

## Delegator FAQs and Bugs

### MetaMask "Pending Transaction" Bug

**When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?**
1. When I try to delegate my transaction in MetaMask, it appears as "Pending" or "Queued" for longer than expected. What should I do?

At times, attempts to delegate to Indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts.

#### Example

At times, attempts to delegate to indexers via MetaMask can fail and result in prolonged periods of "Pending" or "Queued" transaction attempts.
Let's say you attempt to delegate with an insufficient gas fee relative to the current prices.

For example, a user may attempt to delegate with an insufficient gas fee relative to the current prices, resulting in the transaction attempt displaying as "Pending" in their MetaMask wallet for 15+ minutes. When this occurs, a user can attempt subsequent transactions, but these will only be processed until the initial transaction is mined, as transactions for an address must be processed in order. In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful.
- This action can cause the transaction attempt to display as "Pending" in your MetaMask wallet for 15+ minutes. When this happens, you can attempt subsequent transactions, but these will only be processed until the initial transaction is mined because transactions for an address must be processed in order.
- In such cases, these transactions can be cancelled in MetaMask, but the transactions attempts will accrue gas fees without any guarantee that subsequent attempts will be successful.

A simpler resolution to this bug is restarting the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate.
A simple resolution to this bug is to restart the browser (e.g., using "abort:restart" in the address bar), which will cancel all previous attempts without gas being subtracted from the wallet. Several users who have encountered this issue have reported successful transactions after restarting their browser and attempting to delegate.

## Video guide for the network UI
## Video Guide

This video guide fully reviews this document and explains how to consider everything in it while interacting with the UI.
This video guide reviews this page while interacting with the UI.

<VideoEmbed youtube="2G7S2gdURdc" />
Loading