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() | |