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 a “Request and Response” Data Flow Model in a DON?
How Does a “Data-Request” Contract Interact with a Decentralized Oracle Network?
Can a User Be Penalized for Submitting a ‘Commitment’ but Failing to Submit the ‘Reveal’?
How Can a Trader Avoid Liquidation Proactively?
How Does the ‘Expiration Time’ of a Binary Option Relate to the Oracle’s Data Submission?
For Which Type of Financial Derivative Is a “Push” Model Absolutely Essential?
What Is the Difference between a “Pull” and “Push” Oracle Model in Data Delivery?
How Does This Model Differ from a “Publisher-Subscriber” Model?

Glossar