Allocation Closures in Detail
The Process of Distributing Rewards.
Indexers play a key role in the distribution of indexing rewards and query fees. Let’s have a look at how it all works!
Distribution of Indexing Rewards.
Indexing rewards in The Graph Network are generated by protocol inflation which is set to 3% annual issuance. The distribution of indexing rewards is carried out proportional to a subgraph’s curation signal. Similarly, the indexing rewards of Indexers are proportional to the stake allocated on a particular subgraph.
Distribution requirement #1
Allocation Closure.
In order to collect and distribute indexing rewards, the allocation of an Indexer needs to be closed. If an Indexer does not force close an allocation manually, it will be closed automatically after the maximum allocation lifetime, which is set to 28 epochs (1 epoch = ~ 24 hours). While an allocation is active, it will keep accruing rewards.
Distribution requirement #2
Proof of Indexing (POI).
The allocation of an Indexer needs to be closed with a valid proof of indexing (POI) that meets the standards defined by the arbitration charter. Submitting a POI for the first block of the current epoch is a requirement for the successful closure of an allocation – without which Indexers are not eligible for rewards. Consequently, indexing rewards are not distributed without POI.
The so-called proof of indexing (POI) serves as a verification that an Indexer has factually indexed the subgraphs they allocated their stake on. The POI for a block is a digest that details deployment on a subgraph for all entity store transactions.
Pending Indexer Rewards .
Pending Indexer rewards are indexing rewards that are not yet collected by an allocation closure. An Indexer’s pending rewards can be monitored via the analytics dashboards at stake-machine.com or oracleminer.com.
The pending rewards of an Indexer can also be queried manually by using the mainnet subgraph provided bon the official explorer by The Graph. Simply insert the Indexer address into the following query and you will receive the IDs for all active allocations:
Once you have queried the allocation IDs, switch to the Rewards Contract on Etherscan to call getRewards():
Distribution of Query Fee Rebates .
Each individual subgraph has a query fee rebate pool in which query fees accumulate. The Graph Protocol’s gateway collects query fees whenever an allocation is closed – either automatically after the maximum allocation lifetime or manually by the Indexer.
After the dispute period that follows an allocation closure has passed, Indexers can claim query fees. Query fees that are successfully claimed are distributed to the Indexer and their Delegators.