Transition period recommendation by Arbitration Council: TBD
| Contract | Parameter | Current protocol | Graph Horizon
(scratch testnet) | Graph Horizon
(mainnet) | Function call to update it | Comments |
| --- | --- | --- | --- | --- | --- | --- |
| HorizonStaking
| maxThawingPeriod
- maximum thawing period allowed for a provision, in seconds. | N/A | 2_419_200
(28 days) | 2_419_200
(28 days) | setMaxThawingPeriod()
| |
| GraphPayments
| PROTOCOL_PAYMENT_CUT
- protocol payment cut (burnt amount), in PPM. | 10_000
(1%) | 10_000
(1%) | 10_000
(1%) | Requires contract upgrade. | |
| PaymentsEscrow
| WITHDRAW_ESCROW_THAWING_PERIOD
- thawing period for escrowed funds withdrawal (payers), in seconds. | 2_592_000
(30 days) | 10_000
(~2h 46m) | 2_592_000
(30 days) | Requires contract upgrade. | Note that it’s expected to be 2 days more than POI lifecycle. |
| GraphTallyCollector
| REVOKE_AUTHORIZATION_THAWING_PERIOD
- thawing period for authorized signers revoke, in seconds. | 2_592_000
(30 days) | 10_000
(~2h 46m) | 2_592_000
(30 days) | Requires a new contract deployment. | |
| DisputeManager
| disputePeriod
- dispute period, in seconds. Establishes the thawing period for SubgraphService
provisions. | N/A
(thawing period 28 days) | 2_419_200
(28 days) | 2_419_200
(28 days) | setDisputePeriod()
| |
| DisputeManager
| disputeDeposit
- deposit required to create a dispute. | 10_000 | 10_000 | 10_000 | setDisputeDeposit()
| Long term it should match the cost for resolving a dispute. |
| DisputeManager
| fishermanRewardCut
- Percentage of indexer slashed funds to assign as reward, in PPM. | 500_000
(50%) | 500_000
(50%) | 500_000
(50%) | setFishermanRewardCut()
| |
| DisputeManager
| maxSlashingCut
- Maximum percentage of indexer provisioned stake that can be slashed at once, in PPM. | N/A
Fixed 2.5%. | 1_000_000
(100%) | 100_000
(10%) | | Can we have a better “formula” for the recommended slashing amount? |
| SubgraphService
| minimumProvisionTokens
- Minimum amount of tokens required to create a provision for the SubgraphService
. | 100_000 | 100_000 | 100_000 | setMinimumProvisionTokens()
| |
| SubgraphService
| maximumDelegationRatio
- Multiplier for how much delegation the service provider can effectively use. | 16 | 16 | 16 | setDelegationRatio()
| |
| SubgraphService
| stakeToFeesRatio
- Locked stake multiplier for query fee collection. | N/A | 2 | 10 | setStakeToFeesRatio()
| GIP-0051 suggests an average stake to query fee rebates for indexers of 1000 in 2022.
GIP-0068 Appendix A suggest an equivalent “stake to fees ratio” in the current protocol of ~200 as of January 2025 and ~150 as of Sept 2025.
Not apples to apples comparison, but there is a trend as total stake in the protocol goes down which the increase in query fee volume does not compensate for.
Considering this we think a stakeToFeesRatio=10
is a safe starting point being one order of magnitude smaller than the “current best estimate”. |
| SubgraphService
| maxPOIStaleness
- Maximum amount of time allowed between POIs to qualify for indexing rewards, in seconds. | 28 epochs
(28 days) | 2_419_200
(28 days) | 2_419_200
(28 days) | setMaxPOIStaleness()
| |
| SubgraphService
| curationFeesCut
- The cut curators take from query fee payments, in PPM. | 100_000
(10%) | 100_000
(10%) | 100_000
(10%) | setCurationCut()
| |