SIP - Keeper Function: Requesting / pulling next price update from Chainlink Oracles

When Next Price Fullfilment for fee reclamation is introduced in SIP-52, it would be possible to have a hybrid price oracle model for Synthetix where Chainlink oracles continue pushing price updates based on 0.5% / 1.0% price deviation metrics and also support a pull mechanism where a keeper requests for a price to be updated (and is paying for the gas costs / LINK tokens).

This would allow price updates to be less than 0.5% / 1.0% for Synthetix exchanges and futures that require faster updates and less slippage when there is a large notional value of settlements / exchanges that are waiting for the next price update, keepers can request an update from the Chainlink oracles.

For example, if there is a $1m exchange into sXAU trade that is waiting for settlement (next price update), rather than waiting for the next Chainlink price update when a 1.0% deviation is detected, the keeper could request for a price update earlier.

The current Chainlink oracles work on a 0.5% / 1.0% deviation due to practical limitations such as block time, gas costs of multiple nodes publishing prices on chain and the cost of LINK required to pay for smaller deviations. Covering the costs of pulling a next price update on chain would allow for a quicker price updates. The price update can also be consumed by other consumers of the Chainlink oracles as per normal update.

Configurable Values (Via SCCP)

gas: currency/eth rate : 235.00 usd/eth

Action Est Gas Cost Gas Price $USD Cost $USD Reward
3. Requesting next price update from Chainlink TBA - LINK 35 gwei/gas N/A N/A
2 Likes

You know jackson, I was thinking long time ago about this, And I thought that having on demand oracle updates is simply not possible… but well here you go… Simply love this.

1 Like