Skip to content

Commit

Permalink
Add improved tokenomics
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesbayly committed Jan 4, 2024
1 parent 8c1b082 commit 30ecdd5
Show file tree
Hide file tree
Showing 13 changed files with 60 additions and 35 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/.vuepress/sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,7 @@ export const getSidebar = (locale: string) =>
],
},
{
text: "Node Operators",
text: "Node Operators / Indexers",
link: `${locale}/subquery_network/node_operators/introduction.md`,
collapsible: true,
children: [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!-- @include: ./multi-chain-quickstart-reference.md -->

If you are new to SubQuery, we recommend starting your learning journey with single-chain examples, such as the [Osmosis](../quickstart_chains/cosmos-osmosis.md).
If you are new to SubQuery, we recommend starting your learning journey with single-chain examples, such as the [Osmosis](../../quickstart_chains/cosmos-osmosis.md) example.
:::
6 changes: 3 additions & 3 deletions docs/subquery_network/architects/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## What is an Architect?

An Architect is a SubQuery network participant who creates SubQuery projects for Indexers to index.
An Architect is a SubQuery network participant who creates SubQuery indexing projects for Indexers to index.

## Requirements to become an Architect

Expand All @@ -17,8 +17,8 @@ Architects may be dApp developers, data analytics experts, or someone with a sol

## How Architects are rewarded?

Architects can sell their services for creating SubQuery projects. Here, Architects can determine what SubQuery projects the Consumer market demands and build projects specifically for these Consumers. Alternatively, Architects can also index their own projects, and thus also become an Indexer and gain rewards from serving query data to Consumers.
Architects can sell their services for creating SubQuery projects. Here, Architects can determine what SubQuery projects the Consumer market demands and build projects specifically for these Consumers. Commonly, Architects might also index their own projects, and thus also become an Indexer and gain rewards from serving valuable query data to Consumers.

## Next steps

You can already become an architect today, all you need to do is learn how to build a SubQuery project. View the quick start guide [here](../../quickstart/quickstart.md) to get started!
You can already become an architect today, all you need to do is learn how to build a SubQuery project. View the [quick start guide here](../../quickstart/quickstart.md) to get started!
6 changes: 3 additions & 3 deletions docs/subquery_network/consumers/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

## As a Consumer, can I select 1 Indexer or multiple Indexers?

Unless a Closed Service Agreement is being used, there will be one or more Indexers indexing a SubQuery project. Consumers have the choice when deciding which Indexer to read data from. Typically Consumers would select the most reliable and lowest latency Indexer. Consumers could also incorporate automatic failover and read data from another Indexer if the first one times out or is not responsive.
Depending on demand, there will often be multiple Indexers indexing an given SubQuery project and multiple RPC providers for each network. Consumers have the choice when deciding which Node Operator to make agreements with. Typically Consumers would select Node Operators from a combination of cost, reliability, and latency. Consumers could also incorporate automatic failover and read data from another Node Operator if the first one times out or is not responsive.

## What happens if a Data Indexer or an RPC Provider goes offline?
## What happens if a Node Operator goes offline?

Unless a Closed Service Agreement is being used, and if there is more than one Data Indexer/RPC provider serving your SubQuery project, it would simply be a matter of switching to another Indexer. The ideal scenario would be include strategies like alert monitoring to be notified of potential issues and intelligent routing and caching.
Unless a Closed Service Agreement is being used, and if there is more than one Data Indexer/RPC provider serving your SubQuery project, it would simply be a matter of switching to another Node Operator. The ideal scenario would be include strategies like alert monitoring to be notified of potential issues and intelligent routing and caching.
13 changes: 7 additions & 6 deletions docs/subquery_network/consumers/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

:::info

The SubQuery Kepler Network does not yet have the consumer role. Consumers will launch with the SubQuery Mainnet.
The SubQuery Kepler Network does not yet have the Consumer role. Consumers will launch with the SubQuery Mainnet.

:::

## What is a Consumer?

A Consumer is a participant in the SubQuery network and is either an individual or organisation that pays for processed and organised blockchain data from the SubQuery Network. Consumers effectively make requests to the SubQuery Network for specific data or the ability to submit transactions to RPC providers and pay an agreed amount of SQT in return.
A Consumer is a participant in the SubQuery Network and is either an individual or organisation that pays for processed and organised blockchain data and/or RPC queries from the SubQuery Network. Consumers effectively make requests to the SubQuery Network for specific data or the ability to submit transactions to RPC providers and pay an agreed amount of SQT in return.

Consumers are typically dApp (decentralised application) developers, data analytic companies, blockchain networks, middleware developers, or even web aggregating companies that need access to blockchain data or performant RPCs to provide services to their end-users.

Expand All @@ -20,12 +20,13 @@ There are no requirements as such to become a SubQuery Consumer. However, Consum

As a Consumer, you can interact with performant RPCs or receive indexed data from the Network for your dApps. Other benefits include:

- Easy access to blockchain data. There is no need to learn about the intricacies of a blockchain. Just get access to the exact data you need to run your applications.
- Focus on developing your appplication, not on time consuming blockchain integration.
- Faster performance for your dApps. Since your dApps an get data from a decentralised network of Node Operators (RPCs or data indexers), the average latency will be lower and performance higher
- Higher reliability. Due to the decentralised nature of the network, your dApp can immediately fall back to an alternative when an RPC provider goes offline.
- Focus on developing your appplication, not on running blockchain infrastructure.
- Cost effective. Combining the two points from above, consuming data from SubQuery results in a very cost effective way to power your applications.

## Costs to being a Consumer

The cost of submitting or querying data on the blockchain will be based on supply and demand and will be comparable to other similar centralised and decentralised services currently available. The advantage of an open and transparent network and ecosystem is that competition is encouraged to provide the best service to the Consumer.
The cost of making RPC calls or querying indexed data on the network will be based on supply and demand and ideally will be lower than other similar centralised and decentralised services currently available. The advantage of an open and transparent network and ecosystem is that competition is encouraged to provide the best service to the Consumer.

For flexibility, Consumers have 3 payment options to pay for blockchain data, you can read more about these, how they work, and the advantages/disadvantages on the [Payment Methods article](../design/payment-methods.md).
For flexibility, Consumers have multiple payment options to pay for blockchain data and RPC queries, you can read more about these, how they work, and the advantages/disadvantages on the [Payment Methods article](../design/payment-methods.md).
12 changes: 9 additions & 3 deletions docs/subquery_network/delegators/delegating.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
# Delegating to an Indexer
# Delegating to a Node Operator

:::info Kepler

In Kepler, you can only delegate to Indexers. When mainnet launches we will rename this section to Node Operators

:::

## How to delegate to an Indexer

After you have [selected what indexer to delegate to](./rewards.md#how-to-select-what-indexers-to-delegate-to), to delegate to an Indexer of your choice, navigate to `Delegator` -> `Indexers`(on the left sidebar). Then select `Delegate` in the last column next to your desired Indexer.
After you have [selected what indexer to delegate to](./rewards.md#how-to-select-what-node-operators-to-delegate-to), to delegate to an Indexer of your choice, navigate to `Delegator` -> `Indexers`(on the left sidebar). Then select `Delegate` in the last column next to your desired Indexer.

![Delegate Indexer List](/assets/img/network/delegate_indexers.png)

Select your source for the delegation (it can be your wallet, or from an existing delegation amoutn) and enter an amount. Click on `Delegate`. You will be asked to confirm your transaction with Metamask. Please wait for a while after confirming the transaction.
Select your source for the delegation (it can be your wallet, or from an existing delegation amount) and enter an amount. Click on `Delegate`. You will be asked to confirm your transaction with Metamask. Please wait for a while after confirming the transaction.

![Delegate to an Indexer part 2](/assets/img/network/delegate_action.png)

Expand Down
12 changes: 5 additions & 7 deletions docs/subquery_network/delegators/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

A Delegator is a non-technical network role in the SubQuery Network and is a great way to start participating in the SubQuery Network. This role enables Delegators to “delegate” their SQT to one or more Node Operator (RPC Providers or Data Indexers) and earn rewards (similar to staking).

Without Delegators, Node Operators would likely earn fewer rewards because they will have less SQT to allocate. Therefore, Node Operators compete to attract Delegators by offering a competitive share of an Node Operator's rewards.
Without Delegators, Node Operators would likely earn fewer rewards because they will have less SQT to stake. Therefore, Node Operators compete to attract Delegators by offering a competitive share of an Node Operator's rewards.

## Requirements to be a Delegator

Expand All @@ -14,17 +14,15 @@ One of the best things about being a Delegator is that you don’t need any devo

There are several benefits of becoming a Delegator:

- It's easy to get started and requires little technical knowledge, Delegators only need to acquire SQT tokens and then learn the process of delegating the tokens to their preferred Node Operator(s).
- Delegating contribute to the network and to Node Operators. In return, Delegators are rewarded with SQT.
- Delegators earn rewards by putting their SQT to work by delegating their SQT to Node Operators and earning a share of the reward pool.
- It's easy to get started and requires little technical knowledge, Delegators only need to acquire SQT tokens and then [learn the process of delegating the tokens to their preferred Node Operator(s)](./delegating.md).
- Delegating contribute to the network by putting their SQT to work by delegating their SQT to Node Operators. In return, Delegators are [rewarded with SQT](./rewards.md) (a share of the reward pool).
- There is no minimum required delegation to be a Delegator. This means that anyone can join no matter how much SQT one has.

## Risks of being a Delegator

Even though it is not considered a risky role, being a Delegator includes a few risks to be aware of.

1. Market volatility risk: The constant fluctuations in the market is a risk that affects not just SQT, but all tokens in the general cryptocurrency marketplace. Taking a long term approach can reduce this type of risk.
2. Constant adjustments of staking parameters by Node Operators and delegation fees can increase the risk to a Delegator. For example, a Delegator might miss a change in staking parameters resulting in a less than expected return. To reduce this risk, when Node Operators decrease their stake parameters, it will only take effect after the next full Era has been completed, giving time for delegators to assess and make any changes.
3. Node Operator poor performance: It is possible that Delegators can select Node Operators that perform poorly and therefore provide a substandard return on investment to Delegators. Delegators are therefore encouraged to do Node Operator due diligence on potential Node Operators. A Reputation Index is also available to help Delegators compare Node Operators to each other.
1. Constant adjustments of staking parameters by Node Operators and delegation fees can increase the risk to a Delegator. For example, a Delegator might miss a change in staking parameters resulting in a less than expected return. To reduce this risk, when Node Operators decrease their stake parameters, it will only take effect after the next full Era has been completed, giving time for delegators to assess and make any changes.
2. Node Operator poor performance: It is possible that Delegators can select Node Operators that perform poorly and therefore provide a substandard return on investment to Delegators. Delegators are therefore encouraged to do Node Operator due diligence on potential Node Operators. A Reputation Index is also available to help Delegators compare Node Operators to each other.

Once a preferred Node Operator(s) is found, due diligence should be performed to check an Node Operator’s reputation and reliability. Assessments could be performed to evaluate if the Node Operator is active in the community, if the Node Operator helps other members, if it is possible to get in touch with the Node Operator, and if the Node Operator is up-to-date with protocol and project updates. The aforementioned Reputation Index can also serve as a primary selection indicator.
10 changes: 6 additions & 4 deletions docs/subquery_network/delegators/rewards.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,18 @@ To attract Delegators to support their work, Node Operators (Data Indexers or RP

:::info Node Operator Commission Rate (NOCR)

_Node Operator's Commission Rate (ICR)_: This is a percentage share of the rewards received by Node Operators from serving requests to Consumers. After deducting the ICR from total rewards, the remaining rewards will be shared within the total delegation/staking pool proportionally to the individual delegated/staked value in the pool.
_Node Operator's Commission Rate (NOCR)_: This is a percentage share of the rewards received by Node Operators from serving requests to Consumers. After deducting the NOCR from total rewards, the remaining rewards will be shared within the total delegation/staking pool proportionally to the individual delegated/staked value in the pool.

Node Operators are free to set this rate to any value they desire. A higher NOCR indicates that Node Operators keep more of the rewards. A lower ICR indicates that the Node Operators share more of their rewards with their Delegators.
Node Operators are free to set this rate to any value they desire. A higher NOCR indicates that Node Operators keep more of the rewards. A lower NOCR indicates that the Node Operators share more of their rewards with their Delegators.

:::

Delegators will only receive revenue for staking Eras that they were a part of for the entire period. For example, if they join a staking Era in the middle of the relevant period, then they will not earn any Query Fee revenue for that particular Era.

If an Node Operator wishes to increase the Node Operator Commission Rate that they offer to their Delegators, they must advertise this for an entire staking Era. The Node Operator will be able to decrease their Node Operator Commission Rate at any point to raise more delegated SQT for staking in the short term. Delegators can withdraw or undelegate their staked amount at any time, but they will forfeit any rewards earned within the staking Era (as they were not part of the delegation pool for the entire duration of the staking Era).

![Token economic flow](/assets/img/network/token_economy.png)

## How to select what Node Operators to delegate to

You need to assess a few things when deciding on what Node Operator to choose.
Expand All @@ -32,9 +34,9 @@ For Data Indexers, we've made it easier for you to see other data about all Data

Besides the period when Delegators can effectively earn money, a non-reward period also occurs. Delegators receive rewards for staking Eras that they were a part of for the entire duration. For example, if a Delegator joins a staking era halfway through, they will not earn any rewards for that particular era.

Delegators can change the Node Operator that their SQT is delegated to (called redelegating), this change will be queued to happen automatically at the end of the Era and no thawing period will occur.
Delegators can change the Node Operator that their SQT is delegated to (called redelegating), this change will be queued to happen automatically at the end of the Era and no lock period will occur.

If a Delegator decides to undelegate their SQT, a 28 day thawing period starts. The tokens cannot be used during this period, no fees can be accrued or any reward gained.
If a Delegator decides to undelegate their SQT, a 28 day lock period starts. The tokens cannot be used during this period, no fees can be accrued, and no rewards will be gained.

## Delegation Lifecycle

Expand Down
Loading

0 comments on commit 30ecdd5

Please sign in to comment.