Skip to main content

What Is the Difference between ‘Push’ and ‘Pull’ Oracle Models?

In a 'push' model, the oracle network proactively submits (pushes) data to the smart contract at pre-defined intervals or when a deviation threshold is met. In a 'pull' model, the smart contract requests (pulls) the data from the oracle only when it needs it, such as right before a liquidation or settlement.

The push model is generally more costly but ensures the data is always fresh; the pull model is cheaper but can be vulnerable to stale data.

What Is the Cost Associated with a “Request and Response” Transaction?
What Is the Difference between a ‘Push’ and a ‘Pull’ Oracle Model?
What Is the Security Trade-off between Pull and Push Oracle Designs?
What Is a “Request and Response” Data Flow Model in a DON?