# Oracle

## The "pull model" of Oracle

Deri Protocol adopts the pull model of Oracle. The pull model is a new approach to price oracles that eliminates transaction costs paid by the oracle and data providers, which enables it to scale in ways that traditional push oracles cannot. In a pull model, the oracle does not push data to the blockchain, but instead waits for the blockchain to request data. This reduces the amount of data that needs to be pushed to the blockchain, which in turn reduces the transaction costs. Deri Protocol uses a pull model for its oracles, which allows users to pull prices on-chain only when they are needed. This new oracle design improves on existing oracles by eliminating transaction costs paid by the oracle and data providers, which enables it to scale in ways that traditional push oracles cannot. Another advantage of the pull model is that the price is updated when used, which avoids the transaction-front-run issue of push-model oracles.

Deri Protocol employs [Oraclum](https://oraclum.io/) and [Pyth](https://pyth.network/) oracles to guarantee precision and stability in pricing for derivatives trading. The primary aim of this approach is to safeguard against front-running, ensuring a fair and reliable trading environment.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.deri.io/how-it-works/oracle.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
